de.unima.alcomox.algorithms
Class LockMarker

java.lang.Object
  extended by de.unima.alcomox.algorithms.LockMarker
All Implemented Interfaces:
java.lang.Comparable<LockMarker>, java.lang.Iterable<Coord>

public class LockMarker
extends java.lang.Object
implements java.lang.Comparable<LockMarker>, java.lang.Iterable<Coord>

A lock marker is an array of flags that inform wether or not a correspondence of a mapping is active or not. It is used for fast performance of hungarian algorithms.


Constructor Summary
LockMarker()
          Constructs an empty list of locks as lock-marker.
 
Method Summary
 int compareTo(LockMarker that)
           
 boolean containsLock(Coord lock)
           
 boolean equals(java.lang.Object object)
           
 LockMarker getChild(Coord lock)
          Constructs a child of this lock marker, where an additional lock has been added.
 java.util.List<Coord> getLocks()
           
 double getScore()
           
 int hashCode()
           
 java.util.Iterator<Coord> iterator()
           
 void setScore(double score)
           
 int size()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LockMarker

public LockMarker()
Constructs an empty list of locks as lock-marker. Normally the root in hungarian search.

Method Detail

getChild

public LockMarker getChild(Coord lock)
Constructs a child of this lock marker, where an additional lock has been added.

Parameters:
lock - The additional lock.

getLocks

public java.util.List<Coord> getLocks()

size

public int size()
Returns:
The size (number of locks) of this lock marker.

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

containsLock

public boolean containsLock(Coord lock)

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

compareTo

public int compareTo(LockMarker that)
Specified by:
compareTo in interface java.lang.Comparable<LockMarker>

iterator

public java.util.Iterator<Coord> iterator()
Specified by:
iterator in interface java.lang.Iterable<Coord>

setScore

public void setScore(double score)

getScore

public double getScore()