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)
InternalConstraint
AbsInfeasible
in class InternalConstraint
minlex
- defines whether the maximal or minimal point should be returnedpublic int cardInfeasible()
InternalConstraint
cardInfeasible
in class InternalConstraint
public Collection<Var> definingVariables()
InternalConstraint
definingVariables
in class InternalConstraint
protected 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)
InternalConstraint
isFeasible
in class InternalConstraint
min
- 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()
InternalConstraint
isStatic
in class InternalConstraint
public boolean isSingleUse()
InternalConstraint
isSingleUse
in class InternalConstraint
Copyright © 2015. All rights reserved.