choco.real.constraint
Class AbstractUnRealConstraint

java.lang.Object
  extended by choco.AbstractEntity
      extended by choco.AbstractConstraint
          extended by choco.real.constraint.AbstractUnRealConstraint
All Implemented Interfaces:
Constraint, Entity, VarEventListener, Propagator, RealConstraint, RealListener, java.lang.Cloneable, java.util.EventListener
Direct Known Subclasses:
AbstractPalmUnRealConstraint

public abstract class AbstractUnRealConstraint
extends AbstractConstraint
implements RealConstraint


Field Summary
protected  int cIdx0
          The index of this constraints w.r.t. the variable v0.
protected  RealVar v0
          The unique variable of the constraint.
 
Fields inherited from class choco.AbstractConstraint
active, constAwakeEvent, hook, priority
 
Fields inherited from class choco.AbstractEntity
problem
 
Constructor Summary
AbstractUnRealConstraint()
           
 
Method Summary
 int assignIndices(AbstractCompositeConstraint root, int i, boolean dynamicAddition)
          performs the global numbering (wrt root) of the variables contained in the subtree this, starting from i
 int getConstraintIdx(int idx)
          Returns the index of this constraints in all constraints involving v0.
 int getNbVars()
          Returns the number of variables.
 RealVar getRealVar(int i)
          Returns the only one variable if i=0, null otherwise.
 int getRealVarNb()
          Returns the number of real variables.
 Var getVar(int i)
          Returns the only one variable v0 if i==0, null otherwise.
 boolean isCompletelyInstantiated()
          Checks if the only one variable of the constraint is instantiated.
 void setConstraintIndex(int i, int idx)
          Let v0 be the i-th var of c, records that c is the idx-th constraint involving v0.
 void setVar(int i, Var v)
          Network management: Setting (or overwriting) the ith variable of a constraint.
 
Methods inherited from class choco.AbstractConstraint
addListener, awake, awakeOnVar, clone, connectVar, constAwake, delete, fail, getEvent, getPlugIn, getPriority, getProblem, getVarIdxInOpposite, isActive, isEntailed, isEquivalentTo, opposite, setActive, setEntailed, setPassive, setPlugIn, substituteVar
 
Methods inherited from class choco.AbstractEntity
pretty
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface choco.Propagator
awake, awakeOnVar, constAwake, delete, getEvent, getPlugIn, getPriority, isConsistent, isEntailed, propagate
 
Methods inherited from interface choco.prop.VarEventListener
addListener, isActive, setActive, setPassive
 
Methods inherited from interface choco.real.constraint.RealListener
awakeOnInf, awakeOnSup
 
Methods inherited from interface choco.prop.VarEventListener
addListener, isActive, setActive, setPassive
 

Field Detail

v0

protected RealVar v0
The unique variable of the constraint.


cIdx0

protected int cIdx0
The index of this constraints w.r.t. the variable v0.

Constructor Detail

AbstractUnRealConstraint

public AbstractUnRealConstraint()
Method Detail

getRealVar

public RealVar getRealVar(int i)
Returns the only one variable if i=0, null otherwise.

Specified by:
getRealVar in interface RealConstraint

getRealVarNb

public int getRealVarNb()
Returns the number of real variables.

Specified by:
getRealVarNb in interface RealConstraint

setConstraintIndex

public void setConstraintIndex(int i,
                               int idx)
Let v0 be the i-th var of c, records that c is the idx-th constraint involving v0.

Specified by:
setConstraintIndex in interface Constraint
Specified by:
setConstraintIndex in interface RealListener
Parameters:
i - index of the variable in the constraint
idx - index of the constraint in the among all listeners linked to that variable

getConstraintIdx

public int getConstraintIdx(int idx)
Returns the index of this constraints in all constraints involving v0.

Specified by:
getConstraintIdx in interface Constraint
Specified by:
getConstraintIdx in interface RealListener
Parameters:
idx - index of the variable in the constraint

getNbVars

public int getNbVars()
Returns the number of variables.

Specified by:
getNbVars in interface Constraint

getVar

public Var getVar(int i)
Returns the only one variable v0 if i==0, null otherwise.

Specified by:
getVar in interface Constraint
Parameters:
i - index of the variable in the constraint

setVar

public void setVar(int i,
                   Var v)
Description copied from interface: Constraint
Network management: Setting (or overwriting) the ith variable of a constraint.

Specified by:
setVar in interface Constraint
Parameters:
i - index of the variable in the constraint
v - the variable (may be an IntDomainVar, SetVar, RealVar, ...

isCompletelyInstantiated

public boolean isCompletelyInstantiated()
Checks if the only one variable of the constraint is instantiated.

Specified by:
isCompletelyInstantiated in interface Propagator

assignIndices

public int assignIndices(AbstractCompositeConstraint root,
                         int i,
                         boolean dynamicAddition)
Description copied from interface: Propagator
performs the global numbering (wrt root) of the variables contained in the subtree this, starting from i

Specified by:
assignIndices in interface Propagator
Parameters:
root - the overall root constraint, for which the variables are numbered
i - the index that will assigned to the first variable in the subtree this (originally 0)
dynamicAddition - whether the addition is undone automatically on backtracking
Returns:
the index of the last variable in the subtree