![]() |
VR-Forces 5.0.3 Developer's Guide
|
Multi Point Scene Object Updater.
DtMultiPointSceneObjectUpdater is a distributed object managed by DtTickableManager. It provides an API and infrastructure used by deriving objects to update the positions of multi point scene objects in render space. DtMultiPointSceneObjectUpdaters may be chained together in a list to perform multiple position and/or orientation transformations. For example, one updater might dead reckon position and orientation based on kinematic info, the next in the chain could ground clamp the object. A third might adjust the ground clamped position to support terrain scaling.

Public Member Functions | |
| DtMultiPointSceneObjectUpdater (DtDe &de, DtUniqueID id) | |
| virtual | ~DtMultiPointSceneObjectUpdater () |
| virtual void | update (DtTime tNow) |
| virtual void | setInputPositions (const std::vector< DtVector > &positions) |
| virtual void | setOutputPositions (const std::vector< DtVector > &positions) |
| virtual void | setInputOrientations (const std::vector< DtTaitBryan > &orientations) |
| virtual void | setOutputOrientations (const std::vector< DtTaitBryan > &orientations) |
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 | setInputPosition (const DtVector &position) |
| virtual void | setInputOrientation (const DtTaitBryan &orientation) |
| virtual void | setOutputPosition (const DtVector &position) |
| virtual void | setOutputOrientation (const DtTaitBryan &orientation) |
| 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) |
| virtual void | setLodSystemEnabled (bool enabled) |
| virtual bool | lodSystemEnabled () const |
| 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 |
| DtUniqueID | uniqueId () const |
| DtSceneObjectUpdater * | findNextUpdater () const |
| DtSceneObjectUpdater * | findPrevUpdater () const |
| virtual bool | isChainThreadSafe (DtSceneObjectUpdater *firstUpdater) |
| virtual DtSceneObjectUpdater * | chainHead () |
| virtual void | setIsThreadSafe (bool safe) |
| DtSceneObject * | findSceneObject () |
| DtSceneObject *const | findSceneObject () const |
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 Attributes | |
| std::vector< DtVector > | myInputPositions |
| std::vector< DtTaitBryan > | myInputOrientations |
Protected Attributes inherited from makVrv::DtSceneObjectUpdater | |
| DtDe & | myDe |
| DtUniqueID | myUniqueId |
| DtSceneObject * | mySceneObject |
| int | myModelSet |
| boost::signalslib::connection | mySceneObjectConnection |
| DtSceneObjectUpdater * | myNextUpdater |
| DtSceneObjectUpdater * | myPrevUpdater |
| unsigned int | myVertexToUpdate |
| DtVector | myInputPosition |
| DtTaitBryan | myInputOrientation |
| bool | myPositionDataOutputted |
| bool | myOrientationDataOutputted |
| UpdateLODParams | myLodUpdateParams |
Protected Attributes inherited from makVrv::DtTickable | |
| DtTickableManagerInterface * | myManager |
| DtSignalConnectionManager | myConnections |
| unsigned int | myFrameCounter |
| unsigned int | myFrameToUpdate |
| unsigned int | myUpdatePeriod |
| DtTime | myLastUpdateTime |
| bool | myIsThreadSafe |
| TickableListState | myTickableListState |
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 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 () | |
| virtual void | slot_managerAboutToBeDeleted () |
| makVrv::DtMultiPointSceneObjectUpdater::DtMultiPointSceneObjectUpdater | ( | DtDe & | de, |
| DtUniqueID | id | ||
| ) |
CTOR.
| [in] | de | is the display engine. |
| [in] | id | is a unique identifier for this distributed object. |
|
virtual |
Virtual DTOR.
|
virtual |
The update function called by DtTickableManager during update-ticks.
| [in] | tNow | is the current time-stamp. |
Reimplemented from makVrv::DtSceneObjectUpdater.
Reimplemented in makVrv::DtMultiPointEmbarkationUpdater.
|
virtual |
Set the positions input to this updater.
| [in] | positions | is the position to use. |
Reimplemented in makVrv::DtMultiPointEmbarkationUpdater.
|
virtual |
Output the resultant positions. If there is a next updater, this will call that updater's setInputPositions with the result. Otherwise the result will be provided to the specified scene object.
| [in] | position | is the position to set. |
Reimplemented in makVrf::DtVrfMultiPointEmbarkationUpdater.
|
virtual |
Set the orientations input to this updater.
| [in] | orientations | is the orientation to use. |
|
virtual |
Output the resultant orientations. If there is a next updater, this will call that updater's setInputOrientations with the result. Otherwise the result will be provided to the specified scene object.
| [in] | orientations | is the orientation to set. |
|
protected |
Input positions.
|
protected |