![]() |
VR-Forces 4.2 Class Documentation
|
A DtComponentDescriptor that has parameters that indicate how an entity should move along a rail segment path. More...

Public Member Functions | |
| DtRailMovementDescriptor (const DtString &name, DtReaderWriterRegistry *parentRegistry=0) | |
| constructor | |
| DtRailMovementDescriptor (const DtRailMovementDescriptor &orig, DtReaderWriterRegistry *parentRegistry=0) | |
| copy constructor | |
| DtRailMovementDescriptor & | operator= (const DtRailMovementDescriptor &orig) |
| assignment | |
| virtual | ~DtRailMovementDescriptor () |
| destructor | |
| virtual DtString | type () const |
| Returns the type of descriptor. | |
| virtual DtComponentDescriptor * | clone (DtReaderWriterRegistry *parentRegistry=0) const |
| virtual void | setUseTurnSmoothing (bool smooth) |
| Accessor/mutator for myUseTurnSmoothing. | |
| virtual bool | useTurnSmoothing () const |
| Accessor/mutator for myUseTurnSmoothing. | |
| virtual void | setUseAcceleration (bool acc) |
| Accessor/mutator for myUseAcceleration. | |
| virtual bool | useAcceleration () const |
| Accessor/mutator for myUseAcceleration. | |
| virtual void | setTurnSpeed (double speed) |
| Speed to use in turns. | |
| virtual const double | turnSpeed () const |
| Speed to use in turns. | |
| virtual void | setAllowToPass (bool pass) |
| Accessor/mutator for #myAllowToPass. | |
| virtual bool | allowToPass () const |
| Speed to use in turns. | |
| virtual bool | useHighFidelityGroundClamping () const |
| Accessor/mutator for myUseHighFidelityGroundClamping. | |
| virtual void | setUseHighFidelityGroundClamping (bool yesOrNo) |
| Accessor/mutator for myUseHighFidelityGroundClamping. | |
| virtual bool | drawDebugTurnSplinePoints () const |
| Turn on/off debug turn paths. | |
| virtual void | setDrawDebugTurnSplinePoints (bool draw) |
| Turn on/off debug turn paths. | |
| virtual const double | maxFollowThreshold () const |
| 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. | |
| virtual void | setMaxFollowThreshold (const double threshold) |
| 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. | |
| virtual const double | convoyFollowSpeedFactor () const |
| This is the factor by with to multiply the entity's current speed to catch up or slow down to the the convoy follow target if the entity has one. | |
| virtual void | setConvoyFollowSpeedFactor (const double factor) |
| This is the factor by with to multiply the entity's current speed to catch up or slow down to the the convoy follow target if the entity has one. | |
| virtual const double | lookAheadDistance () const |
| This is the distance the vehicle will look ahead for obstacles on the road. | |
| virtual void | setLookAheadDistance (const double distance) |
| This is the distance the vehicle will look ahead for obstacles on the road. | |
| virtual const double | hitTimeLaneChange () const |
| This is the time in seconds before deciding to lane change if about to hit another vehicle. | |
| virtual void | setHitTimeLaneChange (const double time) |
| This is the time in seconds before deciding to lane change if about to hit another vehicle. | |
| virtual void | setPassableObjectTypes (const DtRwObjectTypeList &objectTypes) |
| Accessor/mutator for #myObjectTypes. | |
| virtual DtRwObjectTypeList & | passableObjectTypes () |
| Accessor/mutator for #myObjectTypes. | |
| virtual const DtRwObjectTypeList & | passableObjectTypes () const |
| Accessor/mutator for #myObjectTypes. | |
Public Member Functions inherited from DtComponentDescriptor | |
| DtComponentDescriptor (const DtComponentDescriptor &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor | |
| DtComponentDescriptor & | operator= (const DtComponentDescriptor &orig) |
| assignment | |
| virtual | ~DtComponentDescriptor () |
| virtual void | putData (FILE *fp, int indentLevel=0) |
| Overrides base class putData to output our type. | |
| virtual DtlObjPtr | getData (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings) |
| getData is just used to get us past the type in the data stream, since it's not actually stored. | |
| virtual bool | init () |
| Base class init does nothing, but will be called by createComponentDescriptor(), allowing derived classes to do memory allocation if necessary. | |
| bool | operator== (const DtComponentDescriptor &) const |
| DtComponentDescriptor (const DtString &componentName, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtComponentDescriptor (const DtSymbolString &componentName, DtReaderWriterRegistry *parentRegistry=NULL) | |
| virtual void | setComponentType (const DtString &componentType) |
| Type of DtSimComponent this descriptor is associated with. | |
| virtual const DtString & | componentType () const |
| Type of DtSimComponent this descriptor is associated with. | |
| virtual void | setMinTickPeriod (DtReal minTickPeriod) |
| virtual DtReal | minTickPeriod () const |
| virtual void | setMinTickPeriodVariance (DtReal minTickPeriodVariance) |
| virtual DtReal | minTickPeriodVariance () const |
| virtual void | setTickPeriodUsesRealTime (bool value) |
| Accessor/mutator for myTickPeriodUsesRealTime. | |
| virtual bool | tickPeriodUsesRealTime () const |
| Accessor/mutator for myTickPeriodUsesRealTime. | |
| virtual const DtString & | processStateRepositoryName () const |
| Name which this component will assign to its PSR. | |
| virtual void | setProcessStateRepositoryName (const DtString &name) |
| Name which this component will assign to its PSR. | |
| virtual const DtString & | processStateRepositoryType () const |
| Type of PSR this component will create. | |
| virtual void | setProcessStateRepositoryType (const DtString &type) |
| Type of PSR this component will create. | |
| virtual void | setIsEnabled (bool yesNo) |
| Is the component enabled or not. | |
| virtual bool | isEnabled () const |
| Is the component enabled or not. | |
| virtual void | setDebugActive (bool active) |
| Should detailed debug info be printed for this component. | |
| virtual bool | debugActive () |
| Should detailed debug info be printed for this component. | |
| virtual void | setCreateComponent (bool yesNo) |
| Should the component be created or not. | |
| virtual bool | createComponent () const |
| Should the component be created or not. | |
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 DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| assignment operator | |
| bool | operator== (const DtReaderWriter &) const |
| Equivalence operator. | |
| bool | operator!= (const DtReaderWriter &rhs) |
| virtual | ~DtReaderWriter () |
| destructor | |
| virtual void | putSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| Top level call to write itself to file. | |
| 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 aliasContainer & | aliases () 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 DtReaderWriterRegistry & | registry () const |
| Collection of child DtReaderWriter nodes owned by this object. | |
| DtReaderWriterRegistry & | registry () |
| Collection of child DtReaderWriter nodes owned by this object. | |
Static Public Member Functions | |
| static DtComponentDescriptor * | creator () |
| | |
Static Public Member Functions inherited from DtComponentDescriptor | |
| static void | addComponentDescriptorCreatorFcn (const DtString &type, DtComponentDescriptorCreatorFcn fcn) |
| Adds a given component descriptor creation function and corresponding type (defined in compDescTypes.h) to the DtComponentDescriptorFactory. | |
| static DtComponentDescriptor * | createComponentDescriptor (DtlObjPtr mtlStream, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings) |
| Creates and initializes a component descriptor when reading in from an MTL (MAK Technologies Lisp) file (i.e. | |
| static DtComponentDescriptor * | createComponentDescriptor (const char *pName) |
| Creates and initializes a new instance of this class. | |
| static DtComponentDescriptorFactory * | factory () |
| The factory for creating objects of type DtComponentDescriptor. | |
| static void | setFactory (DtComponentDescriptorFactory *factory) |
| The factory for creating objects of type DtComponentDescriptor. | |
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 Member Functions | |
| DtRailMovementDescriptor () | |
| default constructor; not implemented | |
Protected Member Functions inherited from DtComponentDescriptor | |
| DtComponentDescriptor () | |
| default constructor; not implemented | |
Protected Member Functions inherited from DtReaderWriter | |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| Copies values from the specified DtReaderWriter. | |
| 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. | |
| virtual DtlObjPtr | getData (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings) |
| Deriving class overrides these to get/put class specific data. | |
Protected Attributes | |
Parameters | |
These parameters are available for setting in the OPD files. | |
| DtRwBoolean | myUseTurnSmoothing |
| Parameter Name: use-turn-smoothing Parameter Description: When true entity will generate a curved path to follow when it turns. | |
| DtRwBoolean | myUseAcceleration |
| Parameter Name: use-acceleration Parameter Description: When true velocity changes are not instantaneous, acceleration is used to arrive at the desired velocity over time. | |
| DtRwReal | myTurnSpeed |
| Parameter Name: turn-speed Parameter Description: When going thru a turn use this speed if use acceleration is true Parameter Default Value: 2.0 Parameter Units: meters/second. | |
| DtRwBoolean | myAllowPass |
| Parameter Name: allow-passing Parameter Description: Determines whether an entity is allow to pass another entiy in front of it provided it has an adjoinging open lane to do so. | |
| DtRwBoolean | myUseHighFidelityGroundClamping |
| Parameter Name: use-high-fidelity-ground-clamping Parameter Description: Specifies whether or not to use all four of the entity's support points when determining the orientation/placement of the entities, or to use just the center support point. | |
| DtRwBoolean | myDrawDebugSplineRoute |
| Parameter Name: draw-debug-spline-points Parameter Description: Draws the 3 points as a route used to genereate the turn spline Parameter Default Value: True. | |
| DtRwReal | myMaxFollowThreshold |
| Parameter Name: convoy-follow-tolerance Parameter Description: This is the maximum delta they can have off of the follow distance before the rail controller will change the speed. | |
| DtRwReal | myConvoySpeedFactor |
| Parameter Name: convoy-follow-speed-factor Parameter Description: This is the factor by with to multiply our speed to catch up/slow down to get within the follow threshold of the convoy follow distance. | |
| DtRwReal | myLookAheadDistance |
| Parameter Name: rail-look-ahead-distance Parameter Description: This is the distance the vehicle will look ahead while rail driving Parameter Default Value: 30.0;. | |
| DtRwReal | myHitTimeLaneChange |
| Parameter Name: rail-hit-time-lane-change Parameter Description: This is the time of impact in which vehicles will decide to change lanes. | |
| DtRwObjectTypeList | myPassableObjectTypes |
| Parameter Name: passable-object-types Parameter Description: Object types to treat as potential obstructions that we can drive around. | |
Protected Attributes inherited from DtComponentDescriptor | |
| DtRwBoolean | myIsEnabled |
| DtRwBoolean | myDebug |
| This parameter defaults to false. | |
| DtRwBoolean | myCreateComponent |
| DtRwString | myComponentType |
| Parameter Name: component-type Parameter Description: String identifying type of component. | |
| DtRwReal | myMinTickPeriod |
| Parameter Name: min-tick-period Parameter Description: Minimum tick period for this component. | |
| DtRwReal | myMinTickPeriodVariance |
| Parameter Name: min-tick-period-variance Parameter Description: Minimum tick period for this component. | |
| DtRwBoolean | myTickPeriodUsesRealTime |
| Parameter Name: tick-period-uses-real-time Parameter Description: Specified whether the min-tick-period and min-tick-period-variance parameters are based on real time or simulation time. | |
| DtRwString | myProcessStateRepositoryName |
| Parameter Name: process-state-repository-name Parameter Description: Name of the process state repository associated with this component. | |
| DtRwString | myProcessStateRepositoryType |
| Parameter Name: process-state-repository-type Parameter Description: Type of the process state repository assoicated with this component. | |
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 )() |
Static Protected Attributes inherited from DtComponentDescriptor | |
| static DtComponentDescriptorFactory * | myFactory |
A DtComponentDescriptor that has parameters that indicate how an entity should move along a rail segment path.
Used by DtRailMovementController
| DtRailMovementDescriptor::DtRailMovementDescriptor | ( | const DtString & | name, |
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
constructor
| DtRailMovementDescriptor::DtRailMovementDescriptor | ( | const DtRailMovementDescriptor & | orig, |
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
copy constructor
|
virtual |
destructor
|
protected |
default constructor; not implemented
| DtRailMovementDescriptor& DtRailMovementDescriptor::operator= | ( | const DtRailMovementDescriptor & | orig | ) |
assignment
|
virtual |
Returns the type of descriptor.
This will be used to create the descriptor on read from an mtl file.
Reimplemented from DtComponentDescriptor.
|
virtual |
Accessor/mutator for myUseTurnSmoothing.
|
virtual |
Accessor/mutator for myUseTurnSmoothing.
|
virtual |
Accessor/mutator for myUseAcceleration.
|
virtual |
Accessor/mutator for myUseAcceleration.
|
virtual |
Speed to use in turns.
|
virtual |
Speed to use in turns.
|
virtual |
Accessor/mutator for #myAllowToPass.
|
virtual |
Speed to use in turns.
|
virtual |
Accessor/mutator for myUseHighFidelityGroundClamping.
|
virtual |
Accessor/mutator for myUseHighFidelityGroundClamping.
|
virtual |
Turn on/off debug turn paths.
This will draw a route thru the 3 points used to make the turn spline if turn smoothing is on.
|
virtual |
Turn on/off debug turn paths.
This will draw a route thru the 3 points used to make the turn spline if turn smoothing is on.
|
virtual |
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.
|
virtual |
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.
|
virtual |
This is the factor by with to multiply the entity's current speed to catch up or slow down to the the convoy follow target if the entity has one.
|
virtual |
This is the factor by with to multiply the entity's current speed to catch up or slow down to the the convoy follow target if the entity has one.
|
virtual |
This is the distance the vehicle will look ahead for obstacles on the road.
|
virtual |
This is the distance the vehicle will look ahead for obstacles on the road.
|
virtual |
This is the time in seconds before deciding to lane change if about to hit another vehicle.
|
virtual |
This is the time in seconds before deciding to lane change if about to hit another vehicle.
|
virtual |
Accessor/mutator for #myObjectTypes.
|
virtual |
Accessor/mutator for #myObjectTypes.
|
virtual |
Accessor/mutator for #myObjectTypes.
|
virtual |
Reimplemented from DtComponentDescriptor.
|
static |
Reimplemented from DtComponentDescriptor.
|
protected |
Parameter Name: use-turn-smoothing Parameter Description: When true entity will generate a curved path to follow when it turns.
Using this does take more processing. If false, the entity when it comes to a turn will instantenously change it's heading to align with the next segment in the path. Parameter Default Value: true.
|
protected |
Parameter Name: use-acceleration Parameter Description: When true velocity changes are not instantaneous, acceleration is used to arrive at the desired velocity over time.
Parameter Default Value: False
|
protected |
Parameter Name: turn-speed Parameter Description: When going thru a turn use this speed if use acceleration is true Parameter Default Value: 2.0 Parameter Units: meters/second.
|
protected |
Parameter Name: allow-passing
Parameter Description: Determines whether an entity is allow to pass another entiy in front of it provided it has an adjoinging open lane to do so.
Parameter Default Value: True
|
protected |
Parameter Name: use-high-fidelity-ground-clamping
Parameter Description: Specifies whether or not to use all four of the entity's support points when determining the orientation/placement of the entities, or to use just the center support point.
For most entities on most terrains, the single support point is an acceptable trade-off, but the default value is true to ensure more correct behavior in general. For complex terrains, large numbers of ground entities (especially individual platform entities), this can be a noticeable performance improvement.
Parameter Default Value: True
|
protected |
Parameter Name: draw-debug-spline-points
Parameter Description: Draws the 3 points as a route used to genereate the turn spline
Parameter Default Value: True.
|
protected |
Parameter Name: convoy-follow-tolerance
Parameter Description: 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.
Parameter Default Value: 5 m
|
protected |
Parameter Name: convoy-follow-speed-factor
Parameter Description: This is the factor by with to multiply our speed to catch up/slow down to get within the follow threshold of the convoy follow distance.
Parameter Default Value: 1.1;
|
protected |
Parameter Name: rail-look-ahead-distance
Parameter Description: This is the distance the vehicle will look ahead while rail driving Parameter Default Value: 30.0;.
|
protected |
Parameter Name: rail-hit-time-lane-change
Parameter Description: This is the time of impact in which vehicles will decide to change lanes.
Parameter Default Value: 10.0;
|
protected |
Parameter Name: passable-object-types
Parameter Description: Object types to treat as potential obstructions that we can drive around.
Parameter Default Value: