Class ControlFuncMoveTowards

java.lang.Object
  extended by ControlFuncMoveTowards
All Implemented Interfaces:
IControlFunc

public class ControlFuncMoveTowards
extends java.lang.Object
implements IControlFunc

Control function implementing "move towards point"

Since:
1.0

Constructor Summary
ControlFuncMoveTowards()
           
ControlFuncMoveTowards(ControlFuncMoveTowards src)
           
ControlFuncMoveTowards(double[] arrPtTowards, double lfVel)
           
ControlFuncMoveTowards(double[] arrPtTowards, double lfVel, int nFlag)
           
ControlFuncMoveTowards(double lfXDst, double lfYDst, double lfVel)
           
 
Method Summary
 boolean directionConstantQ(double lfCurrTime, double[] arrLfStateSrc, ISensor sensors, IEnvironment env, ILogicVarBundle logicVars, int nIdxOffsetState)
           
 void getDerivs(double lfCurrTime, double[] arrLfStateSrc, ISensor sensors, IEnvironment env, ILogicVarBundle logicVars, double[] arrLfDerivDst, int nIdxOff)
           Updates arrLfDerivDst with the instantaneous derivatives of the continuous-time component of the agent's state given its current state and sensor readings
 double getEpsilon()
          gets "epsilon" (floating point values "epsilon" apart are considered to be equal) Meaningful to numerical simulation, but meaningless to underlying system being modelled.
 int getNumStateVars()
          returns dimensionality of the state vector corresponding to one agent
 double[] getTowards()
          Use of getTowards is highly discouraged -- intend to deprecate
 double getVel()
           
 IControlFunc makeCopy()
          clones this object (similar to "clone" supported by IClonable interface).
 void setEpsilon(double lfNewEpsilon)
          sets "epsilon" (floating point values "epsilon" apart are considered to be equal) Meaningful to numerical simulation, but meaningless to underlying system being modelled.
 void setTowards(double[] arrPtTowards)
          sets a new point to move towards, possibly re-assigning control function dimension (some care must be taken by programmer here)
 void setVel(double lfVel)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ControlFuncMoveTowards

public ControlFuncMoveTowards()

ControlFuncMoveTowards

public ControlFuncMoveTowards(ControlFuncMoveTowards src)

ControlFuncMoveTowards

public ControlFuncMoveTowards(double[] arrPtTowards,
                              double lfVel)

ControlFuncMoveTowards

public ControlFuncMoveTowards(double[] arrPtTowards,
                              double lfVel,
                              int nFlag)

ControlFuncMoveTowards

public ControlFuncMoveTowards(double lfXDst,
                              double lfYDst,
                              double lfVel)
Method Detail

setEpsilon

public void setEpsilon(double lfNewEpsilon)
sets "epsilon" (floating point values "epsilon" apart are considered to be equal) Meaningful to numerical simulation, but meaningless to underlying system being modelled.


getEpsilon

public double getEpsilon()
gets "epsilon" (floating point values "epsilon" apart are considered to be equal) Meaningful to numerical simulation, but meaningless to underlying system being modelled.


setTowards

public void setTowards(double[] arrPtTowards)
sets a new point to move towards, possibly re-assigning control function dimension (some care must be taken by programmer here)


getTowards

public double[] getTowards()
Use of getTowards is highly discouraged -- intend to deprecate


setVel

public void setVel(double lfVel)

getVel

public double getVel()

makeCopy

public IControlFunc makeCopy()
clones this object (similar to "clone" supported by IClonable interface).

Specified by:
makeCopy in interface IControlFunc

getDerivs

public void getDerivs(double lfCurrTime,
                      double[] arrLfStateSrc,
                      ISensor sensors,
                      IEnvironment env,
                      ILogicVarBundle logicVars,
                      double[] arrLfDerivDst,
                      int nIdxOff)

Updates arrLfDerivDst with the instantaneous derivatives of the continuous-time component of the agent's state given its current state and sensor readings

Specified by:
getDerivs in interface IControlFunc
Parameters:
lfCurrTime - current time (for time-varying systems)
arrLfStateSrc - vector of global state of the system
sensors - sensors
env - environment
logicVars - discrete components of agent internal state
arrLfDerivDst - Destination for storing derivative values.
nIdxOff - Offset index into the global state vector corresponding to the beginning of the parameters for this agent.
Since:
1.0

directionConstantQ

public boolean directionConstantQ(double lfCurrTime,
                                  double[] arrLfStateSrc,
                                  ISensor sensors,
                                  IEnvironment env,
                                  ILogicVarBundle logicVars,
                                  int nIdxOffsetState)
Specified by:
directionConstantQ in interface IControlFunc

getNumStateVars

public int getNumStateVars()
returns dimensionality of the state vector corresponding to one agent

Specified by:
getNumStateVars in interface IControlFunc
Returns:
dimensionality of the state vector corresponding to one agent