![]() |
VR-Forces Developer's Guide
|
Instances of DtRailMovementControllerPSR are used to hold the shared/checkpointable data for a rail movement system.

Public Member Functions | |
| DtRailMovementControllerPSR (DtLocalObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) | |
| DtRailMovementControllerPSR (const DtRailMovementControllerPSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) | |
| virtual | ~DtRailMovementControllerPSR () override |
| DtRailMovementControllerPSR & | operator= (const DtRailMovementControllerPSR &orig) |
| virtual DtVrfProcessStateRepository * | clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const override |
| virtual DtString | type () const override |
| virtual void | setCurrentMovementState (DtRailMovementState state) |
| virtual DtRailMovementState | currentMovementState () const |
| virtual double | offsetFromLaneCenterline () const |
| virtual void | setOffsetFromLaneCenterline (const double offset) |
| virtual double | laneHeading () const |
| virtual void | setLaneHeading (const double heading) |
| virtual double | laneChangeWidth () const |
| virtual void | setLaneChangeWidth (const double f) |
| virtual void | setCurrentLanePosition (const int lane) |
| virtual const int | currentLanePosition () const |
| virtual void | setCurrentLaneNumber (const int lane) |
| virtual const int | currentLaneNumber () const |
| virtual void | setIsAcquiringLane (bool isAcquiring) |
| virtual bool | isAcquiringLane () const |
| void | setConvoyUseCatchUpSpeed (const bool useCatchUpSpeed) |
| const bool | convoyUseCatchUpSpeed () const |
| virtual void | setUseHighFidelityGroundClamping (bool yesOrNo) |
| virtual bool | useHighFidelityGroundClamping () const |
| virtual void | resetSegmentIndex () |
| virtual void | incrementSegmentIndex () |
| virtual const int | segmentIndex () const |
| virtual void | setSegmentIndex (const int) |
| virtual double | positionAlongLane () const |
| virtual void | setPositionAlongLane (const double p) |
| virtual double | speedAlongLane () const |
| virtual void | setSpeedAlongLane (const double s) |
| virtual double | accelerationAlongLane () const |
| virtual void | setAccelerationAlongLane (const double a) |
| virtual void | setPassingLanePosition (const int lane) |
| virtual const int | passingLanePosition () const |
| virtual void | setTurning (bool turn) |
| virtual bool | turning () const |
| virtual void | setAllowPassing (bool canPass) |
| virtual bool | allowPassing () const |
| virtual void | setPassing (bool pass) |
| virtual bool | passing () const |
| virtual void | setAvoidingCollision (bool avoid) |
| virtual bool | avoidingCollision () const |
| virtual void | setNeedSwitchLanes (bool switchLane) |
| virtual bool | needSwitchLanes () const |
| virtual void | setConvoyTargetSpecified (bool following) |
| virtual bool | convoyTargetSpecified () const |
| virtual void | setConvoyFollowTarget (const DtUUID &) |
| virtual DtSimObjectReference | convoyFollowTarget () const |
| virtual void | setConvoyFollowDistance (const double dist) |
| virtual const double | convoyFollowDistance () const |
| virtual const double | maxFollowThreshold () const |
| virtual void | setMaxFollowThreshold (const double threshold) |
| virtual bool | useBreakdownLane () const |
| virtual void | setUseBreakdownLane (const bool bYes) |
| virtual bool | useOpposingLane () const |
| virtual void | setUseOpposingLane (const bool bYes) |
| virtual void | setUseTaskSpeed (const bool value) |
| virtual bool | useTaskSpeed () const |
| virtual void | setTaskSpeed (const double value) |
| virtual double | taskSpeed () const |
Public Member Functions inherited from DtVrfProcessStateRepository | |
| DtVrfProcessStateRepository (DtLocalObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) | |
| DtVrfProcessStateRepository (const DtVrfProcessStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) | |
| const DtVrfProcessStateRepository & | operator= (const DtVrfProcessStateRepository &orig) |
| virtual | ~DtVrfProcessStateRepository () override |
| virtual bool | init () |
| virtual bool | loadedFromMTL () const |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override |
Public Member Functions inherited from DtReaderWriter | |
| DtReaderWriter () | |
| DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL) | |
| const DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| bool | operator== (const DtReaderWriter &) const |
| bool | operator!= (const DtReaderWriter &rhs) const |
| virtual | ~DtReaderWriter () |
| virtual void | putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| virtual void | postPutSelf () |
| virtual void | prePutSelf () |
| virtual void | postGetSelf () |
| virtual void | preGetSelf () |
| virtual void | writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| virtual DtSymbolString | name () const |
| virtual void | addAlias (const DtSymbolString &alias) |
| virtual void | addAlias (const DtString &alias) |
| virtual bool | hasAlias (const DtSymbolString &alias) |
| virtual const aliasContainer & | aliases () const |
| virtual void | setReadonly (bool flag) |
| bool | isReadonly () const |
| virtual void | reset () |
| virtual int | alignment () const |
| virtual bool | variableIsBound () const |
| virtual void | unbindVariable () |
| virtual void | setName (const DtString &) |
| virtual const char * | readerWriterType () const |
| virtual const char * | xmlType () const |
| virtual DtString | prettyPrint () const |
| std::string | debugText () const |
| virtual void | bindVariables (DtVariableBindingsList variableBindings) |
| virtual std::list < DtVariableNameType > | unboundVariables () const |
| bool | invalid () const |
| virtual bool | hasChild (const DtReaderWriter *p) const |
| virtual bool | hasVariableReference () const |
| virtual void | bindLocalVariables (const DtVariableBindingsList &variableBindings) |
| virtual void | recordUpdateTime () const |
| virtual bool | changedSinceLastChecked () |
| virtual bool | peekChangedSinceLastChecked () const |
| virtual void | putData (std::string &fp, int indentLevel=0) |
| virtual DtlObjPtr | getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) |
| virtual void | setValueSpecified (bool specified, bool recurse=false) |
| virtual bool | valueSpecified () const |
| virtual bool | isVariableReference () const |
| virtual void | setIsVariableReference (bool value) |
| virtual void | clearAllVariableReferenceFlags () |
| virtual DtSymbolString | variableName () const |
| virtual void | setVariableName (const DtSymbolString variableName) |
| virtual const DtReaderWriter * | defaultRWValue () const |
| virtual DtReaderWriter * | defaultRWValue () |
| virtual void | setDefaultRWValue (DtReaderWriter *) |
| virtual bool | checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| const DtReaderWriterRegistry & | registry () const |
| DtReaderWriterRegistry & | registry () |
| virtual DtPropertyInterface * | property () |
| virtual const DtPropertyInterface * | property () const |
| virtual DtString | toXml () const |
| virtual DtRwVariableBindings * | generateVariableBindings () const |
| virtual bool | toXml (const DtFilename &) const |
| virtual bool | fromXml (const DtString &) |
| virtual bool | fromXmlFile (const DtFilename &) |
| virtual void | putSelf (DtEnvironmentSP, DtEnvValueSP parent) const |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const |
| virtual void | putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const |
| virtual void | getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| virtual void | getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| virtual void | unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) |
| virtual void | getVariableReference (DtEnvironmentSP, DtEnvValueSP value) |
| DtRailMovementControllerPSR::DtRailMovementControllerPSR | ( | DtLocalObject * | vrfObject, |
| const DtString & | rwName = DtString::nullString(), |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
constructor
| DtRailMovementControllerPSR::DtRailMovementControllerPSR | ( | const DtRailMovementControllerPSR & | orig, |
| const DtString & | rwName = DtString::nullString(), |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
copy constructor
|
overridevirtual |
destructor
| DtRailMovementControllerPSR& DtRailMovementControllerPSR::operator= | ( | const DtRailMovementControllerPSR & | orig | ) |
assignment operator
|
overridevirtual |
returns a newly created copy of this object
Implements DtVrfProcessStateRepository.
|
overridevirtual |
Returns the string type of the repository, as defined in psrTypes.h. (DtVrfAutomotiveProcessStateRepositoryType).
Implements DtVrfProcessStateRepository.
|
virtual |
|
virtual |
|
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.
|
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.
|
virtual |
resets to -1
|
virtual |
resets to -1
|
virtual |
resets to -1
|
virtual |
resets to -1
|
virtual |
The linear position of the turn center (rear axle) along the current road segment.
|
virtual |
The linear position of the turn center (rear axle) along the current road segment.
|
virtual |
The 1-dimensional speed of the entity along the lane.
|
virtual |
The 1-dimensional speed of the entity along the lane.
|
virtual |
The 1-dimensional acceleration of the entity along the lane.
|
virtual |
The 1-dimensional acceleration of the entity along the lane.
|
virtual |
The lateral offset from the current lane's center line. Positive to the right. Note that if driving on the left, this is an offset to the left in world because the road segment takes the direction toward the outside of the road to be positive in any case.
|
virtual |
|
virtual |
Heading of road in current position on lane.
|
virtual |
|
virtual |
Indicates the total distance between lane centerlines of the lane change maneuver being performed. Set when the lane change is begun.
|
virtual |
|
virtual |
Deprecated:
|
virtual |
|
virtual |
This is the lane we are currently traveling in, or moving to in a lane-change maneuver. This is a 1-based lane number.
|
virtual |
|
virtual |
This is the lane the entity is going to in a lane-change maneuver. This is a 1-based lane number. Not used in road movement controller.
|
virtual |
This is the lane the entity is going to in a lane-change maneuver. This is a 1-based lane number. Not used in road movement controller.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Indicates that the vehicle should move to get onto a lane, i.e. initially (not just changing lanes).
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Was: setConvoyFollowTargetName.
|
virtual |
Was: convoyFollowTargetName.
|
virtual |
|
virtual |
| void DtRailMovementControllerPSR::setConvoyUseCatchUpSpeed | ( | const bool | useCatchUpSpeed | ) |
| const bool DtRailMovementControllerPSR::convoyUseCatchUpSpeed | ( | ) | const |
|
virtual |
|
virtual |
|
virtual |
Road passing options.
|
virtual |
Road passing options.
|
virtual |
Road passing options.
|
virtual |
Road passing options.
|
virtual |
Sets whether to use task speed, sets value.
|
virtual |
Sets whether to use task speed, sets value.
|
virtual |
Sets whether to use task speed, sets value.
|
virtual |
Sets whether to use task speed, sets value.
|
static |
Returns a newly created instance of this class.
|
protected |
|
protected |
Used by the rail updater when determining the orientation of the entity on the terrain.
|
protected |
Keep track of which segment we're on. This index corresponds to the order of rail segments, although the rail segments are not kept in a vector. The index is incremented in parallel with advancing to the next() segment.
|
protected |
The current linear position along the segment in the current lane. This is the distance along the lane centerline from the start of the entry curve for the lane. This is the position of the turn center (rear axle), not the origin.
|
protected |
Since kinematics are based on the rail, and not on motion in space, we need speed and acceleration along the lane as state; these are not saved in the entity State Repository.
|
protected |
Since kinematics are based on the rail, and not on motion in space, we need speed and acceleration along the lane as state; these are not saved in the entity State Repository.
|
protected |
The current offset from the current lane centerline. Positive is to the right.
|
protected |
Useful for determining if the entity actual heading matches the road heading in the location it is supposed to be (see DtRoadMovementUpdater::updateLaneAcquisitionStatus.
|
protected |
Indicates what the distance is between lane centerlines of the lanes the entity is between in a lane change maneuver.
|
protected |
Current lane NUMBER. This is a 1-based lane number, with 1 on the outside.
|
protected |
Lane number of lane we are moving to. *** Not used in road movement controller; only in old rail move controller. ***.
|
protected |
Keep track of whether we were in a turn or not. *** Not used in road movement controller; only in old rail move controller. ***.
|
protected |
Were we passing *** Not used in road movement controller; only in old rail move controller. ***.
|
protected |
Were we passing *** Not used in road movement controller; only in old rail move controller. ***.
|
protected |
*** Not used in road movement controller; only in old rail move controller. ***
|
protected |
Keep track if we need to switch lanes. This could be due to an upcoming turn, need to pass someone, user told us to switch. *** Not used in road movement controller; only in old rail move controller. ***.
|
protected |
Indicates that the vehicle is off the normal lane track and is moving to get onto the road/lane, e.g. at the very beginning of the task.
|
protected |
Quick check to know if we have target to follow.
|
protected |
Keep track of who we're following if anybody. Used for convoys.
|
protected |
Keep track of how far behind convoy target we should follow.
|
protected |
*** Not used in road movement controller; only in old rail move controller. ***
|
protected |
If entity is following another entity while moving along a rail route, this is the maximum delta they can have off of the follow distance before the rail controller will change the speed. This will help prevent jerky following if the target entity's speed is changing only briefly say at a curve if using acceleration. *** Not used in road movement controller; only in old rail move controller. ***.
|
protected |
Road passing options.
|
protected |
Road passing options.
|
protected |
Are we using speed from task message, or default ordered speed?
|
protected |
Are we using speed from task message, or default ordered speed?