VR-Forces 4.2 Class Documentation
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes
DtSurfaceMovementPSR Class Reference
Inheritance diagram for DtSurfaceMovementPSR:
Inheritance graph
[legend]

Public Member Functions

 DtSurfaceMovementPSR (DtVrfObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 constructor
 DtSurfaceMovementPSR (const DtSurfaceMovementPSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 copy constructor
virtual ~DtSurfaceMovementPSR ()
 destructor
DtSurfaceMovementPSRoperator= (const DtSurfaceMovementPSR &orig)
 assignment operator
virtual
DtVrfProcessStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
 returns a newly created copy of this object
virtual DtString type () const
 Returns the string type of the repository, as defined in procSRTypes.h.
virtual void setRouteVertices (const DtLocalVectorIterator &routeIterator)
 Set/get route vertices (local coordinates).
virtual const DtLocalVertexListrouteVertices () const
virtual void emptyRouteVertices ()
 Empty route vertices.
virtual void setReverseFlag (bool flag)
 Set/get the reverse flag (reverse the direction of travel while.
virtual bool reverseFlag () const
virtual void setFirstWaypoint (const DtString &objectName)
 Set/get the first waypoint object name.
virtual const DtStringfirstWaypoint () const
virtual void setSecondWaypoint (const DtString &objectName)
 Set/get the second waypoint object name.
virtual const DtStringsecondWaypoint () const
virtual void setEntityToFollow (const DtString &objectName)
 Set/get the entity to follow object name.
virtual const DtStringentityToFollow () const
virtual void setFollowOffsetVector (const DtVector &offset)
 Set/get the entity follow offset (offset vector in body coordinates of the entity to follow, in meters).
virtual const DtVectorfollowOffsetVector () const
virtual void setGeodeticAimingPoint (const DtVector &pnt)
 Get/set the point to which this entity is moving towards for a move to location task.
virtual const DtVector geodeticAimingPoint () const
virtual void setGoalVector (const DtVector &goalVector)
 The vector from the goal position (destination) to the entity's position at the start of the move task.
virtual const DtVectorgoalVector () const
virtual void setContinueAtGoal (const bool cont)
 Get/set the flag to determine if entity should continue at speed after reaching the destination.
virtual bool continueAtGoal (void) const
virtual void setIsEmergencyStop (const bool isEmergency)
virtual bool isEmergencyStop (void) const
virtual void setIsDriftStop (const bool isDriftStop)
virtual bool isDriftStop (void) const
virtual void putSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtReaderWriter::appPath())
 Override to set myCurrentVertex from route state before writing.
virtual double forwardSpeed ()
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual void setForwardSpeed (const double speed)
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual double forwardAcceleration ()
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual void setForwardAcceleration (const double acceleration)
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual double clampSpeed ()
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual void setClampSpeed (const double speed)
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual double clampHeading ()
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual void setClampHeading (const double clampHeading)
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual double altitudeChangeRate ()
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual void setAltitudeChangeRate (const double altitudeRate)
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual double clampAltitude ()
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual void setClampAltitude (const double altitude)
 These accessors return the values that the actuator caches between ticks for kinematic values.
virtual bool hasFuel () const
 Accessors for actuator status info.
virtual void setHasFuel (const bool hasFuel)
 Accessors for actuator status info.
virtual bool isAground () const
 Accessors for actuator status info.
virtual void setIsAground (bool isAground)
 Accessors for actuator status info.
virtual double goalDepth ()
 Access functions for state variables describing the various movement tasks.
virtual void setGoalDepth (const double depth)
 Access functions for state variables describing the various movement tasks.
virtual double desiredDepthRate ()
 Access functions for state variables describing the various movement tasks.
virtual void setDesiredDepthRate (const double rate)
 Access functions for state variables describing the various movement tasks.
virtual bool isTurnContinuous ()
 Access functions for state variables describing the various movement tasks.
virtual void setIsTurnContinuous (const bool isContinous)
 Access functions for state variables describing the various movement tasks.
virtual double goalHeading ()
 Access functions for state variables describing the various movement tasks.
virtual void setGoalHeading (const double goalHeading)
 Access functions for state variables describing the various movement tasks.
virtual bool isUsingConstantDiameter ()
 Access functions for state variables describing the various movement tasks.
virtual void setIsUsingConstantDiameter (const bool usingDiameter)
 Access functions for state variables describing the various movement tasks.
virtual bool isTurningRight ()
 Access functions for state variables describing the various movement tasks.
virtual void setIsTurningRight (const bool isContinous)
 Access functions for state variables describing the various movement tasks.
virtual double desiredTurnDiameter ()
 Access functions for state variables describing the various movement tasks.
virtual void setDesiredTurnDiameter (const double desiredTurnDiameter)
 Access functions for state variables describing the various movement tasks.
virtual double desiredTurnRate ()
 Access functions for state variables describing the various movement tasks.
virtual void setDesiredTurnRate (const double desiredTurnRate)
 Access functions for state variables describing the various movement tasks.
virtual bool turnTaskIsControllingSpeed () const
 Access functions for state variables describing the various movement tasks.
virtual void setTurnTaskIsControllingSpeed (const bool isControlling)
 Access functions for state variables describing the various movement tasks.
virtual void setControlObjectName (const DtString &objectName)
 Set/get control object name (name of the waypoint to head towards).
virtual const DtStringcontrolObjectName () const
 Access functions for state variables describing the various movement tasks.
virtual void setRouteName (const DtString &objectName)
 Set/get route object name (name of the route to follow).
virtual const DtStringrouteName () const
 Set/get route object name (name of the route to follow).
virtual DtLocalVectorIteratorrouteState () const
 Get route state (an iterator over the route used to keep track of which point along the route we're heading toward).
virtual DtReal startTurnDistance2 ()
 Accessors for start-turn-distance squared (see description below).
virtual void setStartTurnDistance2 (const DtReal distance)
 Accessors for start-turn-distance squared (see description below).
virtual int prevRoutePointIndex ()
 Accessors for next- and prev-route-point index.
virtual void setPrevRoutPointIndex (const int index)
 Accessors for next- and prev-route-point index.
virtual int nextRoutePointIndex ()
 Accessors for next- and prev-route-point index.
virtual void setNextRoutePointIndex (const int index)
 Accessors for next- and prev-route-point index.
virtual DtReal maxYawRate () const
 These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.
virtual void setMaxYawRate (DtReal maxYawRate)
 These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.
virtual DtReal maxYawAcceleration () const
 Accessor/mutator for myMaxYawAcceleration.
virtual void setMaxYawAcceleration (DtReal maxYawAcceleration)
 These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.
virtual double stoppingSpeed () const
 Accessor/mutator for myStoppingSpeed.
virtual void setStoppingSpeed (DtReal stoppingSpeed)
 These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.
virtual DtRwIntcurrentVertex ()
 Accessors for the current vertex indices into the route.
virtual const DtRwIntcurrentVertex () const
 Accessors for the current vertex indices into the route.
virtual DtRwIntnextVertex ()
 Accessors for the current vertex indices into the route.
virtual const DtRwIntnextVertex () const
 Accessors for the current vertex indices into the route.
virtual DtRwIntpreviousVertex ()
 Accessors for the current vertex indices into the route.
virtual const DtRwIntpreviousVertex () const
 Accessors for the current vertex indices into the route.
- Public Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository (DtVrfObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 DtVrfProcessStateRepository (const DtVrfProcessStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
const DtVrfProcessStateRepositoryoperator= (const DtVrfProcessStateRepository &orig)
virtual ~DtVrfProcessStateRepository ()
virtual bool init ()
 Used for virtual construction. This base method simply returns true.
virtual bool loadedFromMTL () const
virtual void getSelf (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings)
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream.
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator
bool operator== (const DtReaderWriter &) const
 Equivalence operator.
bool operator!= (const DtReaderWriter &rhs)
virtual ~DtReaderWriter ()
 destructor
virtual void getSelf (DtlObjPtr args, const DtFilename &searchPath=DtFilename::nullFilename(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Top level to read itself from an input stream.
virtual void writeSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry.
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object.
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object.
virtual bool hasAlias (const DtSymbolString &alias)
virtual const aliasContaineraliases () const
virtual void setReadonly (bool flag)
 Set read-only flag.
virtual bool isReadonly () const
virtual bool variableIsBound () const
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false.
virtual void setName (const DtString &)
 Set the name of the object.
virtual const char * readerWriterType () const
 Used to supply a string type that this reader writer type is.
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable.
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children.
virtual std::list
< DtVariableNameType
unboundVariables () const
bool invalid () const
virtual bool hasChild (const DtReaderWriter *p) const
 Returns true if this variable has a child p in it's chain.
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values.
virtual bool valueSpecified () const
 The specified flags are used for optional values.
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere.
virtual void setIsVariableReference (bool value)
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively.
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference.
virtual void setVariableName (const DtSymbolString variableName)
 The variable name, if this object is a variable reference.
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object.
DtReaderWriterRegistryregistry ()
 Collection of child DtReaderWriter nodes owned by this object.

Static Public Member Functions

static
DtVrfProcessStateRepository
creator (const DtString &rwName, DtVrfObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
 Returns a newly created instance of this class.
- Static Public Member Functions inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
factory ()
 a DtVrfProcessStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.
static void setFactory (DtVrfProcessStateRepositoryFactory *factory)
static void addVrfProcessStateRepositoryCreatorFcn (const DtString &type, DtVrfProcessStateRepositoryCreatorFcn fcn)
static
DtVrfProcessStateRepository
createRepository (const DtString &name, const DtString &type, DtVrfObject *vrfObject, DtReaderWriterRegistry *parentRegistry=0)
 Creates a new state repository object, using the factory.
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (FILE *fp, int indentLevel)
static const
DtVariableBindingsList
nullVariableReference ()
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
static const DtFilename & appPath ()
 Gets the current working directory.
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 Sets the function to create the DtReaderWriterFactory.
static void createReaderWriterFactory ()

Protected Attributes

DtRwReal myStartTurnDistance2
 The distance (squared) before the next point that the ship has to start heading for the following point, so that it can make the turn "inside" the route segments (vs.
DtRwBoolean myReverseFlag
 For patrol-route control.
DtRwReal myForwardSpeed
 Used in the actuator DtSufaceEntitySimpleActuator.
DtRwReal myForwardAcceleration
 Used in the actuator DtSufaceEntitySimpleActuator.
DtRwReal myClampSpeed
 Used in the actuator DtSufaceEntitySimpleActuator.
DtRwReal myClampHeading
 Used in the actuator DtSufaceEntitySimpleActuator.
DtRwReal myAltitudeChangeRate
 For the subsurface depth actuator:
DtRwReal myClampAltitude
 Used in the actuator DtSufaceEntitySimpleActuator.
DtRwBoolean myHasFuel
 Actuator status information.
DtRwBoolean myIsAground
 Set by the actuator when it detects that the entity is aground.
DtRwReal myGoalDepth
 This is used by subsurface depth controller.
DtRwReal myDesiredDepthRate
 The desired depth change rate. This is always positive.
DtRwBoolean myIsTurnContinuous
 For turn-move:
DtRwReal myGoalHeading
 For turn-move:
DtRwBoolean myIsUsingConstantDiameter
 If turn rate is set with diameter, then each tick the radians/secc turn rate for the output port has to be computed from the speed.
DtRwBoolean myIsTurningRight
 If turning on a diameter, this flag indicates which way:
DtRwReal myDesiredTurnDiameter
 For turn-move:
DtRwReal myDesiredTurnRate
 Positive if turning right, negative if left. Rad/sec.
DtRwBoolean myTurnTaskControllingSpeed
 True when the task is run; stays true until another movement task runs.
DtRwVector myGeodeticAimingPoint
 For Surface Entity Move To Location controller.
DtRwVector myGoalVector
 The vector from the aiming point (goal) to the start point of the move.
DtRwBoolean myContinueAtGoal
 Indicates that the entity should continue at speed after hitting the destination location.
DtRwString myControlObjectName
 For move-to [waypoint] control.
DtRwString myRouteName
 For move-along [route] control.
DtLocalVectorIteratormyRouteState
 Route state used to get info about the current route we're trying to follow (e.g.
DtLocalVertexList myVertices
 my copy of the current route
DtRwInt myCurrentVertex
 Read/write variables to capture route state.
DtRwInt myNextVertex
 For move-along [route] control.
DtRwInt myPrevVertex
 For move-along [route] control.
DtRwString myFirstWaypoint
 For patrol-between control.
DtRwString mySecondWaypoint
 For patrol-between control.
DtRwString myEntityToFollow
 For follow control.
DtRwVector myFollowOffsetVector
 Following offset vector (in body coordinates of entity to follow, in meters).
DtRwBoolean myIsEmergencyStop
 For stop task.
DtRwBoolean myIsDriftStop
 For stop task.
DtRwReal myStoppingSpeed
 Other variables: not used in the above controllers or actuators.
DtRwReal myMaxYawRate
 Max yaw rate– used only in DtSurfaceEntityActuator.
DtRwReal myMaxYawAcceleration
 Max yaw rate acceleration– used only in DtSurfaceEntityActuator.
- Protected Attributes inherited from DtVrfProcessStateRepository
DtVrfObjectmyVrfObject
bool myLoadedFromMTL
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
DtReaderWriterRegistry myRegistry
bool myValueSpecified
bool myReadOnlyFlag
bool myIsVariableReference
DtSymbolString myVariableName
bool myVariableIsBound
aliasContainer myAliases
 Container for the aliases which represent alternative names for the object.
bool myInvalid
 Set to true if there is a problem reading this item.

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString > 
aliasContainer
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
- Protected Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository ()
- Static Protected Attributes inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
theFactory

Constructor & Destructor Documentation

DtSurfaceMovementPSR::DtSurfaceMovementPSR ( DtVrfObject vrfObject,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)

constructor

DtSurfaceMovementPSR::DtSurfaceMovementPSR ( const DtSurfaceMovementPSR orig,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)

copy constructor

virtual DtSurfaceMovementPSR::~DtSurfaceMovementPSR ( )
virtual

destructor

Member Function Documentation

DtSurfaceMovementPSR& DtSurfaceMovementPSR::operator= ( const DtSurfaceMovementPSR orig)

assignment operator

virtual DtVrfProcessStateRepository* DtSurfaceMovementPSR::clone ( const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
) const
virtual

returns a newly created copy of this object

Implements DtVrfProcessStateRepository.

virtual DtString DtSurfaceMovementPSR::type ( ) const
virtual

Returns the string type of the repository, as defined in procSRTypes.h.

(DtVrfSurfaceMovementProcessStateRepositoryType).

Implements DtVrfProcessStateRepository.

virtual double DtSurfaceMovementPSR::forwardSpeed ( )
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual void DtSurfaceMovementPSR::setForwardSpeed ( const double  speed)
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual double DtSurfaceMovementPSR::forwardAcceleration ( )
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual void DtSurfaceMovementPSR::setForwardAcceleration ( const double  acceleration)
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual double DtSurfaceMovementPSR::clampSpeed ( )
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual void DtSurfaceMovementPSR::setClampSpeed ( const double  speed)
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual double DtSurfaceMovementPSR::clampHeading ( )
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual void DtSurfaceMovementPSR::setClampHeading ( const double  clampHeading)
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual double DtSurfaceMovementPSR::altitudeChangeRate ( )
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual void DtSurfaceMovementPSR::setAltitudeChangeRate ( const double  altitudeRate)
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual double DtSurfaceMovementPSR::clampAltitude ( )
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual void DtSurfaceMovementPSR::setClampAltitude ( const double  altitude)
inlinevirtual

These accessors return the values that the actuator caches between ticks for kinematic values.

virtual bool DtSurfaceMovementPSR::hasFuel ( ) const
inlinevirtual

Accessors for actuator status info.

The accessor is a shortcut for looking up the fuel resource. This flag is set by the actuator when it checks fuel usage.

virtual void DtSurfaceMovementPSR::setHasFuel ( const bool  hasFuel)
inlinevirtual

Accessors for actuator status info.

The accessor is a shortcut for looking up the fuel resource. This flag is set by the actuator when it checks fuel usage.

virtual bool DtSurfaceMovementPSR::isAground ( ) const
inlinevirtual

Accessors for actuator status info.

The accessor is a shortcut for looking up the fuel resource. This flag is set by the actuator when it checks fuel usage.

virtual void DtSurfaceMovementPSR::setIsAground ( bool  isAground)
inlinevirtual

Accessors for actuator status info.

The accessor is a shortcut for looking up the fuel resource. This flag is set by the actuator when it checks fuel usage.

virtual double DtSurfaceMovementPSR::goalDepth ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setGoalDepth ( const double  depth)
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual double DtSurfaceMovementPSR::desiredDepthRate ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setDesiredDepthRate ( const double  rate)
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual bool DtSurfaceMovementPSR::isTurnContinuous ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setIsTurnContinuous ( const bool  isContinous)
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual double DtSurfaceMovementPSR::goalHeading ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setGoalHeading ( const double  goalHeading)
virtual

Access functions for state variables describing the various movement tasks.

virtual bool DtSurfaceMovementPSR::isUsingConstantDiameter ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setIsUsingConstantDiameter ( const bool  usingDiameter)
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual bool DtSurfaceMovementPSR::isTurningRight ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setIsTurningRight ( const bool  isContinous)
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual double DtSurfaceMovementPSR::desiredTurnDiameter ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setDesiredTurnDiameter ( const double  desiredTurnDiameter)
virtual

Access functions for state variables describing the various movement tasks.

virtual double DtSurfaceMovementPSR::desiredTurnRate ( )
inlinevirtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setDesiredTurnRate ( const double  desiredTurnRate)
virtual

Access functions for state variables describing the various movement tasks.

virtual bool DtSurfaceMovementPSR::turnTaskIsControllingSpeed ( ) const
virtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setTurnTaskIsControllingSpeed ( const bool  isControlling)
virtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setControlObjectName ( const DtString objectName)
virtual

Set/get control object name (name of the waypoint to head towards).

virtual const DtString& DtSurfaceMovementPSR::controlObjectName ( ) const
virtual

Access functions for state variables describing the various movement tasks.

virtual void DtSurfaceMovementPSR::setRouteName ( const DtString objectName)
virtual

Set/get route object name (name of the route to follow).

virtual const DtString& DtSurfaceMovementPSR::routeName ( ) const
virtual

Set/get route object name (name of the route to follow).

virtual void DtSurfaceMovementPSR::setRouteVertices ( const DtLocalVectorIterator routeIterator)
virtual

Set/get route vertices (local coordinates).

Once route is set, can access routeState() to query and set current position along route. The minSpacing parameter allows this function to prune route points that are closer together than this.

virtual const DtLocalVertexList& DtSurfaceMovementPSR::routeVertices ( ) const
virtual
virtual void DtSurfaceMovementPSR::emptyRouteVertices ( )
virtual

Empty route vertices.

virtual DtLocalVectorIterator* DtSurfaceMovementPSR::routeState ( ) const
virtual

Get route state (an iterator over the route used to keep track of which point along the route we're heading toward).

virtual DtReal DtSurfaceMovementPSR::startTurnDistance2 ( )
inlinevirtual

Accessors for start-turn-distance squared (see description below).

virtual void DtSurfaceMovementPSR::setStartTurnDistance2 ( const DtReal  distance)
inlinevirtual

Accessors for start-turn-distance squared (see description below).

virtual int DtSurfaceMovementPSR::prevRoutePointIndex ( )
inlinevirtual

Accessors for next- and prev-route-point index.

virtual void DtSurfaceMovementPSR::setPrevRoutPointIndex ( const int  index)
inlinevirtual

Accessors for next- and prev-route-point index.

virtual int DtSurfaceMovementPSR::nextRoutePointIndex ( )
inlinevirtual

Accessors for next- and prev-route-point index.

virtual void DtSurfaceMovementPSR::setNextRoutePointIndex ( const int  index)
inlinevirtual

Accessors for next- and prev-route-point index.

virtual void DtSurfaceMovementPSR::setReverseFlag ( bool  flag)
virtual

Set/get the reverse flag (reverse the direction of travel while.

patrolling - either between points or along a route).

virtual bool DtSurfaceMovementPSR::reverseFlag ( ) const
virtual
virtual void DtSurfaceMovementPSR::setFirstWaypoint ( const DtString objectName)
virtual

Set/get the first waypoint object name.

virtual const DtString& DtSurfaceMovementPSR::firstWaypoint ( ) const
virtual
virtual void DtSurfaceMovementPSR::setSecondWaypoint ( const DtString objectName)
virtual

Set/get the second waypoint object name.

virtual const DtString& DtSurfaceMovementPSR::secondWaypoint ( ) const
virtual
virtual void DtSurfaceMovementPSR::setEntityToFollow ( const DtString objectName)
virtual

Set/get the entity to follow object name.

virtual const DtString& DtSurfaceMovementPSR::entityToFollow ( ) const
virtual
virtual void DtSurfaceMovementPSR::setFollowOffsetVector ( const DtVector offset)
virtual

Set/get the entity follow offset (offset vector in body coordinates of the entity to follow, in meters).

virtual const DtVector& DtSurfaceMovementPSR::followOffsetVector ( ) const
virtual
virtual void DtSurfaceMovementPSR::setGeodeticAimingPoint ( const DtVector pnt)
virtual

Get/set the point to which this entity is moving towards for a move to location task.

In a triple (DtVector) containing lat-lon-alt.

virtual const DtVector DtSurfaceMovementPSR::geodeticAimingPoint ( ) const
virtual
virtual void DtSurfaceMovementPSR::setGoalVector ( const DtVector goalVector)
virtual

The vector from the goal position (destination) to the entity's position at the start of the move task.

This vector is used to determine when the entity has passed by the goal location. North-east-down (i.e., like topocentric) data from a DtVector3D.

virtual const DtVector& DtSurfaceMovementPSR::goalVector ( ) const
virtual
virtual void DtSurfaceMovementPSR::setContinueAtGoal ( const bool  cont)
virtual

Get/set the flag to determine if entity should continue at speed after reaching the destination.

virtual bool DtSurfaceMovementPSR::continueAtGoal ( void  ) const
virtual
virtual void DtSurfaceMovementPSR::setIsEmergencyStop ( const bool  isEmergency)
virtual
virtual bool DtSurfaceMovementPSR::isEmergencyStop ( void  ) const
virtual
virtual void DtSurfaceMovementPSR::setIsDriftStop ( const bool  isDriftStop)
virtual
virtual bool DtSurfaceMovementPSR::isDriftStop ( void  ) const
virtual
virtual void DtSurfaceMovementPSR::putSelf ( FILE *  fp,
int  indentLevel = 0,
bool  writeUnspecified = false,
const DtFilename &  path = DtReaderWriter::appPath() 
)
virtual

Override to set myCurrentVertex from route state before writing.

Reimplemented from DtReaderWriter.

virtual DtReal DtSurfaceMovementPSR::maxYawRate ( ) const
virtual

These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.

Accessor/mutator for myMaxYawRate.

virtual void DtSurfaceMovementPSR::setMaxYawRate ( DtReal  maxYawRate)
virtual

These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.

Accessor/mutator for myMaxYawRate.

virtual DtReal DtSurfaceMovementPSR::maxYawAcceleration ( ) const
virtual

Accessor/mutator for myMaxYawAcceleration.

virtual void DtSurfaceMovementPSR::setMaxYawAcceleration ( DtReal  maxYawAcceleration)
virtual

These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.

Accessor/mutator for myMaxYawRate.

virtual double DtSurfaceMovementPSR::stoppingSpeed ( ) const
virtual

Accessor/mutator for myStoppingSpeed.

virtual void DtSurfaceMovementPSR::setStoppingSpeed ( DtReal  stoppingSpeed)
virtual

These accessors are for copies of parameters from the actuator descriptor that are saved in the PSR.

Accessor/mutator for myMaxYawRate.

virtual DtRwInt& DtSurfaceMovementPSR::currentVertex ( )
virtual

Accessors for the current vertex indices into the route.

virtual const DtRwInt& DtSurfaceMovementPSR::currentVertex ( ) const
virtual

Accessors for the current vertex indices into the route.

virtual DtRwInt& DtSurfaceMovementPSR::nextVertex ( )
virtual

Accessors for the current vertex indices into the route.

virtual const DtRwInt& DtSurfaceMovementPSR::nextVertex ( ) const
virtual

Accessors for the current vertex indices into the route.

virtual DtRwInt& DtSurfaceMovementPSR::previousVertex ( )
virtual

Accessors for the current vertex indices into the route.

virtual const DtRwInt& DtSurfaceMovementPSR::previousVertex ( ) const
virtual

Accessors for the current vertex indices into the route.

static DtVrfProcessStateRepository* DtSurfaceMovementPSR::creator ( const DtString rwName,
DtVrfObject vrfObject,
DtReaderWriterRegistry parentRegistry 
)
static

Returns a newly created instance of this class.

Member Data Documentation

DtRwReal DtSurfaceMovementPSR::myForwardSpeed
protected

Used in the actuator DtSufaceEntitySimpleActuator.

These are kinematic values for the previous tick. The first two are caches of values that can be computed from kinematic state; using these values saves computation of transformations. Speed and acceleration are signed values; they are negative if they are in the rearward direction. Clamp speed from the previous tick must be saved in state (the alternative is to use the clamp speed for the next tick, which is available to the actuator on its input port.) Rotation rate is easier to get from kinematic state, so is not saved here. Clamp heading is for the previous tick. If the entity is performing a turn task, this will be the same as myGoalHeading, but myGoalHeading may not be valid for other tasks.

DtRwReal DtSurfaceMovementPSR::myForwardAcceleration
protected

Used in the actuator DtSufaceEntitySimpleActuator.

These are kinematic values for the previous tick. The first two are caches of values that can be computed from kinematic state; using these values saves computation of transformations. Speed and acceleration are signed values; they are negative if they are in the rearward direction. Clamp speed from the previous tick must be saved in state (the alternative is to use the clamp speed for the next tick, which is available to the actuator on its input port.) Rotation rate is easier to get from kinematic state, so is not saved here. Clamp heading is for the previous tick. If the entity is performing a turn task, this will be the same as myGoalHeading, but myGoalHeading may not be valid for other tasks.

DtRwReal DtSurfaceMovementPSR::myClampSpeed
protected

Used in the actuator DtSufaceEntitySimpleActuator.

These are kinematic values for the previous tick. The first two are caches of values that can be computed from kinematic state; using these values saves computation of transformations. Speed and acceleration are signed values; they are negative if they are in the rearward direction. Clamp speed from the previous tick must be saved in state (the alternative is to use the clamp speed for the next tick, which is available to the actuator on its input port.) Rotation rate is easier to get from kinematic state, so is not saved here. Clamp heading is for the previous tick. If the entity is performing a turn task, this will be the same as myGoalHeading, but myGoalHeading may not be valid for other tasks.

DtRwReal DtSurfaceMovementPSR::myClampHeading
protected

Used in the actuator DtSufaceEntitySimpleActuator.

These are kinematic values for the previous tick. The first two are caches of values that can be computed from kinematic state; using these values saves computation of transformations. Speed and acceleration are signed values; they are negative if they are in the rearward direction. Clamp speed from the previous tick must be saved in state (the alternative is to use the clamp speed for the next tick, which is available to the actuator on its input port.) Rotation rate is easier to get from kinematic state, so is not saved here. Clamp heading is for the previous tick. If the entity is performing a turn task, this will be the same as myGoalHeading, but myGoalHeading may not be valid for other tasks.

DtRwReal DtSurfaceMovementPSR::myAltitudeChangeRate
protected

For the subsurface depth actuator:

DtRwReal DtSurfaceMovementPSR::myClampAltitude
protected

Used in the actuator DtSufaceEntitySimpleActuator.

These are kinematic values for the previous tick. The first two are caches of values that can be computed from kinematic state; using these values saves computation of transformations. Speed and acceleration are signed values; they are negative if they are in the rearward direction. Clamp speed from the previous tick must be saved in state (the alternative is to use the clamp speed for the next tick, which is available to the actuator on its input port.) Rotation rate is easier to get from kinematic state, so is not saved here. Clamp heading is for the previous tick. If the entity is performing a turn task, this will be the same as myGoalHeading, but myGoalHeading may not be valid for other tasks.

DtRwBoolean DtSurfaceMovementPSR::myHasFuel
protected

Actuator status information.

Set by the actuator when it checks fuel.
When the actuator determines that the entity is out of fuel, it will set the power plant appearance to "off." The (pilot) controller can also turn off the power plant to drift. The controller should check fuel before trying to turn the power plant on.

DtRwBoolean DtSurfaceMovementPSR::myIsAground
protected

Set by the actuator when it detects that the entity is aground.

DtRwReal DtSurfaceMovementPSR::myGoalDepth
protected

This is used by subsurface depth controller.

The desired depth. Note this is 0 at sea level and increases with decreasing altitude.

DtRwReal DtSurfaceMovementPSR::myDesiredDepthRate
protected

The desired depth change rate. This is always positive.

DtRwBoolean DtSurfaceMovementPSR::myIsTurnContinuous
protected

For turn-move:

If true, goalHeading is not used:

DtRwReal DtSurfaceMovementPSR::myGoalHeading
protected

For turn-move:

If true, goalHeading is not used:

DtRwBoolean DtSurfaceMovementPSR::myIsUsingConstantDiameter
protected

If turn rate is set with diameter, then each tick the radians/secc turn rate for the output port has to be computed from the speed.

DtRwBoolean DtSurfaceMovementPSR::myIsTurningRight
protected

If turning on a diameter, this flag indicates which way:

DtRwReal DtSurfaceMovementPSR::myDesiredTurnDiameter
protected

For turn-move:

If true, goalHeading is not used:

DtRwReal DtSurfaceMovementPSR::myDesiredTurnRate
protected

Positive if turning right, negative if left. Rad/sec.

DtRwBoolean DtSurfaceMovementPSR::myTurnTaskControllingSpeed
protected

True when the task is run; stays true until another movement task runs.

While true, the task keeps controlling speed to match ordered speed, even if the task is complete.

DtRwVector DtSurfaceMovementPSR::myGeodeticAimingPoint
protected

For Surface Entity Move To Location controller.

The current destination location, in a triple that represents lat-lon-alt. Copied to a DtLocation3D each tick.

DtRwVector DtSurfaceMovementPSR::myGoalVector
protected

The vector from the aiming point (goal) to the start point of the move.

Used to determine when the entity has passed the goal (when it's vector to the goal is 90 degrees to this). North-east-down (i.e., like topocentric) data from a DtVector3D.

DtRwBoolean DtSurfaceMovementPSR::myContinueAtGoal
protected

Indicates that the entity should continue at speed after hitting the destination location.

Used in move-to as well.

DtRwString DtSurfaceMovementPSR::myControlObjectName
protected

For move-to [waypoint] control.

Object name of a waypoint we're moving toward.

DtRwString DtSurfaceMovementPSR::myRouteName
protected

For move-along [route] control.

Object name of the route object we're following.

DtLocalVectorIterator* DtSurfaceMovementPSR::myRouteState
protected

Route state used to get info about the current route we're trying to follow (e.g.

which vertex to move toward).

DtLocalVertexList DtSurfaceMovementPSR::myVertices
protected

my copy of the current route

DtRwInt DtSurfaceMovementPSR::myCurrentVertex
protected

Read/write variables to capture route state.

The route following controller may skip closely-spaced route points, so cannot just use the iterator's prev() and next() functions to get at the points it is actually using.

DtRwInt DtSurfaceMovementPSR::myNextVertex
protected

For move-along [route] control.

Object name of the route object we're following.

DtRwInt DtSurfaceMovementPSR::myPrevVertex
protected

For move-along [route] control.

Object name of the route object we're following.

DtRwReal DtSurfaceMovementPSR::myStartTurnDistance2
protected

The distance (squared) before the next point that the ship has to start heading for the following point, so that it can make the turn "inside" the route segments (vs.

overshooting the next point), and yet stay close to the route segments (vs. turning away early).

DtRwBoolean DtSurfaceMovementPSR::myReverseFlag
protected

For patrol-route control.

Current direction of patrol (along route or between waypoints).

DtRwString DtSurfaceMovementPSR::myFirstWaypoint
protected

For patrol-between control.

Object names of the waypoints to patrol between.

DtRwString DtSurfaceMovementPSR::mySecondWaypoint
protected

For patrol-between control.

Object names of the waypoints to patrol between.

DtRwString DtSurfaceMovementPSR::myEntityToFollow
protected

For follow control.

Object name of entity to follow.

DtRwVector DtSurfaceMovementPSR::myFollowOffsetVector
protected

Following offset vector (in body coordinates of entity to follow, in meters).

DtRwBoolean DtSurfaceMovementPSR::myIsEmergencyStop
protected

For stop task.

DtRwBoolean DtSurfaceMovementPSR::myIsDriftStop
protected

For stop task.

DtRwReal DtSurfaceMovementPSR::myStoppingSpeed
protected

Other variables: not used in the above controllers or actuators.

Copies of parameters in the actuator descriptor.

Stopping speed. This is the epsilon within which the vessel's speed must be of the desired (clamp) speed before the actuator clamps the speed. (PSR version used only in DtSurfaceEntityActuator)

DtRwReal DtSurfaceMovementPSR::myMaxYawRate
protected

Max yaw rate– used only in DtSurfaceEntityActuator.

DtRwReal DtSurfaceMovementPSR::myMaxYawAcceleration
protected

Max yaw rate acceleration– used only in DtSurfaceEntityActuator.


The documentation for this class was generated from the following file:

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)