public class Diff2 extends Diff
Zero-width rectangles can be packed anywhere.
Modifier and Type | Field and Description |
---|---|
int[] |
exclusiveList
It specifies a list of pairs of rectangles which can overlap.
|
dimIthMinComparator, rectangles, trace
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope
queueIndex
Constructor and Description |
---|
Diff2(IntVar[][] rectangles)
It creates a diff2 constraint.
|
Diff2(IntVar[][] rectangles,
boolean profile)
It creates a diff2 constraint.
|
Diff2(IntVar[][] rect,
List<List<Integer>> exclusive)
Conditional Diff2.
|
Diff2(IntVar[] origin1,
IntVar[] origin2,
IntVar[] length1,
IntVar[] length2)
It creates a diff2 constraint.
|
Diff2(IntVar[] o1,
IntVar[] o2,
IntVar[] l1,
IntVar[] l2,
boolean profile)
It creates a diff2 constraint.
|
Diff2(List<? extends IntVar> o1,
List<? extends IntVar> o2,
List<? extends IntVar> l1,
List<? extends IntVar> l2)
It creates a diff2 constraint.
|
Diff2(List<? extends List<? extends IntVar>> rectangles)
It creates a diff2 constraint.
|
Diff2(List<? extends List<? extends IntVar>> rectangles,
boolean profile)
It creates a diff2 constraint.
|
Diff2(List<IntVar> o1,
List<IntVar> o2,
List<IntVar> l1,
List<IntVar> l2,
boolean profile)
It creates a diff2 constraint.
|
Diff2(List<List<IntVar>> rectangles,
List<List<Integer>> exclusiveList)
Conditional Diff2.
|
Diff2(Rectangle[] rectangles,
int[] exclusiveList,
boolean doProfile)
Conditional Diff2.
|
Modifier and Type | Method and Description |
---|---|
void |
impose(Store store)
It imposes the constraint in a given store.
|
boolean |
satisfied()
It checks if the constraint is satisfied.
|
String |
toString()
It produces a string representation of a constraint state.
|
consistency, getDefaultConsistencyPruningEvent, queueVariable, removeLevel
afc, arguments, cleanAfterFailure, decompose, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, imposeDecomposition, increaseWeight, intArrayToString, long2int, numberArgs, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, updateAFC, watchedVariableGrounded
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isStateful
public int[] exclusiveList
public Diff2(Rectangle[] rectangles, int[] exclusiveList, boolean doProfile)
rectangles
- a list of rectangles.exclusiveList
- a list denoting the pair of rectangles, which can overlapdoProfile
- should profile be computed and used.public Diff2(List<IntVar> o1, List<IntVar> o2, List<IntVar> l1, List<IntVar> l2, boolean profile)
o1
- list of variables denoting the origin in the first dimension.o2
- list of variables denoting the origin in the second dimension.l1
- list of variables denoting the length in the first dimension.l2
- list of variables denoting the length in the second dimension.profile
- specifies if the profile should be computed.public Diff2(List<? extends List<? extends IntVar>> rectangles)
rectangles
- list of rectangles with origins and lengths in both dimensions.public Diff2(List<? extends List<? extends IntVar>> rectangles, boolean profile)
rectangles
- list of rectangles with origins and lengths in both dimensions.profile
- specifies if the profile is computed and used.public Diff2(List<? extends IntVar> o1, List<? extends IntVar> o2, List<? extends IntVar> l1, List<? extends IntVar> l2)
o1
- list of variables denoting the origin in the first dimension.o2
- list of variables denoting the origin in the second dimension.l1
- list of variables denoting the length in the first dimension.l2
- list of variables denoting the length in the second dimension.public Diff2(IntVar[] origin1, IntVar[] origin2, IntVar[] length1, IntVar[] length2)
origin1
- list of variables denoting the origin in the first dimension.origin2
- list of variables denoting the origin in the second dimension.length1
- list of variables denoting the length in the first dimension.length2
- list of variables denoting the length in the second dimension.public Diff2(IntVar[] o1, IntVar[] o2, IntVar[] l1, IntVar[] l2, boolean profile)
o1
- list of variables denoting the origin in the first dimension.o2
- list of variables denoting the origin in the second dimension.l1
- list of variables denoting the length in the first dimension.l2
- list of variables denoting the length in the second dimension.profile
- specifies if the profile should be computed.public Diff2(IntVar[][] rectangles)
rectangles
- list of rectangles with origins and lengths in both dimensions.public Diff2(IntVar[][] rectangles, boolean profile)
rectangles
- list of rectangles with origins and lengths in both dimensions.profile
- specifies if the profile is computed and used.public Diff2(List<List<IntVar>> rectangles, List<List<Integer>> exclusiveList)
rectangles
- - list of rectangles, each rectangle represented by a list of variables.exclusiveList
- - list of rectangles pairs which can overlap.public Diff2(IntVar[][] rect, List<List<Integer>> exclusive)
rect
- - list of rectangles, each rectangle represented by a list of variables.exclusive
- - list of rectangles pairs which can overlap.public void impose(Store store)
Constraint
impose
in class Constraint
store
- the constraint store to which the constraint is imposed to.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
satisfied
in class Diff
public String toString()
Constraint
Copyright © 2022. All rights reserved.