com.azalient.api.b.control
Interface IControllerLogic


public interface IControllerLogic

A representation of a set of logic rules that controls an intersection. This can be used by ramp metering or timing playback, for example.


Method Summary
 double cancel(IPhase phase, int cycles)
          Phase was extended, but now extension should be terminated.
 IController controller()
           
 String controllerLogicName()
           
 int extend(IPhase phase, double extD, int cycles)
          Extend the given phase by the given extension, balancing this by reducing the same phase over given number of subsequent cycles.
 void reset(IPhase phase)
          Extension and re-balancing are finished.
 

Method Detail

controllerLogicName

String controllerLogicName()

controller

IController controller()

extend

int extend(IPhase phase,
           double extD,
           int cycles)
Extend the given phase by the given extension, balancing this by reducing the same phase over given number of subsequent cycles. Return the actual number of cycles used to balance. This might be used for extending a phase for a bus, and then rebalancing the time in the same phase over several cycles, instead of taking time out of a stretch phase


cancel

double cancel(IPhase phase,
              int cycles)
Phase was extended, but now extension should be terminated. Time gained should be added to given number of following cycles. The time gained is returned


reset

void reset(IPhase phase)
Extension and re-balancing are finished. Reset phase to default values