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

DtDeadReckonUpdater is a scene object updater that is given kinematic updates and updates a scene object with dead reckoned values based on those updates, configuration, and current simulation time. More...

Inheritance diagram for makVrv::DtDeadReckonUpdater:
Inheritance graph
[legend]

Public Member Functions

 DtDeadReckonUpdater (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtDeadReckonUpdater ()
 DTOR.
virtual void update (DtTime tNow)
 call updateSpacial()
virtual void setSceneObject (DtSceneObject *sceneObject)
 sets the scene object to update via the id.
virtual void setDeadReckoningSettings (bool deadReckonPosition, bool deadReckonVelocity, bool deadReckonOrientation)
 Set the object's dead reckoning settings.
virtual void setSmoothingEnabled (bool enabled)
 Turn the smoother on or off.
virtual void setSmoothingPeriod (float period)
 Set the period for the smoother.
virtual void resetSmoother ()
 Reset the smoother. Used when changing from embarked to disembarked and vice versa.
virtual void updateSpacial (DtTime tNow)
 Update the spacial attributes using the given simulation time.
void setMotionModel (const std::string &modelName)
 Set which motion model the object should use.
DtMotionModelmotionModel () const
 Get the motion model.
virtual void setUseAbsoluteTimeStamping (bool)
 Sets whether or not to use absolute time stamping (default is false).
bool useAbsoluteTimeStamping () const
virtual void setFrozen (bool frozen)
 Suspend / resume dead reckoning.
virtual bool isFrozen () const
virtual const DtVectorapproxLocation (DtTime curTime) const
 Because of time stamping, use these routines to get values from the motion model.
virtual const DtVector32 & approxVelocity (DtTime curTime) const
 Get the approximated (i.e.
virtual const DtVector32 & approxUnsmoothedVelocity (DtTime curTime) const
 Get the unsmoothed approximated (i.e.
virtual const DtTaitBryan & approxEuler (DtTime curTime) const
 Get the approximated (i.e.
virtual const DtVector32 & acceleration (DtTime curTime) const
 Get the acceleration for the specified time.
virtual const DtVector32 & rotationalVelocity (DtTime curTime) const
 Get the rotation velocity for the specified time.
virtual void setVelocity (const DtVector32 &velocity)
 Set the object's velocity.
virtual void setVelocity (const DtVector32 &velocity, double time)
virtual void setAcceleration (const DtVector32 &acceleration)
 Set the object's velocity.
virtual void setAcceleration (const DtVector32 &acceleration, double time)
virtual void setAngularVelocity (const DtVector32 &angularVelocity)
 Set the object's rotational velocity.
virtual void setAngularVelocity (const DtVector32 &angularVelocity, double time)
virtual void setInputPosition (const DtVector &position)
 Set the object's position with a time for absolute timestamping.
virtual void setInputPosition (const DtVector &position, double time)
virtual void setInputOrientation (const DtTaitBryan &ori)
 Set the object's orientation with a time specified for absolute time stampint.
virtual void setInputOrientation (const DtTaitBryan &ori, double time)
- Public Member Functions inherited from makVrv::DtSceneObjectUpdater
 DtSceneObjectUpdater (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtSceneObjectUpdater ()
 Virtual DTOR.
virtual void setNextUpdater (DtSceneObjectUpdater *nextUpdater)
 Set the next updater in the updater chain.
virtual void setPrevUpdater (DtSceneObjectUpdater *prevUpdater)
 Set the previous updater in the updater chain.
virtual bool needsUpdate (DtTime tNow)
 The check function called by DtTickableManager to verify if an update is required.
virtual void setVertexToUpdate (unsigned int vertex)
 Specify which vertex in the scene object this updater updates.
virtual void setOutputPosition (const DtVector &position)
 Output the resultant position.
virtual void setOutputOrientation (const DtTaitBryan &orientation)
 Output the resultant orientation.
virtual DtTime lastUpdateTime () const
 Get the time-stamp of the last update.
DtUniqueID uniqueId () const
 Returns the distributed object id of this updater.
DtSceneObjectUpdaterfindNextUpdater () const
 Return the next updater in the updater chain.
DtSceneObjectUpdaterfindPrevUpdater () const
 Return the previous updater in the updater chain.
DtSceneObjectfindSceneObject ()
 Get the current scene object for this updater.
DtSceneObject *const findSceneObject () const
 const correct version
- Public Member Functions inherited from makVrv::DtTickable
virtual ~DtTickable ()
 Virtual DTOR.
virtual void setUpdatePeriod (unsigned int period)
 Specify how often (in # of frames) this tickable should call update.
virtual unsigned int updatePeriod () const

Protected Attributes

DtMotionModelmyMotionModel
std::string myMotionModelType
unsigned int myDeadReckoningSetting
float mySmoothingPeriod
bool mySmoothingEnabled
bool myUseAbsoluteTimeStamping
DtVector32 myLastVelocity
DtVector32 myLastAcceleration
DtVector32 myLastAngularVelocity
DtVector myLastPosition
DtTaitBryan myLastOrientation
boost::signalslib::connection myModelAddedConnection
boost::signalslib::connection myModelRemovedConnection
- Protected Attributes inherited from makVrv::DtSceneObjectUpdater
DtDemyDe
 The display engine.
DtUniqueID myUniqueId
 This distributed object's unique identifier.
DtSceneObjectmySceneObject
 A pointer to the current scene object being updated.
boost::signalslib::connection mySceneObjectConnection
DtTime myLastUpdateTime
 The last time stamp when the update()
DtSceneObjectUpdatermyNextUpdater
 The next updater in the chain (or NULL)
DtSceneObjectUpdatermyPrevUpdater
 The previous updater in the chain (or NULL)
unsigned int myVertexToUpdate
 The default scene object vertex to update.
DtVector myInputPosition
 Input position.
DtTaitBryan myInputOrientation
 Input Orientation.
bool myPositionDataOutputted
 Flag to indicate if setOutputPosition has been called this tick.
bool myOrientationDataOutputted
 Flag to indicate if setOutputOrientation has been called this tick.
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction.
DtSignalConnectionManager myConnections
unsigned int myFrameCounter
unsigned int myFrameToUpdate
unsigned int myUpdatePeriod

Additional Inherited Members

- Public Attributes inherited from makVrv::DtSceneObjectUpdater
boost::signal< void(const
DtUniqueID &) > 
signal_updaterToBeDeleted
- Protected Member Functions inherited from makVrv::DtSceneObjectUpdater
virtual void slot_sceneObjectToBeDeleted (const DtUniqueID &id)

Detailed Description

DtDeadReckonUpdater is a scene object updater that is given kinematic updates and updates a scene object with dead reckoned values based on those updates, configuration, and current simulation time.

Constructor & Destructor Documentation

makVrv::DtDeadReckonUpdater::DtDeadReckonUpdater ( DtDe de,
DtUniqueID  id 
)

CTOR.

virtual makVrv::DtDeadReckonUpdater::~DtDeadReckonUpdater ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtDeadReckonUpdater::update ( DtTime  tNow)
virtual
virtual void makVrv::DtDeadReckonUpdater::setSceneObject ( DtSceneObject sceneObject)
virtual

sets the scene object to update via the id.

This override called the base implementation as well as ensuring the current motion model is updating the current models on the scene object.

Reimplemented from makVrv::DtSceneObjectUpdater.

virtual void makVrv::DtDeadReckonUpdater::setVelocity ( const DtVector32 &  velocity)
virtual

Set the object's velocity.

virtual void makVrv::DtDeadReckonUpdater::setVelocity ( const DtVector32 &  velocity,
double  time 
)
virtual
virtual void makVrv::DtDeadReckonUpdater::setAcceleration ( const DtVector32 &  acceleration)
virtual

Set the object's velocity.

virtual void makVrv::DtDeadReckonUpdater::setAcceleration ( const DtVector32 &  acceleration,
double  time 
)
virtual
virtual void makVrv::DtDeadReckonUpdater::setAngularVelocity ( const DtVector32 &  angularVelocity)
virtual

Set the object's rotational velocity.

virtual void makVrv::DtDeadReckonUpdater::setAngularVelocity ( const DtVector32 &  angularVelocity,
double  time 
)
virtual
virtual void makVrv::DtDeadReckonUpdater::setInputPosition ( const DtVector position)
virtual

Set the object's position with a time for absolute timestamping.

Reimplemented from makVrv::DtSceneObjectUpdater.

virtual void makVrv::DtDeadReckonUpdater::setInputPosition ( const DtVector position,
double  time 
)
virtual
virtual void makVrv::DtDeadReckonUpdater::setInputOrientation ( const DtTaitBryan &  ori)
virtual

Set the object's orientation with a time specified for absolute time stampint.

Reimplemented from makVrv::DtSceneObjectUpdater.

virtual void makVrv::DtDeadReckonUpdater::setInputOrientation ( const DtTaitBryan &  ori,
double  time 
)
virtual
virtual void makVrv::DtDeadReckonUpdater::setDeadReckoningSettings ( bool  deadReckonPosition,
bool  deadReckonVelocity,
bool  deadReckonOrientation 
)
virtual

Set the object's dead reckoning settings.

virtual void makVrv::DtDeadReckonUpdater::setSmoothingEnabled ( bool  enabled)
virtual

Turn the smoother on or off.

virtual void makVrv::DtDeadReckonUpdater::setSmoothingPeriod ( float  period)
virtual

Set the period for the smoother.

virtual void makVrv::DtDeadReckonUpdater::resetSmoother ( )
virtual

Reset the smoother. Used when changing from embarked to disembarked and vice versa.

virtual void makVrv::DtDeadReckonUpdater::updateSpacial ( DtTime  tNow)
virtual

Update the spacial attributes using the given simulation time.

void makVrv::DtDeadReckonUpdater::setMotionModel ( const std::string &  modelName)

Set which motion model the object should use.

DtMotionModel* makVrv::DtDeadReckonUpdater::motionModel ( ) const

Get the motion model.

virtual void makVrv::DtDeadReckonUpdater::setUseAbsoluteTimeStamping ( bool  )
virtual

Sets whether or not to use absolute time stamping (default is false).

If true, when the update method is called the de's systemClock() will be used rather than the supplied simulation time

bool makVrv::DtDeadReckonUpdater::useAbsoluteTimeStamping ( ) const
virtual void makVrv::DtDeadReckonUpdater::setFrozen ( bool  frozen)
virtual

Suspend / resume dead reckoning.

virtual bool makVrv::DtDeadReckonUpdater::isFrozen ( ) const
virtual
virtual const DtVector& makVrv::DtDeadReckonUpdater::approxLocation ( DtTime  curTime) const
virtual

Because of time stamping, use these routines to get values from the motion model.

Do not go to the motion model itself Get the approximated (i.e. dead-reckoned for base DtDeadReckoner) location at the specified time.

virtual const DtVector32& makVrv::DtDeadReckonUpdater::approxVelocity ( DtTime  curTime) const
virtual

Get the approximated (i.e.

dead-reckoned for base DtDeadReckoner) velocity at the specified time. Note that the 'smoothed' velocity is a misnomer - this velocity has really been potentially 'de-smoothed' to provide a smoothed location when used to do smoothing

virtual const DtVector32& makVrv::DtDeadReckonUpdater::approxUnsmoothedVelocity ( DtTime  curTime) const
virtual

Get the unsmoothed approximated (i.e.

dead-reckoned for base DtDeadReckoner) velocity at the specified time.

virtual const DtTaitBryan& makVrv::DtDeadReckonUpdater::approxEuler ( DtTime  curTime) const
virtual

Get the approximated (i.e.

dead-reckoned for base DtDeadReckoner) orientation at the specified time.

virtual const DtVector32& makVrv::DtDeadReckonUpdater::acceleration ( DtTime  curTime) const
virtual

Get the acceleration for the specified time.

virtual const DtVector32& makVrv::DtDeadReckonUpdater::rotationalVelocity ( DtTime  curTime) const
virtual

Get the rotation velocity for the specified time.

Member Data Documentation

DtMotionModel* makVrv::DtDeadReckonUpdater::myMotionModel
protected
std::string makVrv::DtDeadReckonUpdater::myMotionModelType
protected
unsigned int makVrv::DtDeadReckonUpdater::myDeadReckoningSetting
protected
float makVrv::DtDeadReckonUpdater::mySmoothingPeriod
protected
bool makVrv::DtDeadReckonUpdater::mySmoothingEnabled
protected
bool makVrv::DtDeadReckonUpdater::myUseAbsoluteTimeStamping
protected
DtVector32 makVrv::DtDeadReckonUpdater::myLastVelocity
protected
DtVector32 makVrv::DtDeadReckonUpdater::myLastAcceleration
protected
DtVector32 makVrv::DtDeadReckonUpdater::myLastAngularVelocity
protected
DtVector makVrv::DtDeadReckonUpdater::myLastPosition
protected
DtTaitBryan makVrv::DtDeadReckonUpdater::myLastOrientation
protected
boost::signalslib::connection makVrv::DtDeadReckonUpdater::myModelAddedConnection
protected
boost::signalslib::connection makVrv::DtDeadReckonUpdater::myModelRemovedConnection
protected

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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)