![]() |
VR-Forces Developer's Guide
|
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.

Public Member Functions | |
| DtDeadReckonUpdater (DtDe &de, DtUniqueID id) | |
| virtual | ~DtDeadReckonUpdater () |
| virtual void | update (DtTime tNow) |
| virtual void | setDeadReckoningSettings (bool deadReckonPosition, bool deadReckonVelocity, bool deadReckonOrientation) |
| virtual void | setSmoothingEnabled (bool enabled) |
| virtual void | setSmoothingPeriod (float period) |
| virtual void | resetSmoother () |
| virtual void | updateSpacial (DtTime tNow) |
| void | setMotionModel (const std::string &modelName) |
| DtMotionModel * | motionModel () const |
| virtual void | setUseAbsoluteTimeStamping (bool) |
| bool | useAbsoluteTimeStamping () const |
| virtual void | setFrozen (bool frozen) |
| virtual bool | isFrozen () const |
| virtual const DtVector & | approxLocation (DtTime curTime) const |
| virtual const DtVector32 & | approxUnsmoothedVelocity (DtTime curTime) const |
| virtual const DtTaitBryan & | approxEuler (DtTime curTime) const |
| virtual const DtVector32 & | acceleration (DtTime curTime) const |
| virtual const DtVector32 & | rotationalVelocity (DtTime curTime) const |
| virtual void | addSceneObjectToUpdate (DtModelSetId modelSet, DtSceneObject *sceneObject, bool addToTickableMgrIfHead=true) override |
| virtual void | removeSceneObjectToUpdate (DtModelSetId modelSet, DtSceneObject *sceneObject) override |
| virtual void | setVelocity (const DtVector32 &velocity) |
| virtual void | setVelocity (const DtVector32 &velocity, double time) |
| virtual void | setBodyVelocity (const DtVector32 &velocity) |
| virtual void | setBodyVelocity (const DtVector32 &velocity, double time) |
| virtual void | setAcceleration (const DtVector32 &acceleration) |
| virtual void | setAcceleration (const DtVector32 &acceleration, double time) |
| virtual void | setAngularVelocity (const DtVector32 &angularVelocity) |
| virtual void | setAngularVelocity (const DtVector32 &angularVelocity, double time) |
| virtual void | setInputPosition (const DtVector &position) |
| virtual void | setInputPosition (const DtVector &position, double time) |
| virtual void | setInputOrientation (const DtTaitBryan &ori) |
| virtual void | setInputOrientation (const DtTaitBryan &ori, double time) |
Public Member Functions inherited from makVrv::DtSceneObjectUpdater | |
| DtSceneObjectUpdater (DtDe &de, DtUniqueID id) | |
| virtual | ~DtSceneObjectUpdater () |
| virtual void | setNextUpdater (DtSceneObjectUpdater *nextUpdater) |
| virtual void | setPrevUpdater (DtSceneObjectUpdater *prevUpdater) |
| virtual bool | needsUpdate (DtTime tNow) |
| virtual void | updateAdaptiveTickrate (const DtVector &lastPos, const DtTime &deltaTime) |
| virtual void | setVertexToUpdate (unsigned int vertex) |
| virtual void | setOutputPosition (const DtVector &position) |
| virtual DtVector | outputPosition () const |
| virtual void | setOutputOrientation (const DtTaitBryan &orientation) |
| virtual DtTaitBryan | outputOrientation () const |
| virtual void | setOutputPositionAndOrientation (const DtVector &position, const DtTaitBryan &orientation) |
| virtual DtTime | lastUpdateTime () const |
| virtual void | setSceneObject (DtSceneObject *sceneObject, bool addToTickableMgrIfHead) |
| virtual void | setSceneObject (DtSceneObject *sceneObject) |
| DtUniqueID | uniqueId () const |
| DtSceneObjectUpdater * | findNextUpdater () const |
| DtSceneObjectUpdater * | findPrevUpdater () const |
| virtual bool | isChainThreadSafe (DtSceneObjectUpdater *firstUpdater) |
| virtual DtSceneObjectUpdater * | chainHead () |
| virtual void | setIsThreadSafe (bool safe) |
| virtual void | setTickableEnabled (bool enabled) override |
| virtual void | setAdaptiveTickLodEnabled (bool enabled) |
| virtual bool | adaptiveTickLodEnabled () const override |
| virtual void | setLodScaleSpeedFactor (float factor) |
| virtual float | lodScaleSpeedFactor () const |
| virtual void | setLodRadiusStart (float ratius) |
| virtual float | lodRadiusStart () const |
| virtual void | setLodRadiusEnd (float ratius) |
| virtual float | lodRadiusEnd () const |
| virtual void | setNearLodUpdateRate (int nearRate) |
| virtual int | nearLodUpdateRate () const |
| virtual void | setFarLodUpdateRate (int maxRate) |
| virtual int | farLodUpdateRate () const |
| DtSceneObject * | findActiveSceneObject () |
| DtSceneObject *const | findActiveSceneObject () const |
| DtSceneObject * | findSceneObjectForModelSet (DtModelSetId modelSet) |
| DtSceneObject *const | findSceneObjectForModelSet (DtModelSetId modelSet) const |
| virtual void | addSceneObjectToUpdateAtChainEnd (DtModelSetId modelSet, DtSceneObject *sceneObject, bool addToTickableMgrIfHead=true) |
| virtual void | removeSceneObjectToUpdateAtChainEnd (DtModelSetId modelSet, DtSceneObject *sceneObject) |
Public Member Functions inherited from makVrv::DtTickable | |
| virtual bool | updateIfNeeded (DtTime tNow) |
| virtual | ~DtTickable () |
| virtual bool | isThreadSafe () const |
| virtual void | setTickableListState (TickableListState safeList) |
| virtual TickableListState | tickableListState () const |
| virtual void | setUpdatePeriod (unsigned int period) |
| virtual unsigned int | updatePeriod () const |
Protected Member Functions | |
| virtual const DtVector32 & | approxVelocity (DtTime curTime) const |
Protected Member Functions inherited from makVrv::DtSceneObjectUpdater | |
| virtual void | removeThreadSafeChainFromManager (DtSceneObjectUpdater *head) |
| virtual void | removeUnThreadSafeChainFromManager (DtSceneObjectUpdater *head) |
| virtual void | addThreadSafeChainToManager (DtSceneObjectUpdater *head) |
| virtual void | addUnThreadSafeChainToManager (DtSceneObjectUpdater *head) |
| virtual void | placeChainOnCorrectTickableList (DtSceneObjectUpdater *head) |
| virtual void | slot_sceneObjectToBeDeleted (const DtUniqueID &id) |
Protected Member Functions inherited from makVrv::DtTickable | |
| DtTickable (DtTickableManagerInterface *manager) | |
| DtTickable ()=delete | |
| virtual void | slot_managerAboutToBeDeleted () |
Additional Inherited Members | |
Public Types inherited from makVrv::DtTickable | |
| enum | TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList } |
Public Attributes inherited from makVrv::DtSceneObjectUpdater | |
| boost::signalslib::signal < void(const DtUniqueID &) > | signal_updaterToBeDeleted |
Protected Types inherited from makVrv::DtSceneObjectUpdater | |
| using | ModelSetToSceneObjectMap = std::map< DtModelSetId, DtSceneObject * > |
| using | SceneObjectConnectionsMap = std::unordered_map< DtUniqueID, boost::signalslib::connection > |
| makVrv::DtDeadReckonUpdater::DtDeadReckonUpdater | ( | DtDe & | de, |
| DtUniqueID | id | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
virtual |
call updateSpacial()
Reimplemented from makVrv::DtSceneObjectUpdater.
|
virtual |
Set the object's velocity.
|
virtual |
Set the object's velocity.
|
virtual |
Set the object's body velocity.
|
virtual |
Set the object's body velocity.
|
virtual |
Set the object's velocity.
|
virtual |
Set the object's velocity.
|
virtual |
Set the object's rotational velocity.
|
virtual |
Set the object's rotational velocity.
|
virtual |
Set the object's position with a time for absolute timestamping.
Reimplemented from makVrv::DtSceneObjectUpdater.
|
virtual |
Set the object's position with a time for absolute timestamping.
|
virtual |
Set the object's orientation with a time specified for absolute time stampint.
Reimplemented from makVrv::DtSceneObjectUpdater.
|
virtual |
Set the object's orientation with a time specified for absolute time stampint.
|
virtual |
Set the object's dead reckoning settings.
|
virtual |
Turn the smoother on or off.
|
virtual |
Set the period for the smoother.
|
virtual |
Reset the smoother. Used when changing from embarked to disembarked and vice versa.
|
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 |
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 |
Suspend / resume dead reckoning.
|
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 |
Get the unsmoothed approximated (i.e. dead-reckoned for base DtDeadReckoner) velocity at the specified time.
|
virtual |
Get the approximated (i.e. dead-reckoned for base DtDeadReckoner) orientation at the specified time.
|
virtual |
Get the acceleration for the specified time.
|
virtual |
Get the rotation velocity for the specified time.
|
overridevirtual |
Add / Remove a scene to apply updates to Adds the updater to the tickable update list if it is not there already.
Reimplemented from makVrv::DtSceneObjectUpdater.
|
overridevirtual |
Add / Remove a scene to apply updates to Adds the updater to the tickable update list if it is not there already.
Reimplemented from makVrv::DtSceneObjectUpdater.
|
protectedvirtual |
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.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |