![]() |
VR-Forces Development_Version Class Documentation
|
Scene Object Updater. More...

Public Member Functions | |
| 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 | update (DtTime tNow) |
| The update function called by DtTickableManager during update-ticks. | |
| virtual void | setVertexToUpdate (unsigned int vertex) |
| Specify which vertex in the scene object this updater updates. | |
| virtual void | setInputPosition (const DtVector &position) |
| Set the position input to this updater. | |
| virtual void | setInputOrientation (const DtTaitBryan &orientation) |
| Set the orientation input to this updater. | |
| 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. | |
| virtual void | setSceneObject (DtSceneObject *sceneObject) |
| Set the scene object to be updated. | |
| DtUniqueID | uniqueId () const |
| Returns the distributed object id of this updater. | |
| DtSceneObjectUpdater * | findNextUpdater () const |
| Return the next updater in the updater chain. | |
| DtSceneObjectUpdater * | findPrevUpdater () const |
| Return the previous updater in the updater chain. | |
| DtSceneObject * | findSceneObject () |
| 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 |
| Specify how often (in # of frames) this tickable should call update. | |
Public Attributes | |
Signals | |
Signal that this updater is being destroyed | |
| boost::signal< void(const DtUniqueID &) > | signal_updaterToBeDeleted |
Protected Member Functions | |
Slots | |
Slot called when the a scene object is to be deleted. If its the scene object that this updater is updating, then the local scene object copy is set to false | |
| virtual void | slot_sceneObjectToBeDeleted (const DtUniqueID &id) |
Protected Member Functions inherited from makVrv::DtTickable | |
| DtTickable (DtTickableManagerInterface *manager) | |
| CTOR. | |
| DtTickable () | |
| Unimplemented default CTOR. | |
| virtual void | slot_managerAboutToBeDeleted () |
Protected Attributes | |
| DtDe & | myDe |
| The display engine. | |
| DtUniqueID | myUniqueId |
| This distributed object's unique identifier. | |
| DtSceneObject * | mySceneObject |
| A pointer to the current scene object being updated. | |
| DtTime | myLastUpdateTime |
| The last time stamp when the update() | |
| DtSceneObjectUpdater * | myNextUpdater |
| The next updater in the chain (or NULL) | |
| DtSceneObjectUpdater * | myPrevUpdater |
| 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 | |
| DtTickableManagerInterface * | myManager |
| Pointer to manager for removal during destruction. | |
| DtSignalConnectionManager | myConnections |
| unsigned int | myFrameCounter |
| unsigned int | myFrameToUpdate |
| unsigned int | myUpdatePeriod |
Scene Object Updater.
DtSceneObjectUpdater is a distributed object managed by DtTickableManager. It provides an API and infrastructure used by deriving objects to update the position and orientation of scene objects in render space. DtSceneObjectUpdaters 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.
| makVrv::DtSceneObjectUpdater::DtSceneObjectUpdater | ( | 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 |
Set the next updater in the updater chain.
| [in] | nextUpdater | is the next updater in this updater chain When the next updater is null, it indicates that the updater is at the end of the chain. Its output will be used to set the appropriate vertex (set using setVertexToUpdate) in the scene object. Updaters with a non-null next updater will provide its outputs to the inputs of the next updater. |
Reimplemented in makVrv::DtSurfaceClampingUpdater.
|
virtual |
Set the previous updater in the updater chain.
| [in] | prevUpdater | is the prev updater in this updater chain When the previous updater is null, it indicates that this is the start of the updater chain; intial position and information is provided using setInputPosition and setInputOrientation. |
The check function called by DtTickableManager to verify if an update is required.
If this function returns true, the DtTickableManager will then call update().
| [in] | tNow | is the current time-stamp. |
| true | if this object needs to be ticked. |
| false | otherwise. This base class method uses both the time and the presence of valid input transforms to determine if the updater should be ticked. |
Reimplemented from makVrv::DtTickable.
|
virtual |
The update function called by DtTickableManager during update-ticks.
| [in] | tNow | is the current time-stamp. |
Implements makVrv::DtTickable.
Reimplemented in makVrv::DtEmbarkationUpdater, makVrv::DtMultiPointEmbarkationUpdater, makVrv::DtSurfaceClampingUpdater, makVrv::DtVertexUpdater, makVrv::DtMultiPointSceneObjectUpdater, makVrv::DtGroundClampingUpdater, makVrv::DtWaterClampingUpdater, makVrv::DtDeadReckonUpdater, and makVrv::DtTerrainScalingUpdater.
|
virtual |
Specify which vertex in the scene object this updater updates.
| [in] | vertex | is the vertex in the scene object to update. |
Reimplemented in makVrv::DtSurfaceClampingUpdater.
|
virtual |
Set the position input to this updater.
| [in] | position | is the position to use. |
Reimplemented in makVrv::DtSurfaceClampingUpdater, and makVrv::DtDeadReckonUpdater.
|
virtual |
Set the orientation input to this updater.
| [in] | orientation | is the orientation to use. |
Reimplemented in makVrv::DtDeadReckonUpdater, and makVrv::DtSurfaceClampingUpdater.
|
virtual |
Output the resultant position.
If there is a next updater, this will call that updater's setInputPosition with the result. Otherwise the result will be provided to the specified scene object
| [in] | position | is the position to set. |
Reimplemented in makVrv::DtBoxUpdater.
|
virtual |
Output the resultant orientation.
If there is a next updater, this will call that updater's setInputOrientaiton with the result. Otherwise the result will be provided to the specified scene object
| [in] | orientation | is the orientation to set. |
|
virtual |
Get the time-stamp of the last update.
|
virtual |
Set the scene object to be updated.
| [in] | sceneObject | is the scene object to receive updates. |
Reimplemented in makVrv::DtSurfaceClampingUpdater, and makVrv::DtDeadReckonUpdater.
|
inline |
Get the current scene object for this updater.
|
inline |
const correct version
|
inline |
Returns the distributed object id of this updater.
|
inline |
Return the next updater in the updater chain.
|
inline |
Return the previous updater in the updater chain.
|
protectedvirtual |
Reimplemented in makVrf::DtVrfMultiPointEmbarkationUpdater.
| boost::signal< void ( const DtUniqueID& ) > makVrv::DtSceneObjectUpdater::signal_updaterToBeDeleted |
|
protected |
The display engine.
|
protected |
This distributed object's unique identifier.
|
protected |
A pointer to the current scene object being updated.
|
protected |
The last time stamp when the update()
|
protected |
The next updater in the chain (or NULL)
|
protected |
The previous updater in the chain (or NULL)
|
protected |
The default scene object vertex to update.
|
protected |
Input position.
|
protected |
Input Orientation.
|
protected |
Flag to indicate if setOutputPosition has been called this tick.
If a deriving updater hasn't called setOutputPosition, this base class will copy the input position to the output.
|
protected |
Flag to indicate if setOutputOrientation has been called this tick.
If a deriving updater hasn't called setOutputPosition, this base class will copy the input orientation to the output.