![]() |
VR-Forces Developer's Guide
|
A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) attaching it to one or more other scene objects. Note that this is not a DtSceneObjectUpdater; It can't be linked to other DtSceneObjectUpdaters.

Classes | |
| class | AttachedPoint |
| class | LinearAttachedPoint |
| class | ObjectAttachedPoint |
| class | VertexAttachedPoint |
Public Member Functions | |
| DtAttachableUpdater (DtDe &de, DtUniqueID id) | |
| virtual | ~DtAttachableUpdater () |
| virtual bool | needsUpdate (DtTime tNow) |
| virtual void | addAttachedPoint (const DtVector &position, int targetVertexIndex) |
| virtual void | addAttachedPoint (DtUniqueID sceneObjectId, int targetVertexIndex) |
| virtual void | addAttachedPoint (DtElementID elementId, DtModelSetId modelSet, int targetVertexIndex) |
| virtual void | addAttachedPoint (DtUniqueID sceneObjectId, int vtx1, int vtx2, double proportion, int targetVertexIndex) |
| virtual const AttachedPoint & | attachedPoint (int targetVertexIndex) const |
| virtual void | setPositionOffset (const DtVector &offset) |
| virtual void | setWorldPositionOffset (const DtVector &offset) |
| virtual void | setPositionOffset (const DtVector &offset, int vtx) |
| virtual void | setOrientationOffset (const DtTaitBryan &offset) |
| virtual void | setWorldOrientationOffset (const DtTaitBryan &offset) |
| virtual void | setAttachedPointMode (unsigned int mode, int vtx) |
| virtual void | update (DtTime tNow) |
| virtual void | setSceneObject (DtSceneObject *sceneObject) |
| virtual void | setModel (DtModel *model) |
| virtual void | doAttachment (DtTime tNow) |
| DtTime | lastUpdateTime () const |
Public Member Functions inherited from makVrv::DtTickable | |
| virtual bool | updateIfNeeded (DtTime tNow) |
| virtual | ~DtTickable () |
| virtual void | setTickableEnabled (bool enabled) |
| virtual void | setIsThreadSafe (bool safe) |
| virtual bool | isThreadSafe () const |
| virtual void | setTickableListState (TickableListState safeList) |
| virtual TickableListState | tickableListState () const |
| virtual void | setUpdatePeriod (unsigned int period) |
| virtual unsigned int | updatePeriod () const |
| virtual bool | adaptiveTickLodEnabled () const |
Protected Types | |
| typedef std::vector < AttachedPoint * > | AttachedPointsVector |
Protected Member Functions | |
| virtual bool | pointLocationAndOrientation (AttachedPoint *point, double simTime, DtVector &location, DtTaitBryan &orientation) |
| virtual void | removeAttachedPoint (int vtx, DtVector *positionOffset=0) |
Slots | |
| virtual void | slot_sceneObjectToBeDeleted (const DtUniqueID &id) |
| virtual void | slot_modelToBeDeleted (DtModel *model) |
| virtual void | slot_attachedSceneObjectToBeDeleted (const DtUniqueID &) |
| virtual void | slot_attachedUpdaterToBeDeleted (const DtUniqueID &id) |
Protected Member Functions inherited from makVrv::DtTickable | |
| DtTickable (DtTickableManagerInterface *manager) | |
| DtTickable ()=delete | |
| virtual void | slot_managerAboutToBeDeleted () |
Protected Attributes | |
| DtDe & | myDe |
| DtUniqueID | myUniqueId |
| DtSceneObject * | mySceneObject |
| DtModel * | myModel |
| boost::signalslib::connection | mySceneObjectOrModelConnection |
| boost::signalslib::connection | mySceneObjectUpdaterConnection |
| AttachedPointsVector | myAttachedPoints |
| DtVector | myPositionOffset |
| DtTaitBryan | myOrientationOffset |
| DtVector | myWorldPositionOffset |
| DtTaitBryan | myWorldOrientationOffset |
| DtUniqueID | mySceneObjectId |
Protected Attributes inherited from makVrv::DtTickable | |
| DtTickableManagerInterface * | myManager |
| DtSignalConnectionManager | myConnections |
| unsigned int | myFrameCounter |
| unsigned int | myFrameToUpdate |
| unsigned int | myUpdatePeriod |
| unsigned int | myTickableIndex |
| DtTime | myLastUpdateTime |
| bool | myIsThreadSafe |
| TickableListState | myTickableListState |
|
protected |
| makVrv::DtAttachableUpdater::DtAttachableUpdater | ( | DtDe & | de, |
| DtUniqueID | id | ||
| ) |
CTOR.
|
virtual |
DTOR.
Does this updater need to update?
Reimplemented from makVrv::DtTickable.
|
virtual |
Add a (vertex) attach point. If multiple attach points are specified each will update its corresponding vertex in the scene object being updated.
|
virtual |
Add an (object) attach point. If multiple attach points are specified each will update its corresponding vertex in the scene object being updated.
|
virtual |
Add an (object) attach point by element ID. This function will lookup the appropiate scene object id in DtElementData based on the provided element ID and model set ID. If multiple attach points are specified each will update its corresponding vertex in the scene object being updated.
|
virtual |
Add a (linear) attach point. If multiple attach points are specified each will update its corresponding vertex in the scene object being updated.
|
virtual |
Returns the attached point at the given vertex. This method returns a copy of the current state of the attached point. If an attached point with the given index could not be found, this method returns an AttachedPoint with type AttachedPointTypeInvalidObject.
|
virtual |
positionally offset the attach points by this amount. This is in the coordinate system of the object attached to
|
virtual |
positionally offset the specific attach point by this amount in world (database) coordinates. Will be used in conjunction with the overall position offset
|
virtual |
positionally offset the specific attach point by this amount. This is in the coordinate system of the object attached to. Will be used in conjunction with the overall position offset
|
virtual |
rotationally offset the attach points by this amount. This is in the coordinate system of the object attached to
|
virtual |
rotationally offset the attach points by this amount in world (database) coordinates
|
virtual |
Set whether an attached point updates position, orientation, or both.
|
virtual |
Calls doAttachment()
Implements makVrv::DtTickable.
Reimplemented in makVrv::DtAttachableEntityFanUpdater, makVrv::DtLineModelUpdater, makVrv::DtAttachableIntervisibilityUpdater, and makVrf::DtVrfAttachableEntityFanUpdater.
|
virtual |
Set the scene object to be updated. A call to this will supersede any prior calls to setModel.
| [in] | sceneObject | is the scene object to receive updates. |
Reimplemented in makVrv::DtLineModelUpdater.
|
virtual |
Set the model to be updated. A call to this will supersede any prior calls to setSceneObject.
| [in] | model | is the model to receive updates. |
|
virtual |
Find the actual position and orientation based on the attach points and offsets.
|
inline |
|
protectedvirtual |
Reimplemented in makVrf::DtAttackLineAttachableUpdater.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Returns current position offset in supplied pointer.
|
protected |
The display engine.
|
protected |
This distributed object's unique identifier.
|
protected |
A pointer to the current scene object being updated.
|
protected |
A pointer to the current model being updated.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |