VR-Forces Developer's Guide
 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 Member Functions
DtRoadMovementDescriptor Class Reference

A DtComponentDescriptor that has parameters that indicate how an entity should move along a rail segment path. Used by DtRailMovementController.

Inheritance diagram for DtRoadMovementDescriptor:
Inheritance graph
[legend]

Public Member Functions

 DtRoadMovementDescriptor (const DtString &name, DtReaderWriterRegistry *parentRegistry=0)
 
 DtRoadMovementDescriptor (const DtRoadMovementDescriptor &orig, DtReaderWriterRegistry *parentRegistry=0)
 
DtRoadMovementDescriptoroperator= (const DtRoadMovementDescriptor &orig)
 
virtual ~DtRoadMovementDescriptor ()
 
virtual DtString type () const
 
virtual DtComponentDescriptorclone (DtReaderWriterRegistry *parentRegistry=0) const
 
virtual bool useGroundClamping () const
 
virtual void setUseGroundCamping (bool doUse)
 
virtual bool useHighFidelityGroundClamping () const
 
virtual void setUseHighFidelityGroundClamping (bool yesOrNo)
 
virtual const double convoyFollowSpeedFactor () const
 
virtual void setConvoyFollowSpeedFactor (const double factor)
 
virtual void setPassableObjectTypes (const DtRwObjectTypeList &objectTypes)
 
virtual DtRwObjectTypeListpassableObjectTypes ()
 
virtual const DtRwObjectTypeListpassableObjectTypes () const
 
virtual void setExtraLanesEachDirection (unsigned)
 
virtual unsigned extraLanesEachDirection () const
 
virtual void setAddBreakdownLanes (bool)
 
virtual bool addBreakdownLanes () const
 
- Public Member Functions inherited from DtComponentDescriptor
 DtComponentDescriptor (const DtComponentDescriptor &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
DtComponentDescriptoroperator= (const DtComponentDescriptor &orig)
 
virtual ~DtComponentDescriptor ()
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual DtlObjPtr getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual bool init ()
 
virtual const DtStringstateAndParameterDataPrefix () const
 
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)
 
virtual const DtStringcomponentType () const
 
virtual void setMinTickPeriod (DtReal minTickPeriod)
 
virtual DtReal minTickPeriod () const
 
virtual void setMinTickPeriodVariance (DtReal minTickPeriodVariance)
 
virtual DtReal minTickPeriodVariance () const
 
virtual void setPeriodicTickWhilePaused (bool value)
 
virtual bool periodicTickWhilePaused () const
 
virtual const DtStringprocessStateRepositoryName () const
 
virtual void setProcessStateRepositoryName (const DtString &name)
 
virtual const DtStringprocessStateRepositoryType () const
 
virtual void setProcessStateRepositoryType (const DtString &type)
 
virtual void setIsEnabled (bool yesNo)
 
virtual bool isEnabled () const
 
virtual void setIsEnabledForClutterEntities (bool yesNo)
 
virtual bool isEnabledForClutterEntities () const
 
virtual void setDebugActive (bool active)
 
virtual bool debugActive () const
 
virtual void setMinTaskVisualizationTickPeriod (DtReal minTickPeriod)
 
virtual DtReal minTaskVisualizationTickPeriod () const
 
virtual void setTaskVisualizationsEnabled (bool enabled)
 
virtual bool taskVisualizationsEnabled () const
 
virtual void setCreateComponent (bool yesNo)
 
virtual bool createComponent () const
 
virtual void setCreateOnRemoteObject (bool yesNo)
 
virtual bool createOnRemoteObject () const
 
virtual const
DtRwNLengthStringVector
scriptIds () const
 
virtual DtRwNLengthStringVectorscriptIds ()
 
virtual const
DtRwScriptVariablesList
scriptVariables () const
 
virtual DtRwScriptVariablesListscriptVariables ()
 
virtual const DtRwPropertiesparameterData () const
 
