Ignore:
Timestamp:
01/22/14 15:46:30 (11 years ago)
Author:
rkrimmel
Message:

Implemented new algorithm for distance calculation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-plugin-alignment/src/main/java/de/ugoe/cs/autoquest/plugin/alignment/substitution/ObjectDistanceSubstitionMatrix.java

    r1324 r1331  
    11package de.ugoe.cs.autoquest.plugin.alignment.substitution; 
    22 
     3import java.util.ArrayList; 
    34import java.util.Collection; 
     5import java.util.Iterator; 
     6 
     7import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel; 
     8import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement; 
     9 
    410import java.util.List; 
    511 
     12import misc.AlignmentHelpers; 
    613import de.ugoe.cs.autoquest.eventcore.Event; 
     14import de.ugoe.cs.util.console.GlobalDataContainer; 
    715 
    816public class ObjectDistanceSubstitionMatrix implements SubstitutionMatrix { 
    917 
     18        private ArrayList<int[][]> matrix; 
     19        private int currentSequence; 
     20         
     21         
     22        public ObjectDistanceSubstitionMatrix() { 
     23                currentSequence = 0; 
     24                matrix = new ArrayList<int[][]>(); 
     25        } 
     26         
    1027        @Override 
    1128        public String info() { 
     
    1734        public double getDistance(int pos1, int pos2) { 
    1835                // TODO Auto-generated method stub 
    19                 return 0; 
     36                 
     37                return matrix.get(currentSequence)[pos1][pos2]; 
    2038        } 
    2139 
     
    2846        @Override 
    2947        public void generate(Collection<List<Event>> eventList) { 
    30                 // TODO Auto-generated method stub 
     48                GUIModel guimodel = (GUIModel) GlobalDataContainer.getInstance().getData("sequences_targets"); 
     49                guimodel.condenseModel(); 
    3150                 
     51                for(Iterator<List<Event>> seqs = eventList.iterator(); seqs.hasNext();) { 
     52                        matrix.add(new int[eventList.size()][eventList.size()]); 
     53                        List<Event> tmpList = seqs.next(); 
     54                         
     55                        for (int i=0; i < tmpList.size(); i++) { 
     56                                for (int j=0; j < tmpList.size(); j++) { 
     57                                        IGUIElement first = (IGUIElement) tmpList.get(i).getTarget(); 
     58                                        IGUIElement second =(IGUIElement) tmpList.get(j).getTarget(); 
     59                                        matrix.get(currentSequence)[i][j] = AlignmentHelpers.distanceBetween(first, second); 
     60                                } 
     61                        }                        
     62                } 
    3263        } 
    33  
    3464} 
Note: See TracChangeset for help on using the changeset viewer.