public class Diff extends Constraint implements UsesQueueVariable, Stateful, SatisfiedPresent
Modifier and Type  Field and Description 

protected Function<Integer,Comparator<org.jacop.constraints.IntRectangle>> 
dimIthMinComparator 
Rectangle[] 
rectangles
It specifies the list of rectangles which are of interest for this diff constraint.

protected static boolean 
trace 
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope
queueIndex
Modifier  Constructor and Description 

protected 
Diff() 

Diff(IntVar[][] rectangles)
It specifies a diff constraint.


Diff(IntVar[][] rectangles,
boolean profile)
It specifies a diff constraint.


Diff(IntVar[] origin1,
IntVar[] origin2,
IntVar[] length1,
IntVar[] length2)
It constructs a diff constraint.


Diff(IntVar[] o1,
IntVar[] o2,
IntVar[] l1,
IntVar[] l2,
boolean profile)
It constructs a diff constraint.


Diff(List<? extends IntVar> o1,
List<? extends IntVar> o2,
List<? extends IntVar> l1,
List<? extends IntVar> l2)
It constructs a diff constraint.


Diff(List<? extends IntVar> o1,
List<? extends IntVar> o2,
List<? extends IntVar> l1,
List<? extends IntVar> l2,
boolean profile)
It constructs a diff constraint.


Diff(List<? extends List<? extends IntVar>> rectangles)
It specifies a diffn constraint.


Diff(List<? extends List<? extends IntVar>> rectangles,
boolean profile)
It specifies a diff constraint.


Diff(Rectangle[] rectangles,
boolean doProfile)
It specifies a diff constraint.

Modifier and Type  Method and Description 

void 
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the
values from variables domains.

int 
getDefaultConsistencyPruningEvent() 
void 
queueVariable(int level,
Var V)
This is a function called to indicate which variable in a scope of
constraint has changed.

void 
removeLevel(int level)
This function is called in case of the backtrack, so a constraint can
clear the queue of changed variables which is no longer valid.

boolean 
satisfied()
It checks if the constraint is satisfied.

String 
toString()
It produces a string representation of a constraint state.

arguments, cleanAfterFailure, decompose, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, impose, imposeDecomposition, increaseWeight, intArrayToString, numberArgs, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, watchedVariableGrounded
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isStateful
protected static final boolean trace
public Rectangle[] rectangles
protected Function<Integer,Comparator<org.jacop.constraints.IntRectangle>> dimIthMinComparator
protected Diff()
public Diff(Rectangle[] rectangles, boolean doProfile)
rectangles
 list of rectangles which can not overlap in at least one dimension.doProfile
 should the constraint compute and use the profile functionality.public Diff(IntVar[][] rectangles)
rectangles
 list of rectangles which can not overlap in at least one dimension.public Diff(IntVar[] o1, IntVar[] o2, IntVar[] l1, IntVar[] l2, boolean profile)
o1
 list of variables denoting origin of the rectangle in the first dimension.o2
 list of variables denoting origin of the rectangle in the second dimension.l1
 list of variables denoting length of the rectangle in the first dimension.l2
 list of variables denoting length of the rectangle in the second dimension.profile
 it specifies if the profile should be computed and used.public Diff(IntVar[] origin1, IntVar[] origin2, IntVar[] length1, IntVar[] length2)
origin1
 list of variables denoting origin of the rectangle in the first dimension.origin2
 list of variables denoting origin of the rectangle in the second dimension.length1
 list of variables denoting length of the rectangle in the first dimension.length2
 list of variables denoting length of the rectangle in the second dimension.public Diff(List<? extends List<? extends IntVar>> rectangles)
rectangles
 list of rectangles which can not overlap in at least one dimension.public Diff(List<? extends List<? extends IntVar>> rectangles, boolean profile)
profile
 specifies is the profiles are used.rectangles
 list of rectangles which can not overlap in at least one dimension.public Diff(List<? extends IntVar> o1, List<? extends IntVar> o2, List<? extends IntVar> l1, List<? extends IntVar> l2)
o1
 list of variables denoting origin of the rectangle in the first dimension.o2
 list of variables denoting origin of the rectangle in the second dimension.l1
 list of variables denoting length of the rectangle in the first dimension.l2
 list of variables denoting length of the rectangle in the second dimension.public Diff(List<? extends IntVar> o1, List<? extends IntVar> o2, List<? extends IntVar> l1, List<? extends IntVar> l2, boolean profile)
o1
 list of variables denoting origin of the rectangle in the first dimension.o2
 list of variables denoting origin of the rectangle in the second dimension.l1
 list of variables denoting length of the rectangle in the first dimension.l2
 list of variables denoting length of the rectangle in the second dimension.profile
 it specifies if the profile should be computed and used.public Diff(IntVar[][] rectangles, boolean profile)
profile
 specifies is the profiles are used.rectangles
 list of rectangles which can not overlap in at least one dimension.public void removeLevel(int level)
Stateful
removeLevel
in interface Stateful
level
 the level which is being removed.public void consistency(Store store)
Constraint
consistency
in class Constraint
store
 constraint store within which the constraint consistency is being checked.public int getDefaultConsistencyPruningEvent()
getDefaultConsistencyPruningEvent
in class Constraint
public void queueVariable(int level, Var V)
Constraint
queueVariable
in class Constraint
level
 the level of the store at which the change has occurred.V
 variable which has changed.public boolean satisfied()
SatisfiedPresent
Implementations of this interface for constraints that are not PrimitiveConstraint may require constraint imposition and consistency check as a requirement to work correctly.
satisfied
in interface SatisfiedPresent
public String toString()
Constraint
toString
in class Constraint
Copyright © 2018. All rights reserved.