ix.iplan
Class TimePointNet

java.lang.Object
  extended by ix.iplan.TimePointNet
All Implemented Interfaces:
ConstraintManager

public class TimePointNet
extends java.lang.Object
implements ConstraintManager

Time-point Network.


Nested Class Summary
(package private) static class TimePointNet.Change
           
static class TimePointNet.TimeConstraint
          An internal representation of temporal "before" constraints.
 
Field Summary
protected  ContextMap knownPoints
           
protected  ContextInt numberOfPoints
           
protected  TimePoint timePointAtZero
           
 
Constructor Summary
TimePointNet()
          Constructs an empty time-point network.
 
Method Summary
 void addConstraint(PNode node, Constraint c)
           
 void addConstraints(java.util.List constraints)
           
 void addConstraints(PNode node, java.util.List constraints)
           
 boolean addTimeConstraint(TimePoint pre, TimePoint post, long min, long max)
           
 void addTimeConstraintElseFail(TimePoint pre, TimePoint post)
           
 TimePoint addTimePoint(long min, long max)
           
 TimePoint addTimePoint(TimePoint t)
           
 void clear()
           
(package private)  void constrainMax(TimePoint pre, TimePoint post, long len)
           
(package private)  void constrainMin(TimePoint pre, TimePoint post, long len)
           
protected  void deleteTimeConstraint(TimePointNet.TimeConstraint c)
          Removes the constraint from its pre- and post-points.
 void describeTPN(java.io.PrintStream out)
           
(package private)  boolean findMaxValues(java.util.List initialActivePoints)
           
(package private)  boolean findMinValues(java.util.List initialActivePoints)
           
protected  int getNumberOfPoints()
           
 void makeTimePointAtZero()
           
protected  boolean propagateAfterAdding(TimePointNet.TimeConstraint c)
           
(package private)  void undoTpnChanges(java.util.List changeHistory)
           
protected  boolean updateTimeWindows(java.util.List initialPoints)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

knownPoints

protected ContextMap knownPoints

numberOfPoints

protected ContextInt numberOfPoints

timePointAtZero

protected TimePoint timePointAtZero
Constructor Detail

TimePointNet

public TimePointNet()
Constructs an empty time-point network.

Method Detail

getNumberOfPoints

protected int getNumberOfPoints()

clear

public void clear()

addConstraints

public void addConstraints(java.util.List constraints)
Specified by:
addConstraints in interface ConstraintManager
Throws:
java.lang.UnsupportedOperationException - if called.

addConstraints

public void addConstraints(PNode node,
                           java.util.List constraints)
Specified by:
addConstraints in interface ConstraintManager
Throws:
java.lang.UnsupportedOperationException - if called.

addConstraint

public void addConstraint(PNode node,
                          Constraint c)

addTimePoint

public TimePoint addTimePoint(long min,
                              long max)

addTimePoint

public TimePoint addTimePoint(TimePoint t)

makeTimePointAtZero

public void makeTimePointAtZero()

addTimeConstraintElseFail

public void addTimeConstraintElseFail(TimePoint pre,
                                      TimePoint post)

addTimeConstraint

public boolean addTimeConstraint(TimePoint pre,
                                 TimePoint post,
                                 long min,
                                 long max)

deleteTimeConstraint

protected void deleteTimeConstraint(TimePointNet.TimeConstraint c)
Removes the constraint from its pre- and post-points.


describeTPN

public void describeTPN(java.io.PrintStream out)

propagateAfterAdding

protected boolean propagateAfterAdding(TimePointNet.TimeConstraint c)

updateTimeWindows

protected boolean updateTimeWindows(java.util.List initialPoints)

findMinValues

boolean findMinValues(java.util.List initialActivePoints)

constrainMin

void constrainMin(TimePoint pre,
                  TimePoint post,
                  long len)

undoTpnChanges

void undoTpnChanges(java.util.List changeHistory)

findMaxValues

boolean findMaxValues(java.util.List initialActivePoints)

constrainMax

void constrainMax(TimePoint pre,
                  TimePoint post,
                  long len)