VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes
DtRailMovementControllerPSR Class Reference

Instances of DtRailMovementControllerPSR are used to hold the shared/checkpointable data for a rail movement system. More...

Inheritance diagram for DtRailMovementControllerPSR:
Inheritance graph
[legend]

Public Member Functions

 DtRailMovementControllerPSR (DtVrfObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 constructor More...
 
 DtRailMovementControllerPSR (const DtRailMovementControllerPSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 copy constructor More...
 
virtual ~DtRailMovementControllerPSR ()
 destructor More...
 
DtRailMovementControllerPSRoperator= (const DtRailMovementControllerPSR &orig)
 assignment operator More...
 
virtual
DtVrfProcessStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
 returns a newly created copy of this object More...
 
virtual DtString type () const
 Returns the string type of the repository, as defined in procSRTypes.h. More...
 
virtual void setCurrentMovementState (DtRailMovementState state)
 
virtual DtRailMovementState currentMovementState () const
 
virtual double offsetFromLaneCenterline () const
 The lateral offset from the current lane's center line. More...
 
virtual void setOffsetFromLaneCenterline (const double offset)
 
virtual double laneChangeWidth () const
 Indicates the total distance between lane centerlines of the lane change maneuver being performed. More...
 
virtual void setLaneChangeWidth (const double f)
 
void setConvoyUseCatchUpSpeed (const bool useCatchUpSpeed)
 
const bool convoyUseCatchUpSpeed () const
 
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. More...
 
virtual bool useHighFidelityGroundClamping () const
 
virtual void resetSegmentIndex ()
 
virtual void incrementSegmentIndex ()
 
virtual const int segmentIndex () const
 
virtual void setSegmentIndex (const int)
 
virtual double positionAlongLane () const
 The linear position pf the turn center (rear axle) along the current road segment. More...
 
virtual void setPositionAlongLane (const double p)
 
virtual double speedAlongLane () const
 The 1-dimensional speed of the entity along the lane. More...
 
virtual void setSpeedAlongLane (const double s)
 
virtual double accelerationAlongLane () const
 The 1-dimensional acceleration of the entity along the lane. More...
 
virtual void setAccelerationAlongLane (const double a)
 
virtual void setCurrentLanePosition (const int lane)
 This is the lane we are currently traveling in, or moving to in a lane-change maneuver. More...
 
virtual const int currentLanePosition () const
 
virtual void setCurrentLaneNumber (const int lane)
 The function to use: More...
 
virtual const int currentLaneNumber () const
 
virtual void setPassingLanePosition (const int lane)
 This is the lane the entity is going to in a lane-change maneuver. More...
 
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 const
DtRwVrfObjectReference
convoyFollowTarget () const
 Was: convoyFollowTargetName. More...
 
virtual DtRwVrfObjectReferenceconvoyFollowTarget ()
 
virtual void setConvoyFollowDistance (const double dist)
 
virtual const double convoyFollowDistance () const
 
virtual const double maxFollowThreshold () const
 
virtual void setMaxFollowThreshold (const double threshold)
 
- 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. More...
 
virtual bool loadedFromMTL () const
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 Top level to read itself from an input stream. More...
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor More...
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream. More...
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 pseudo-copy constructor More...
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor More...
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator More...
 
bool operator== (const DtReaderWriter &) const
 Equivalence operator. More...
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 destructor More...
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Top level call to write itself to file. More...
 
virtual void postPutSelf ()
 Called after either version of put self (file or environment). Default is no-op. More...
 
virtual void prePutSelf ()
 Called before either version of put self (file or environment). Default is no-op. More...
 
virtual void postGetSelf ()
 Called after either version of getSelf (mtl or environment). Default is no-op. More...
 
virtual void preGetSelf ()
 Called before either version of get self (file or environment). Default is no-op. More...
 
virtual void writeSelf (std::string &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. More...
 
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object. More...
 
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object. More...
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 Set read-only flag. More...
 
bool isReadonly () const
 
virtual void reset ()
 For those reader/writer items that support it, resets the reader/writer value to original state Default is no-op. More...
 
virtual int alignment () const
 For those items that are sent over the network via HLA, this will give the network alignment. More...
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false. More...
 
virtual void setName (const DtString &)
 Set the name of the object. More...
 
virtual const charreaderWriterType () const
 Used to supply a string type that this reader writer type is. More...
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable. More...
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children. More...
 
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. More...
 
virtual bool hasVariableReference () const
 Returns true if this item or any item in the registry (recursive) is a variable reference. More...
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 Checks to see if this RW object is a variable reference that can be bound using the provided bindings. More...
 
virtual void recordUpdateTime () const
 Can be implemented in subclasses to stamp the time when updated. More...
 
virtual bool wasUpdatedSince (DtTime t) const
 Can be implemented in subclasses to return true if an update occurred after the specified time. More...
 
virtual bool changedSinceLastChecked ()
 Returns true if this objects value has changed since the last time this function was called. More...
 
virtual bool peekChangedSinceLastChecked () const
 Returns the value that changedSinceLastChecked would return but does not reset the internal flag. More...
 
virtual void putData (std::string &fp, int indentLevel=0)
 Deriving class overrides these to get/put class specific data. More...
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values. More...
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere. More...
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively. More...
 
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference. More...
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 The default value to use if the reader/writer object is a variable and that variable is not specified. More...
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. More...
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Give the stream, if the stream contains a default value then set it here. More...
 
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object. More...
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 Iterates over the registry (recursively) and returns a variable bindings object that contains all the variables that are contained in this read/writer class. More...
 
virtual bool toXml (const DtFilename &) const
 Writes contents of xml result to the given filename. More...
 
virtual bool fromXml (const DtString &)
 Restores object from given xml string. Returns true if valid. More...
 
virtual bool fromXmlFile (const DtFilename &)
 Restores object from given xml file. More...
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 Override to add attributes of actual data. More...
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 Called when the item is a variable reference. More...
 
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())
 Gets data from the environment value. More...
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op. More...
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 Called when the item is a variable reference. More...
 

Static Public Member Functions

static
DtVrfProcessStateRepository
creator (const DtString &rwName, DtVrfObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
 Returns a newly created instance of this class. More...
 
- Static Public Member Functions inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
factory ()
 a DtVrfProcessStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set. More...
 
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. More...
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 The type that is used when archiving to an XML stream. More...
 
static const DtFilename & appPath ()
 Gets the current working directory. More...
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 Sets the function to create the DtReaderWriterFactory. More...
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 Given a filename, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 Given a xml string, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 Given a xml environment, returns a newly created reader/writer object from the object found within. More...
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 Gets the named attribute from a DtEnvValueSP. More...
 

Protected Attributes

DtRwInt myCurrentMovementState
 
DtRwBoolean myUseHighFidelityGroundClamping
 Used by the rail updater when determining the orientation of the entity on the terrain. More...
 
DtRwInt mySegmentIndex
 Keep track of which segment we're on. More...
 
DtRwReal myPositionAlongLane
 The current linear position along the segment in the current lane. More...
 
DtRwReal myLateralOffset
 The current offset from the current lane centerline. More...
 
DtRwReal myLaneChangeWidth
 Indicates what the distance is between lane centerlines of the lanes the entity is between in a lane change maneuver. More...
 
DtRwInt myCurrentLanePosition
 Current lane number. More...
 
DtRwInt myPassingLanePosition
 Lane number of lane we are moving to. More...
 
DtRwBoolean myTurning
 Keep track of whether we were in a turn or not. More...
 
DtRwBoolean myAllowPassing
 Were we passing *** Not used in road movement controller; only in old rail move controller. More...
 
DtRwBoolean myPassing
 Were we passing *** Not used in road movement controller; only in old rail move controller. More...
 
DtRwBoolean myAvoidingCollision
 *** Not used in road movement controller; only in old rail move controller. More...
 
DtRwBoolean myNeedToSwitchLanes
 Keep track if we need to switch lanes. More...
 
DtRwBoolean myConvoyTargetSpecified
 Quick check to know if we have target to follow. More...
 
DtRwVrfObjectReference myConvoyFollowTarget
 Keep track of who we're following if anybody. Used for convoys. More...
 
DtRwReal myConvoyFollowDistance
 Keep track of how far behind convoy target we should follow. More...
 
DtRwBoolean myConvoyUseCatchUpSpeed
 *** Not used in road movement controller; only in old rail move controller. *** More...
 
DtRwReal myMaxFollowThreshold
 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. More...
 
DtRwReal mySpeedAlongLane
 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. More...
 
DtRwReal myAccelerationAlongLane
 
- Protected Attributes inherited from DtVrfProcessStateRepository
DtVrfObjectmyVrfObject
 
bool myLoadedFromMTL
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 Container for the aliases which represent alternative names for the object. More...
 
bool myInvalid
 Set to true if there is a problem reading this item. More...
 
bool myChangedFlag
 Set to true when value changes Set to false when value checked with changedSinceLastChecked. More...
 

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::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Protected Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository ()
 
const DtVrfObjectconst_vrfObject () const
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter. More...
 
- Static Protected Attributes inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
theFactory
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Detailed Description

Instances of DtRailMovementControllerPSR are used to hold the shared/checkpointable data for a rail movement system.

Constructor & Destructor Documentation

DtRailMovementControllerPSR::DtRailMovementControllerPSR ( DtVrfObject 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

virtual DtRailMovementControllerPSR::~DtRailMovementControllerPSR ( )
virtual

destructor

Member Function Documentation

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

assignment operator

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

returns a newly created copy of this object

Implements DtVrfProcessStateRepository.

virtual DtString DtRailMovementControllerPSR::type ( ) const
virtual

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

(DtVrfAutomotiveProcessStateRepositoryType).

Implements DtVrfProcessStateRepository.

virtual void DtRailMovementControllerPSR::setCurrentMovementState ( DtRailMovementState  state)
virtual
virtual DtRailMovementState DtRailMovementControllerPSR::currentMovementState ( ) const
virtual
virtual void DtRailMovementControllerPSR::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.
virtual bool DtRailMovementControllerPSR::useHighFidelityGroundClamping ( ) const
virtual
virtual void DtRailMovementControllerPSR::resetSegmentIndex ( )
virtual

resets to -1

virtual void DtRailMovementControllerPSR::incrementSegmentIndex ( )
virtual
virtual const int DtRailMovementControllerPSR::segmentIndex ( ) const
virtual
virtual void DtRailMovementControllerPSR::setSegmentIndex ( const int  )
virtual
virtual double DtRailMovementControllerPSR::positionAlongLane ( ) const
virtual

The linear position pf the turn center (rear axle) along the current road segment.

virtual void DtRailMovementControllerPSR::setPositionAlongLane ( const double  p)
virtual
virtual double DtRailMovementControllerPSR::speedAlongLane ( ) const
virtual

The 1-dimensional speed of the entity along the lane.

virtual void DtRailMovementControllerPSR::setSpeedAlongLane ( const double  s)
virtual
virtual double DtRailMovementControllerPSR::accelerationAlongLane ( ) const
virtual

The 1-dimensional acceleration of the entity along the lane.

virtual void DtRailMovementControllerPSR::setAccelerationAlongLane ( const double  a)
virtual
virtual double DtRailMovementControllerPSR::offsetFromLaneCenterline ( ) const
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 void DtRailMovementControllerPSR::setOffsetFromLaneCenterline ( const double  offset)
virtual
virtual double DtRailMovementControllerPSR::laneChangeWidth ( ) const
virtual

Indicates the total distance between lane centerlines of the lane change maneuver being performed.

Set when the lane change is begun.

virtual void DtRailMovementControllerPSR::setLaneChangeWidth ( const double  f)
virtual
virtual void DtRailMovementControllerPSR::setCurrentLanePosition ( const int  lane)
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.

Deprecated:

virtual const int DtRailMovementControllerPSR::currentLanePosition ( ) const
virtual
virtual void DtRailMovementControllerPSR::setCurrentLaneNumber ( const int  lane)
virtual

The function to use:

virtual const int DtRailMovementControllerPSR::currentLaneNumber ( ) const
virtual
virtual void DtRailMovementControllerPSR::setPassingLanePosition ( const int  lane)
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 const int DtRailMovementControllerPSR::passingLanePosition ( ) const
virtual
virtual void DtRailMovementControllerPSR::setTurning ( bool  turn)
virtual
virtual bool DtRailMovementControllerPSR::turning ( ) const
virtual
virtual void DtRailMovementControllerPSR::setAllowPassing ( bool  canPass)
virtual
virtual bool DtRailMovementControllerPSR::allowPassing ( ) const
virtual
virtual void DtRailMovementControllerPSR::setPassing ( bool  pass)
virtual
virtual bool DtRailMovementControllerPSR::passing ( ) const
virtual
virtual void DtRailMovementControllerPSR::setAvoidingCollision ( bool  avoid)
virtual
virtual bool DtRailMovementControllerPSR::avoidingCollision ( ) const
virtual
virtual void DtRailMovementControllerPSR::setNeedSwitchLanes ( bool  switchLane)
virtual
virtual bool DtRailMovementControllerPSR::needSwitchLanes ( ) const
virtual
virtual void DtRailMovementControllerPSR::setConvoyTargetSpecified ( bool  following)
virtual
virtual bool DtRailMovementControllerPSR::convoyTargetSpecified ( ) const
virtual
virtual void DtRailMovementControllerPSR::setConvoyFollowTarget ( const DtUUID )
virtual

Was: setConvoyFollowTargetName

virtual const DtRwVrfObjectReference& DtRailMovementControllerPSR::convoyFollowTarget ( ) const
virtual

Was: convoyFollowTargetName.

virtual DtRwVrfObjectReference& DtRailMovementControllerPSR::convoyFollowTarget ( )
virtual
virtual void DtRailMovementControllerPSR::setConvoyFollowDistance ( const double  dist)
virtual
virtual const double DtRailMovementControllerPSR::convoyFollowDistance ( ) const
virtual
void DtRailMovementControllerPSR::setConvoyUseCatchUpSpeed ( const bool  useCatchUpSpeed)
const bool DtRailMovementControllerPSR::convoyUseCatchUpSpeed ( ) const
virtual const double DtRailMovementControllerPSR::maxFollowThreshold ( ) const
virtual
virtual void DtRailMovementControllerPSR::setMaxFollowThreshold ( const double  threshold)
virtual
static DtVrfProcessStateRepository* DtRailMovementControllerPSR::creator ( const DtString rwName,
DtVrfObject vrfObject,
DtReaderWriterRegistry parentRegistry 
)
static

Returns a newly created instance of this class.

Member Data Documentation

DtRwInt DtRailMovementControllerPSR::myCurrentMovementState
protected
DtRwBoolean DtRailMovementControllerPSR::myUseHighFidelityGroundClamping
protected

Used by the rail updater when determining the orientation of the entity on the terrain.

DtRwInt DtRailMovementControllerPSR::mySegmentIndex
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.

DtRwReal DtRailMovementControllerPSR::myPositionAlongLane
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.

DtRwReal DtRailMovementControllerPSR::mySpeedAlongLane
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.

DtRwReal DtRailMovementControllerPSR::myAccelerationAlongLane
protected
DtRwReal DtRailMovementControllerPSR::myLateralOffset
protected

The current offset from the current lane centerline.

Positive is to the right.

DtRwReal DtRailMovementControllerPSR::myLaneChangeWidth
protected

Indicates what the distance is between lane centerlines of the lanes the entity is between in a lane change maneuver.

DtRwInt DtRailMovementControllerPSR::myCurrentLanePosition
protected

Current lane number.

DtRwInt DtRailMovementControllerPSR::myPassingLanePosition
protected

Lane number of lane we are moving to.

*** Not used in road movement controller; only in old rail move controller. ***

DtRwBoolean DtRailMovementControllerPSR::myTurning
protected

Keep track of whether we were in a turn or not.

*** Not used in road movement controller; only in old rail move controller. ***

DtRwBoolean DtRailMovementControllerPSR::myAllowPassing
protected

Were we passing *** Not used in road movement controller; only in old rail move controller.


DtRwBoolean DtRailMovementControllerPSR::myPassing
protected

Were we passing *** Not used in road movement controller; only in old rail move controller.


DtRwBoolean DtRailMovementControllerPSR::myAvoidingCollision
protected

*** Not used in road movement controller; only in old rail move controller.


DtRwBoolean DtRailMovementControllerPSR::myNeedToSwitchLanes
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. ***

DtRwBoolean DtRailMovementControllerPSR::myConvoyTargetSpecified
protected

Quick check to know if we have target to follow.

DtRwVrfObjectReference DtRailMovementControllerPSR::myConvoyFollowTarget
protected

Keep track of who we're following if anybody. Used for convoys.

DtRwReal DtRailMovementControllerPSR::myConvoyFollowDistance
protected

Keep track of how far behind convoy target we should follow.

DtRwBoolean DtRailMovementControllerPSR::myConvoyUseCatchUpSpeed
protected

*** Not used in road movement controller; only in old rail move controller. ***

DtRwReal DtRailMovementControllerPSR::myMaxFollowThreshold
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. ***


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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)