virtual DtRwPropertiesparameterData ()
 
virtual const DtRwPropertiesstateData () const
 
virtual DtRwPropertiesstateData ()
 
- 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 DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs)
 
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 getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
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 aliasContaineraliases () 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 charreaderWriterType () const
 
virtual const charxmlType () 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 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 DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () 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)
 

Static Public Member Functions

static DtComponentDescriptorcreator ()
 
- Static Public Member Functions inherited from DtComponentDescriptor
static void addComponentDescriptorCreatorFcn (const DtString &type, DtComponentDescriptorCreatorFcn fcn)
 
static DtComponentDescriptorcreateComponentDescriptor (DtlObjPtr mtlStream, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
static DtComponentDescriptorcreateComponentDescriptor (const char *pName)
 
static DtComponentDescriptorcreator ()
 
static
DtComponentDescriptorFactory
factory ()
 
static void setFactory (DtComponentDescriptorFactory *factory)
 
- 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 ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Member Functions

 DtRoadMovementDescriptor ()
 
- Protected Member Functions inherited from DtComponentDescriptor
 DtComponentDescriptor ()
 
void addPrefixToStateAndParameterData ()
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Protected Attributes

Parameters

These parameters are available for setting in the OPD files.

DtRwBoolean myClampToGround
 
DtRwBoolean myUseHighFidelityGroundClamping
 
DtRwReal myConvoySpeedFactor
 
DtRwObjectTypeList myPassableObjectTypes
 
DtRwUnsigned myExtraLanes
 
DtRwBoolean myAddBreakdownLanes
 
- Protected Attributes inherited from DtComponentDescriptor
bool myPrefixAppliedToStateAndParamData
 
DtRwString myComponentType
 
DtRwReal myMinTickPeriod
 
DtRwReal myMinTickPeriodVariance
 
DtRwBoolean myPeriodicTickWhilePaused
 
DtRwString myProcessStateRepositoryName
 
DtRwString myProcessStateRepositoryType
 
DtRwBoolean myIsEnabled
 
DtRwBoolean myIsEnabledForClutterEntities
 
DtRwBoolean myDebug
 
DtRwReal myMinTaskVisualizationTickPeriod
 
DtRwBoolean myTaskVisualizationsEnabled
 
DtRwBoolean myCreateComponent
 
DtRwBoolean myCreateOnRemoteObject
 
DtRwProperties myParameterData
 
DtRwProperties myStateData
 
DtRwString myStateAndParameterDataPrefix
 
DtRwNLengthStringVector myScriptIds
 
DtRwScriptVariablesList myScriptVariables
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

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 )()
 
- Static Protected Attributes inherited from DtComponentDescriptor
static
DtComponentDescriptorFactory
myFactory
 
- 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
 

Constructor & Destructor Documentation

DtRoadMovementDescriptor::DtRoadMovementDescriptor ( const DtString name,
DtReaderWriterRegistry parentRegistry = 0 
)

constructor

DtRoadMovementDescriptor::DtRoadMovementDescriptor ( const DtRoadMovementDescriptor orig,
DtReaderWriterRegistry parentRegistry = 0 
)

copy constructor

virtual DtRoadMovementDescriptor::~DtRoadMovementDescriptor ( )
virtual

destructor

DtRoadMovementDescriptor::DtRoadMovementDescriptor ( )
protected

default constructor; not implemented

Member Function Documentation

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

assignment

virtual DtString DtRoadMovementDescriptor::type ( ) const
virtual

Returns the type of descriptor. This will be used to create the descriptor on read from an mtl file.

Reimplemented from DtComponentDescriptor.

virtual bool DtRoadMovementDescriptor::useGroundClamping ( ) const
virtual

Accessor for #myUseGroundClamping.

virtual void DtRoadMovementDescriptor::setUseGroundCamping ( bool  doUse)
virtual

Accessor for #myUseGroundClamping.

