com.azalient.api.sim.agents
Interface IFreeMovingAlgorithm

All Known Subinterfaces:
IMotorCalibration, IPedestrianCalibration

public interface IFreeMovingAlgorithm

This is implemented by the logic that determines how an agent that is not following another should accelerate or change heading, given its distance to a "target" point, and its distance outside its current pathway.


Method Summary
 IAngle freeMovingDeltaHeading(IAgent a, double distanceOutsidePath)
          The "Steering" function - returns the change in heading angle given the current distance outside the current pathway.
 double freeMovingForwardAcceleration(IAgent agent, Double distanceToTarget, Double externalTargetSpeed, double timeInterval)
          Returns the acceleration applied at the next time interval for the given agent, given the distance to a target, and the optimum speed at that target
 IXyz freeMovingJink(IAgent agent, double distanceOutsidePath)
          An "adjustment" function which can "bump" the agent sideways if it has outside the boundaries of the current pathway
 

Method Detail

freeMovingForwardAcceleration

double freeMovingForwardAcceleration(IAgent agent,
                                     Double distanceToTarget,
                                     Double externalTargetSpeed,
                                     double timeInterval)
Returns the acceleration applied at the next time interval for the given agent, given the distance to a target, and the optimum speed at that target


freeMovingDeltaHeading

IAngle freeMovingDeltaHeading(IAgent a,
                              double distanceOutsidePath)
The "Steering" function - returns the change in heading angle given the current distance outside the current pathway.


freeMovingJink

IXyz freeMovingJink(IAgent agent,
                    double distanceOutsidePath)
An "adjustment" function which can "bump" the agent sideways if it has outside the boundaries of the current pathway