public class ObstacleObjectFrame extends InternalConstraint
| Modifier and Type | Field and Description |
|---|---|
LinkedList<DBox> |
frame
the frame is the area that is ensured to be covered by the obstacle,
given the domain of its origin variables
|
| Constructor and Description |
|---|
ObstacleObjectFrame(Geost geost,
GeostObject obstacle,
int[] selectedDimensions)
It creates an internal constraint to enforce non-overlapping relation with this
obstacle object.
|
| Modifier and Type | Method and Description |
|---|---|
int[] |
AbsInfeasible(Geost.SweepDirection minlex)
It provides the largest or smallest point contained in the forbidden area represented by this
constraint.
|
int |
cardInfeasible()
It provides an approximation of the number of infeasible points enforced by this constraint only.
|
String |
checkInvariants()
It checks that this constraint has consistent data structures.
|
Collection<Var> |
definingVariables()
It provides a collection, possibly empty, of variables which define this constraint.
|
DBox |
isFeasible(Geost.SweepDirection min,
LexicographicalOrder order,
GeostObject o,
int currentShape,
int[] c)
It determines whether the given point is a feasible origin of object o, considering
this constraint only.
|
boolean |
isSingleUse()
In some cases, a constraint is used only once per sweep direction on a path
from root to leaf in the search tree.
|
boolean |
isStatic()
It provides information about the constraint future.
|
protected boolean |
timeOnlyCheck(Geost.SweepDirection min,
LexicographicalOrder order,
GeostObject o,
int currentShape,
int[] c) |
String |
toString() |
void |
updateFrame()
updates the frame given the current values of the object coordinate variables.
|
public LinkedList<DBox> frame
public ObstacleObjectFrame(Geost geost, GeostObject obstacle, int[] selectedDimensions)
geost - the geost constraint which this constraint is part of.obstacle - the obstacle object responsible for this internal constraint.selectedDimensions - the dimensions on which the constraint is appliedpublic String checkInvariants()
public void updateFrame()
public int[] AbsInfeasible(Geost.SweepDirection minlex)
InternalConstraintAbsInfeasible in class InternalConstraintminlex - defines whether the maximal or minimal point should be returnedpublic int cardInfeasible()
InternalConstraintcardInfeasible in class InternalConstraintpublic Collection<Var> definingVariables()
InternalConstraintdefiningVariables in class InternalConstraintprotected boolean timeOnlyCheck(Geost.SweepDirection min, LexicographicalOrder order, GeostObject o, int currentShape, int[] c)
public DBox isFeasible(Geost.SweepDirection min, LexicographicalOrder order, GeostObject o, int currentShape, int[] c)
InternalConstraintisFeasible in class InternalConstraintmin - the direction of the sweeporder - the order to be usedo - the object the constraint is applied tocurrentShape - the shape id that is currently considered for oc - the current position of the sweep.public boolean isStatic()
InternalConstraintisStatic in class InternalConstraintpublic boolean isSingleUse()
InternalConstraintisSingleUse in class InternalConstraintCopyright © 2016. All rights reserved.