Class ControlFuncRotateAbout

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

public class ControlFuncRotateAbout
extends java.lang.Object
implements IControlFunc

Control function implementing "rotate about point"

Since:
1.0

Constructor Summary
ControlFuncRotateAbout()
           
ControlFuncRotateAbout(ControlFuncRotateAbout src)
           
ControlFuncRotateAbout(double[] arrPtTowards, 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[] getRotCenter()
          Use of getRotCenter is highly discouraged -- intend to deprecate
 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 setRotCenter(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

ControlFuncRotateAbout

public ControlFuncRotateAbout()

ControlFuncRotateAbout

public ControlFuncRotateAbout(ControlFuncRotateAbout src)

ControlFuncRotateAbout

public ControlFuncRotateAbout(double[] arrPtTowards,
                              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.


setRotCenter

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


getRotCenter

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


setVel

public void setVel(double lfVel)

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

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

directionConstantQ

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