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 | Protected Member Functions | Protected Attributes
DtGroundInteractionPt Class Reference

Class Invariant: The DtGroundInteractionPt class must always have a valid DtAttachedTerrain or DtSimManager pointer.

Inheritance diagram for DtGroundInteractionPt:
Inheritance graph
[legend]

Public Member Functions

 DtGroundInteractionPt ()
 
 DtGroundInteractionPt (const DtVector &localPosition, const DtAttachedTerrain &refFrame)
 
 DtGroundInteractionPt (const DtString &name, DtReaderWriterRegistry *const parentRegistry=0)
 
 DtGroundInteractionPt (const DtString &name, const DtVector &localPosition=DtVector::zero(), const DtAttachedTerrain *terrainAttachedTo=0, DtReaderWriterRegistry *const parentRegistry=0)
 
virtual ~DtGroundInteractionPt () override
 
 DtGroundInteractionPt (const DtGroundInteractionPt &original)
 
DtGroundInteractionPtoperator= (const DtGroundInteractionPt &original)
 
DtGroundInteractionPtoperator= (const DtVrfChordIntersectionRecord &intersectionRecord)
 
void init (const DtVector &localPosition, const DtAttachedTerrain &terrainAttachedTo)
 
virtual bool isOnGround ()
 
virtual DtFloat64 calculatePosition2 ()
 
virtual void calculatePositionWithoutGround ()
 
virtual const DtVector & localPosition () const
 
virtual void setLocalPosition (const DtVector &position)
 
virtual const DtAttachedTerrainterrainAttachedTo () const
 
virtual void setTerrainAttachedTo (const DtAttachedTerrain *newTerrainAttachedTo)
 
virtual DtVector calculateOnGroundPlanePosition () const
 
virtual const DtVector & position () const
 
virtual void setPosition (const DtVector &position)
 
virtual DtFloat64 altitude () const
 
virtual void setAltitude (DtFloat64 alt)
 
virtual const DtVector & groundPosition () const
 
virtual void setGroundPosition (const DtVector &pos)
 
virtual DtRoughnessSoilType soilType () const
 
virtual void setSoilType (DtRoughnessSoilType type)
 
virtual const DtSurfacesurface () const
 
virtual void setSurface (const DtSurface &surface)
 
virtual void setParentPosition (const DtVector &pos)
 
virtual void setParentOrientation (const DtDcm &orient)
 
- 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) 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 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 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 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)
 

Protected Member Functions

bool testInvariant () const
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Protected Attributes

DtVector myParentPosition
 
DtDcm myParentOrientation
 
DtRwVector myLocalPosition
 
DtVector myPosition
 
DtVector myGroundPosition
 
DtFloat64 myAltitude
 
DtRoughnessSoilType mySoilType
 
DtSurface mySurface
 
const DtAttachedTerrainmyTerrainAttachedTo
 
- 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 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)
 
- 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

DtGroundInteractionPt::DtGroundInteractionPt ( )
DtGroundInteractionPt::DtGroundInteractionPt ( const DtVector &  localPosition,
const DtAttachedTerrain refFrame 
)
DtGroundInteractionPt::DtGroundInteractionPt ( const DtString name,
DtReaderWriterRegistry *const  parentRegistry = 0 
)
DtGroundInteractionPt::DtGroundInteractionPt ( const DtString name,
const DtVector &  localPosition = DtVector::zero(),
const DtAttachedTerrain terrainAttachedTo = 0,
DtReaderWriterRegistry *const  parentRegistry = 0 
)
virtual DtGroundInteractionPt::~DtGroundInteractionPt ( )
overridevirtual
DtGroundInteractionPt::DtGroundInteractionPt ( const DtGroundInteractionPt original)

Copy constructor.

Member Function Documentation

DtGroundInteractionPt& DtGroundInteractionPt::operator= ( const DtGroundInteractionPt original)

Assignment operator.

DtGroundInteractionPt& DtGroundInteractionPt::operator= ( const DtVrfChordIntersectionRecord intersectionRecord)

Assign from a chord intersection record.

