return consistent();
}
public TimeStampedPlan getTimes()
{
TimeStampedPlan plan = new TimeStampedPlan();
Iterator ait = Timepoints.iterator();
while (ait.hasNext())
{
InstantAction a = (InstantAction) ait.next();;
if (a instanceof StartInstantAction)
{
DurativeAction da = ((StartInstantAction)a).parent;
BigDecimal time = TheArray[Timepoints.indexOf(a)][0].negate().setScale(SCALE,ROUND);
BigDecimal dur = TheArray[Timepoints.indexOf(da.endAction)][0].negate().subtract(time).setScale(SCALE,ROUND);
plan.addAction(da, time, dur);
}
else if (a instanceof STRIPSInstantAction && a != START)
{
BigDecimal time = TheArray[Timepoints.indexOf(a)][0].negate().setScale(SCALE,ROUND);
plan.addAction(a, time);
}
}
return plan;
}