virtual bool DtRoadMovementDescriptor::useHighFidelityGroundClamping ( ) const
virtual

Accessor/mutator for myUseHighFidelityGroundClamping.

virtual void DtRoadMovementDescriptor::setUseHighFidelityGroundClamping ( bool  yesOrNo)
virtual

Accessor/mutator for myUseHighFidelityGroundClamping.

virtual const double DtRoadMovementDescriptor::convoyFollowSpeedFactor ( ) const
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 void DtRoadMovementDescriptor::setConvoyFollowSpeedFactor ( const double  factor)
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 void DtRoadMovementDescriptor::setPassableObjectTypes ( const DtRwObjectTypeList objectTypes)
virtual

Accessor/mutator for #myObjectTypes.

virtual DtRwObjectTypeList& DtRoadMovementDescriptor::passableObjectTypes ( )
virtual

Accessor/mutator for #myObjectTypes.

virtual const DtRwObjectTypeList& DtRoadMovementDescriptor::passableObjectTypes ( ) const
virtual

Accessor/mutator for #myObjectTypes.

virtual void DtRoadMovementDescriptor::setExtraLanesEachDirection ( unsigned  )
virtual

Accessor/mutator for myExtraLanes.

virtual unsigned DtRoadMovementDescriptor::extraLanesEachDirection ( ) const
virtual

Accessor/mutator for myExtraLanes.

virtual void DtRoadMovementDescriptor::setAddBreakdownLanes ( bool  )
virtual

Accessor/mutator for myAddBreakdownLanes.

virtual bool DtRoadMovementDescriptor::addBreakdownLanes ( ) const
virtual

Accessor/mutator for myAddBreakdownLanes.

virtual DtComponentDescriptor* DtRoadMovementDescriptor::clone ( DtReaderWriterRegistry parentRegistry = 0) const
virtual

Reimplemented from DtComponentDescriptor.

static DtComponentDescriptor* DtRoadMovementDescriptor::creator ( )
static

Returns
Newly created instance of this class, with an empty DtReaderWriter name. Creation methods are registered with a DtComponentDescriptorFactory, so they can be created on demand as they are read in from a parameter database file.

Member Data Documentation

DtRwBoolean DtRoadMovementDescriptor::myClampToGround
protected

Parameter Name: clamp-to-ground
Parameter Description: Specifies whether or not to clamp to the terrain when moving the entity. If not clamped, the entity is positioned on the road segment, which is assumed to be planar. This is much cheaper, computationally, than looking up a terrain elevation. If this parameter is false, then use-high-fidelity-ground-clamping is ignored.
Parameter Default Value: True.

DtRwBoolean DtRoadMovementDescriptor::myUseHighFidelityGroundClamping
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), avoiding high fidelity can provide a noticeable performance improvement.
Parameter Default Value: True.

Note
Implementation Detail: This only affects the placement of entities in the update() function, when calculating orientation, and does not affect general placement, which is done through the entity state repository.
DtRwReal DtRoadMovementDescriptor::myConvoySpeedFactor
protected

Parameter Name: convoy-follow-speed-factor
Parameter Description: This is the factor by with to multiply our ordered speed to allow us to catch up/slow down to get within the follow threshold of the convoy follow distance. Parameter Default Value: 1.2;.

DtRwObjectTypeList DtRoadMovementDescriptor::myPassableObjectTypes
protected

Parameter Name: passable-object-types
Parameter Description: Object types to treat as potential obstructions that we can drive around.
Parameter Default Value:
.

DtRwUnsigned DtRoadMovementDescriptor::myExtraLanes
protected

Parameter Name: extra-lanes-each-direction
Parameter Description: Extra lanes added to each direction of path segments.
Parameter Default Value: 0
.

DtRwBoolean DtRoadMovementDescriptor::myAddBreakdownLanes
protected

Parameter Name: add-breakdown-lanes
Parameter Description: If true, add one or two additional lanes to myExtraLanes
Parameter Default Value: 0
.


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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)