VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Attributes
DtAutomotivePSR Class Reference

Instances of DtAutomotivePSR are used to hold the shared/checkpointable data for an automotive system. More...

Inheritance diagram for DtAutomotivePSR:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtAutomotivePSR (DtVrfObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 constructor
 DtAutomotivePSR (const DtAutomotivePSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 copy constructor
virtual ~DtAutomotivePSR ()
 destructor
DtAutomotivePSRoperator= (const DtAutomotivePSR &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 emptyRouteVertices ()
 Empty route vertices.
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 void unspecifyRoadPoints ()
 Sets the valueSpecified flag of both myRoadStartPoint and myRoadEndPoint to false.
virtual bool roadPointsSpecified () const
 Returns true only if both myRoadStartPoint and myRoadEndPoint are specified.
virtual int currentVertex () const
 Get the current vertex we are moving toward when executuing move-along behavior.
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 void setCurrentGear (DtAutoTransmissionGear gear)
 Set/get current gear.
virtual DtAutoTransmissionGear currentGear () const
 Set/get current gear.
virtual void setHeadingToTurnTo (double headingToTurnTo)
 Set/get heading to turn to.
virtual double headingToTurnTo () const
 Set/get heading to turn to.
virtual void setKTurnReverseGoalHeading (double kTurnReverseGoalHeading)
 Get/Set the heading that is halfway between the original heading and the heading to turn to.
virtual double kTurnReverseGoalHeading () const
 Get/Set the heading that is halfway between the original heading and the heading to turn to.
virtual void setKTurnReverseComplete (bool kTurnReverseComplete)
 Get/set the flag that indicates whether or not the entity has completed first half of the turn maneuver (backing up until at kTurnReverseGoalHeading())
virtual bool kTurnReverseComplete () const
 Get/set the flag that indicates whether or not the entity has completed first half of the turn maneuver (backing up until at kTurnReverseGoalHeading())
virtual void setControlObjectName (const DtString &controlObjectName)
 Get/set the name of the control object to move to (waypoint name).
virtual const DtStringcontrolObjectName () const
 Get/set the name of the control object to move to (waypoint name).
virtual void setContinueFlag (bool flag)
 Get/set the contiue moving flag.
virtual bool continueFlag () const
 Get/set the contiue moving flag.
virtual void setWorldDestination (const DtVector &destination)
 Get/set the location to which this entity is moving towards for a move to destination (or derivative) task.
virtual const DtVectorworldDestination () const
 Get/set the location to which this entity is moving towards for a move to destination (or derivative) task.
virtual void setEntityToFollow (const DtString &objectName)
 Get/set the name of the entity to follow.
virtual const DtStringentityToFollow () const
 Get/set the name of the entity to follow.
virtual void setFollowingOffsetVector (const DtVector &offsetVector)
 Get/set the offset vector to use when following (offset is in terms of the body coordinate system of the entity to follow).
virtual const DtVectorfollowingOffsetVector () const
 Get/set the offset vector to use when following (offset is in terms of the body coordinate system of the entity to follow).
virtual void setEntityToInterceptAndDestroy (const DtString &objectName)
 Get/set the name of the entity to intercept and destroy.
virtual const DtStringentityToInterceptAndDestroy () const
 Get/set the name of the entity to intercept and destroy.
virtual void setStandOffDistance (const double distance)
 Get/set distance away from target to stop.
virtual const double standOffDistance () const
 Get/set distance away from target to stop.
virtual void setRouteName (const DtString &routeName)
 Get/set the name of the route to follow.
virtual const DtStringrouteName () const
 Get/set the name of the route to follow.
virtual void setRouteVertices (const DtLocalVectorIterator &routeIterator)
 Set/get route vertices (local coordinates).
virtual const DtLocalVertexListrouteVertices () const
 Set/get route vertices (local coordinates).
virtual void setReversePatrol (bool flag)
 Get/set the reverse flag for patrolling (along route or between points).
virtual bool reversePatrol () const
 Get/set the reverse flag for patrolling (along route or between points).
virtual void setFirstWaypoint (const DtString &objectName)
 Get/set the first waypoint to move to when patrolling between points.
virtual const DtStringfirstWaypoint () const
 Get/set the first waypoint to move to when patrolling between points.
virtual void setSecondWaypoint (const DtString &objectName)
 Get/set the second waypoint to move to when patrolling between points.
virtual const DtStringsecondWaypoint () const
 Get/set the second waypoint to move to when patrolling between points.
virtual void setIsColliding (bool colliding)
 Get/set flag indicating if we are currently in a colliding state.
virtual bool isColliding () const
 Get/set flag indicating if we are currently in a colliding state.
virtual void setIsClearing (bool clearing)
 Get/set flag indicating if we are currently clearing a collision.
virtual bool isClearing () const
 Get/set flag indicating if we are currently clearing a collision.
virtual void setAvoidingLeft (bool avoidingLeft)
 Get/set flag indicating if we are turning to left to avoid collision.
virtual bool avoidingLeft () const
 Get/set flag indicating if we are turning to left to avoid collision.
virtual void setCheckForTerrainCollisions (bool checkForCollisions)
 Check the terrain while moving to ensure that the entity does not move through any terrain polygons.
virtual bool checkForTerrainCollisions () const
 Check the terrain while moving to ensure that the entity does not move through any terrain polygons.
virtual void setUseHighFidelityGroundClamping (bool yesOrNo)
 When clamping the entity to the ground, using high fidelity ground clamping will cause the entity to use all four support points when determining the plane on which the entity is positioned.
virtual bool useHighFidelityGroundClamping () const
 When clamping the entity to the ground, using high fidelity ground clamping will cause the entity to use all four support points when determining the plane on which the entity is positioned.
virtual void setRoadStartPoint (const DtVector &point)
virtual DtVector roadStartPoint () const
virtual void setRoadEndPoint (const DtVector &point)
virtual DtVector roadEndPoint () const
virtual void setStayInLane (bool value)
virtual bool stayInLane () const
virtual bool stayInLaneSpecified () const
virtual void unspecifiyStayInLane ()
virtual DtVector orbitCenter () const
virtual void setOrbitCenter (const DtVector &newCenter)
virtual double orbitRadius () const
virtual void setOrbitRadius (double newRadius)
virtual bool orbitClockwise () const
virtual void setOrbitClockwise (bool yesOrNo)
virtual void setRouteIsDiscovered (bool value)
virtual bool routeIsDiscovered () const

Static Public Member Functions

static
DtVrfProcessStateRepository
creator (const DtString &rwName, DtVrfObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
 Returns a newly created instance of this class.

Protected Attributes

DtRwInt myCurrentGear
 From DtGroundAutoController (gndAutoCntlr.h) (enum DtAutoTransmissionGear)
DtRwReal myHeadingToTurnTo
DtRwReal myKTurnReverseGoalHeading
DtRwBoolean myKTurnReverseComplete
DtRwString myControlObjectName
 From DtGroundMoveToControllerComponent (gndMvToCntlr.h)
DtRwString myEntityToFollow
 From DtGroundFollowEntityController (gndFollwCtl.h)
DtRwVector myOffsetVector
DtRwString myRouteName
 From DtGroundMoveAlongController (gndMvAlgCtl.h)
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.
DtRwBoolean myReverseFlag
 From DtGroundPatrolRouteController (gndPtrlRtCtl.h)
DtRwString myFirstWaypoint
 From DtGroundPatrolBetweenController.
DtRwString mySecondWaypoint
DtRwReal myStandOffInterceptDistance
 Reuse above myReverseFlag from DtGroundPatrolRouteController bool myReverseFlag;.
DtRwString myEntityToInterceptAndDestroy
DtRwBoolean myIsColliding
 From DtGroundCollisionAvoidanceController (gndColAvoid.h)
DtRwBoolean myIsClearing
DtRwBoolean myAvoidingLeft
DtRwVector myWorldDestination
 World point for move to location tasks.
DtRwBoolean myCheckForTerrainCollisions
DtRwBoolean myUseHighFidelityGroundClamping
 Used by the automotive actuator when determining the orientation of the entity.
DtRwBoolean myStayInLane
 Set when entity is allowed to stay in road lanes while moving.
DtRwBoolean myContinueFlag
DtRwVector myRoadStartPoint
DtRwVector myRoadEndPoint
DtRwVector myOrbitCenter
 Determines whether we will keep moving after this task is done and hence shouldn't slow down.
DtRwReal myOrbitRadius
 Determines whether we will keep moving after this task is done and hence shouldn't slow down.
DtRwBoolean myOrbitClockwise
 Determines whether we will keep moving after this task is done and hence shouldn't slow down.
DtRwBoolean myRouteIsDiscovered

Detailed Description

Instances of DtAutomotivePSR are used to hold the shared/checkpointable data for an automotive system.


Constructor & Destructor Documentation

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

constructor

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

copy constructor

virtual DtAutomotivePSR::~DtAutomotivePSR ( ) [virtual]

destructor


Member Function Documentation

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

assignment operator

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

returns a newly created copy of this object

Implements DtVrfProcessStateRepository.

virtual DtString DtAutomotivePSR::type ( ) const [virtual]

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

(DtVrfAutomotiveProcessStateRepositoryType).

Implements DtVrfProcessStateRepository.

virtual void DtAutomotivePSR::setCurrentGear ( DtAutoTransmissionGear  gear) [virtual]

Set/get current gear.

Set/get current gear.

virtual void DtAutomotivePSR::setHeadingToTurnTo ( double  headingToTurnTo) [virtual]

Set/get heading to turn to.

virtual double DtAutomotivePSR::headingToTurnTo ( ) const [virtual]

Set/get heading to turn to.

virtual void DtAutomotivePSR::setKTurnReverseGoalHeading ( double  kTurnReverseGoalHeading) [virtual]

Get/Set the heading that is halfway between the original heading and the heading to turn to.

This is only used fore entities that are not pivot capable.

virtual double DtAutomotivePSR::kTurnReverseGoalHeading ( ) const [virtual]

Get/Set the heading that is halfway between the original heading and the heading to turn to.

This is only used fore entities that are not pivot capable.

virtual void DtAutomotivePSR::setKTurnReverseComplete ( bool  kTurnReverseComplete) [virtual]

Get/set the flag that indicates whether or not the entity has completed first half of the turn maneuver (backing up until at kTurnReverseGoalHeading())

virtual bool DtAutomotivePSR::kTurnReverseComplete ( ) const [virtual]

Get/set the flag that indicates whether or not the entity has completed first half of the turn maneuver (backing up until at kTurnReverseGoalHeading())

virtual void DtAutomotivePSR::setControlObjectName ( const DtString controlObjectName) [virtual]

Get/set the name of the control object to move to (waypoint name).

virtual const DtString& DtAutomotivePSR::controlObjectName ( ) const [virtual]

Get/set the name of the control object to move to (waypoint name).

virtual void DtAutomotivePSR::setContinueFlag ( bool  flag) [virtual]

Get/set the contiue moving flag.

If this flag is true the entity will not slow down to the approach speed when it nears the destination. This flag signifies that the entity will continue moving once it's at the destination, presumabley the move task was just a subtask part of a more complex movement task like convoying.

virtual bool DtAutomotivePSR::continueFlag ( ) const [virtual]

Get/set the contiue moving flag.

If this flag is true the entity will not slow down to the approach speed when it nears the destination. This flag signifies that the entity will continue moving once it's at the destination, presumabley the move task was just a subtask part of a more complex movement task like convoying.

virtual void DtAutomotivePSR::setWorldDestination ( const DtVector destination) [virtual]

Get/set the location to which this entity is moving towards for a move to destination (or derivative) task.

This point is only valid for that task and is set in world (geocentric) coordinates

virtual const DtVector& DtAutomotivePSR::worldDestination ( ) const [virtual]

Get/set the location to which this entity is moving towards for a move to destination (or derivative) task.

This point is only valid for that task and is set in world (geocentric) coordinates

virtual void DtAutomotivePSR::setEntityToFollow ( const DtString objectName) [virtual]

Get/set the name of the entity to follow.

virtual const DtString& DtAutomotivePSR::entityToFollow ( ) const [virtual]

Get/set the name of the entity to follow.

virtual void DtAutomotivePSR::setFollowingOffsetVector ( const DtVector offsetVector) [virtual]

Get/set the offset vector to use when following (offset is in terms of the body coordinate system of the entity to follow).

virtual const DtVector& DtAutomotivePSR::followingOffsetVector ( ) const [virtual]

Get/set the offset vector to use when following (offset is in terms of the body coordinate system of the entity to follow).

virtual void DtAutomotivePSR::setEntityToInterceptAndDestroy ( const DtString objectName) [virtual]

Get/set the name of the entity to intercept and destroy.

virtual const DtString& DtAutomotivePSR::entityToInterceptAndDestroy ( ) const [virtual]

Get/set the name of the entity to intercept and destroy.

virtual void DtAutomotivePSR::setStandOffDistance ( const double  distance) [virtual]

Get/set distance away from target to stop.

virtual const double DtAutomotivePSR::standOffDistance ( ) const [virtual]

Get/set distance away from target to stop.

virtual void DtAutomotivePSR::setRouteName ( const DtString routeName) [virtual]

Get/set the name of the route to follow.

virtual const DtString& DtAutomotivePSR::routeName ( ) const [virtual]

Get/set the name of the route to follow.

virtual void DtAutomotivePSR::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.

virtual const DtLocalVertexList& DtAutomotivePSR::routeVertices ( ) const [virtual]

Set/get route vertices (local coordinates).

Once route is set, can access routeState() to query and set current position along route.

virtual void DtAutomotivePSR::emptyRouteVertices ( ) [virtual]

Empty route vertices.

virtual DtLocalVectorIterator* DtAutomotivePSR::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 void DtAutomotivePSR::setReversePatrol ( bool  flag) [virtual]

Get/set the reverse flag for patrolling (along route or between points).

virtual bool DtAutomotivePSR::reversePatrol ( ) const [virtual]

Get/set the reverse flag for patrolling (along route or between points).

virtual void DtAutomotivePSR::setFirstWaypoint ( const DtString objectName) [virtual]

Get/set the first waypoint to move to when patrolling between points.

virtual const DtString& DtAutomotivePSR::firstWaypoint ( ) const [virtual]

Get/set the first waypoint to move to when patrolling between points.

virtual void DtAutomotivePSR::setSecondWaypoint ( const DtString objectName) [virtual]

Get/set the second waypoint to move to when patrolling between points.

virtual const DtString& DtAutomotivePSR::secondWaypoint ( ) const [virtual]

Get/set the second waypoint to move to when patrolling between points.

virtual void DtAutomotivePSR::setIsColliding ( bool  colliding) [virtual]

Get/set flag indicating if we are currently in a colliding state.

virtual bool DtAutomotivePSR::isColliding ( ) const [virtual]

Get/set flag indicating if we are currently in a colliding state.

virtual void DtAutomotivePSR::setIsClearing ( bool  clearing) [virtual]

Get/set flag indicating if we are currently clearing a collision.

virtual bool DtAutomotivePSR::isClearing ( ) const [virtual]

Get/set flag indicating if we are currently clearing a collision.

virtual void DtAutomotivePSR::setAvoidingLeft ( bool  avoidingLeft) [virtual]

Get/set flag indicating if we are turning to left to avoid collision.

virtual bool DtAutomotivePSR::avoidingLeft ( ) const [virtual]

Get/set flag indicating if we are turning to left to avoid collision.

virtual void DtAutomotivePSR::setCheckForTerrainCollisions ( bool  checkForCollisions) [virtual]

Check the terrain while moving to ensure that the entity does not move through any terrain polygons.

virtual bool DtAutomotivePSR::checkForTerrainCollisions ( ) const [virtual]

Check the terrain while moving to ensure that the entity does not move through any terrain polygons.

virtual void DtAutomotivePSR::setUseHighFidelityGroundClamping ( bool  yesOrNo) [virtual]

When clamping the entity to the ground, using high fidelity ground clamping will cause the entity to use all four support points when determining the plane on which the entity is positioned.

When not using high fidelity, the entity will only use a single support point, the center, to determine the normal. Defaults to true, as that is the safer initial value.

Note:
This can lead to errors if the support points lie on different polygons, as the entity will appear to be clamped to the polygon on which the center lies.

When clamping the entity to the ground, using high fidelity ground clamping will cause the entity to use all four support points when determining the plane on which the entity is positioned.

When not using high fidelity, the entity will only use a single support point, the center, to determine the normal. Defaults to true, as that is the safer initial value.

Note:
This can lead to errors if the support points lie on different polygons, as the entity will appear to be clamped to the polygon on which the center lies.
virtual void DtAutomotivePSR::setRoadStartPoint ( const DtVector point) [virtual]

Points which define the road that the vehicle is moving with respect to. Setting value causes valueSpecified flag to be set true.

virtual DtVector DtAutomotivePSR::roadStartPoint ( ) const [virtual]

Points which define the road that the vehicle is moving with respect to. Setting value causes valueSpecified flag to be set true.

virtual void DtAutomotivePSR::setRoadEndPoint ( const DtVector point) [virtual]

Points which define the road that the vehicle is moving with respect to. Setting value causes valueSpecified flag to be set true.

virtual DtVector DtAutomotivePSR::roadEndPoint ( ) const [virtual]

Points which define the road that the vehicle is moving with respect to. Setting value causes valueSpecified flag to be set true.

virtual void DtAutomotivePSR::unspecifyRoadPoints ( ) [virtual]

Sets the valueSpecified flag of both myRoadStartPoint and myRoadEndPoint to false.

virtual bool DtAutomotivePSR::roadPointsSpecified ( ) const [virtual]

Returns true only if both myRoadStartPoint and myRoadEndPoint are specified.

virtual void DtAutomotivePSR::setStayInLane ( bool  value) [virtual]

Specified whether an entity is allowed to take advantage of roads while moving over terrain. If unspecified, value from OPE should be used.

virtual bool DtAutomotivePSR::stayInLane ( ) const [virtual]

Specified whether an entity is allowed to take advantage of roads while moving over terrain. If unspecified, value from OPE should be used.

virtual bool DtAutomotivePSR::stayInLaneSpecified ( ) const [virtual]

Specified whether an entity is allowed to take advantage of roads while moving over terrain. If unspecified, value from OPE should be used.

virtual void DtAutomotivePSR::unspecifiyStayInLane ( ) [virtual]

Specified whether an entity is allowed to take advantage of roads while moving over terrain. If unspecified, value from OPE should be used.

virtual DtVector DtAutomotivePSR::orbitCenter ( ) const [virtual]

Specifies all parameters relating to orbiting around a specified location

virtual void DtAutomotivePSR::setOrbitCenter ( const DtVector newCenter) [virtual]

Specifies all parameters relating to orbiting around a specified location

virtual double DtAutomotivePSR::orbitRadius ( ) const [virtual]

Specifies all parameters relating to orbiting around a specified location

virtual void DtAutomotivePSR::setOrbitRadius ( double  newRadius) [virtual]

Specifies all parameters relating to orbiting around a specified location

virtual bool DtAutomotivePSR::orbitClockwise ( ) const [virtual]

Specifies all parameters relating to orbiting around a specified location

virtual void DtAutomotivePSR::setOrbitClockwise ( bool  yesOrNo) [virtual]

Specifies all parameters relating to orbiting around a specified location

virtual void DtAutomotivePSR::setRouteIsDiscovered ( bool  value) [virtual]

Sets whether the current task has been sucessfully initialized

virtual bool DtAutomotivePSR::routeIsDiscovered ( ) const [virtual]

Sets whether the current task has been sucessfully initialized

virtual int DtAutomotivePSR::currentVertex ( ) const [virtual]

Get the current vertex we are moving toward when executuing move-along behavior.

Vertices are numbered starting from 0.

virtual void DtAutomotivePSR::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.

static DtVrfProcessStateRepository* DtAutomotivePSR::creator ( const DtString rwName,
DtVrfObject vrfObject,
DtReaderWriterRegistry parentRegistry 
) [static]

Returns a newly created instance of this class.


Member Data Documentation

From DtGroundAutoController (gndAutoCntlr.h) (enum DtAutoTransmissionGear)

From DtGroundMoveToControllerComponent (gndMvToCntlr.h)

If tasked() is true, this is the name of the control object we're moving to.

From DtGroundFollowEntityController (gndFollwCtl.h)

Set when a follow entity task is received.

From DtGroundMoveAlongController (gndMvAlgCtl.h)

If tasked() is true, this is the name of the control object we're moving to.

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

which vertex to move toward).

my copy of the current route

Read/write variables to capture route state.

From DtGroundPatrolBetweenController.

Set when a patrol between task is received.

Reuse above myReverseFlag from DtGroundPatrolRouteController bool myReverseFlag;.

From DtGroundCollisionAvoidanceController (gndColAvoid.h)

Changed myCollidee from DtEntityIdentifier to object name so we can save it across scenario runs.

World point for move to location tasks.

Used by the automotive actuator when determining the orientation of the entity.

Road currently being used by DtGroundMoveToDestinationControllerComponent.

Road currently being used by DtGroundMoveToDestinationControllerComponent.

Set when entity is allowed to stay in road lanes while moving.

Determines whether we will keep moving after this task is done and hence shouldn't slow down.

Orbit parameters currently being used by DtGroundOrbitController.

Determines whether we will keep moving after this task is done and hence shouldn't slow down.

Orbit parameters currently being used by DtGroundOrbitController.

Determines whether we will keep moving after this task is done and hence shouldn't slow down.

Orbit parameters currently being used by DtGroundOrbitController.

From DtGroundMoveAlongController (gndMvAlgCtl.h)

Flag indicating whether route to follow has been discovered or not.


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)