void DtGroundInteractionPt::init ( const DtVector &  localPosition,
const DtAttachedTerrain terrainAttachedTo 
)

Not virtual, because called from constructor.

virtual bool DtGroundInteractionPt::isOnGround ( )
virtual

Returns true if myAltitude <= 0.0.

virtual DtFloat64 DtGroundInteractionPt::calculatePosition2 ( )
virtual

Updates the position() of the interaction point from the current position and orientation of the parent entity in local coordinates. Note that before this function is called, parentPosition and parentOrientation must be set. Also does a terrain intersection check to set groundPosition() and altitude().

virtual void DtGroundInteractionPt::calculatePositionWithoutGround ( )
virtual

Computes position() as above, but does not set groundPosition().

virtual const DtVector& DtGroundInteractionPt::localPosition ( ) const
virtual

Local position is actually the offset from the entity origin in BODY coordinates.

virtual void DtGroundInteractionPt::setLocalPosition ( const DtVector &  position)
virtual
virtual const DtAttachedTerrain* DtGroundInteractionPt::terrainAttachedTo ( ) const
virtual

The terrain that the parent entity is attached to.

virtual void DtGroundInteractionPt::setTerrainAttachedTo ( const DtAttachedTerrain newTerrainAttachedTo)
virtual
virtual DtVector DtGroundInteractionPt::calculateOnGroundPlanePosition ( ) const
virtual

Returns a position, in local coordinates, that is directly above the groundPosition() by a distance localPosition().z. The current parentOrientation must be set, and the groundPosition() must have been calculated by a call to calculatePosition or DtVrfObjectStateRepository::placePoints(). With these positions from 3 interaction points for an entity, an orientation plane can be determined.

virtual const DtVector& DtGroundInteractionPt::position ( ) const
virtual

The offset of the point from the entity origin in BODY coordinates.

virtual void DtGroundInteractionPt::setPosition ( const DtVector &  position)
virtual
virtual DtFloat64 DtGroundInteractionPt::altitude ( ) const
virtual

Altitude– updated by calculatePosition or DtVrfObjectStateRepository::placePoints().

virtual void DtGroundInteractionPt::setAltitude ( DtFloat64  alt)
virtual
virtual const DtVector& DtGroundInteractionPt::groundPosition ( ) const
virtual

The projection of the position() onto the ground.

virtual void DtGroundInteractionPt::setGroundPosition ( const DtVector &  pos)
virtual
virtual DtRoughnessSoilType DtGroundInteractionPt::soilType ( ) const
virtual

Soil type at the position(). Set by a call to Set by a call to calculatePosition or DtVrfObjectStateRepository::placePoints().

virtual void DtGroundInteractionPt::setSoilType ( DtRoughnessSoilType  type)
virtual
virtual const DtSurface& DtGroundInteractionPt::surface ( ) const
virtual

Surface at the position(). Set by a call to calculatePosition or DtVrfObjectStateRepository::placePoints().

virtual void DtGroundInteractionPt::setSurface ( const DtSurface surface)
virtual
virtual void DtGroundInteractionPt::setParentPosition ( const DtVector &  pos)
virtual

Set the position/orientation of the entity that owns this interaction point, in local coordinates.

virtual void DtGroundInteractionPt::setParentOrientation ( const DtDcm &  orient)
virtual

Set the position/orientation of the entity that owns this interaction point, in local coordinates.

bool DtGroundInteractionPt::testInvariant ( ) const
protected

Member Data Documentation

DtVector DtGroundInteractionPt::myParentPosition
protected
DtDcm DtGroundInteractionPt::myParentOrientation
protected
DtRwVector DtGroundInteractionPt::myLocalPosition
protected
DtVector DtGroundInteractionPt::myPosition
protected
DtVector DtGroundInteractionPt::myGroundPosition
protected
DtFloat64 DtGroundInteractionPt::myAltitude
protected
DtRoughnessSoilType DtGroundInteractionPt::mySoilType
protected
DtSurface DtGroundInteractionPt::mySurface
protected
const DtAttachedTerrain* DtGroundInteractionPt::myTerrainAttachedTo
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)