![]() |
VR-Forces 4.0.4 Class Documentation
|
A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) attaching it to another object. More...

Classes | |
| class | AttachedPoint |
| Common base class for all attachments. More... | |
| class | LinearAttachedPoint |
| AttachPoint used to attach to a point that is proportionally positioned between 2 other points. More... | |
| class | ObjectAttachedPoint |
| AttachedPoint used to attach to a scene object. More... | |
| class | VertexAttachedPoint |
| AttachPoint used to attach to a position provided through the updater interface. More... | |
Public Types | |
| enum | AttachedPointType { AttachedPointTypeVertex, AttachedPointTypeObject, AttachedPointTypeProportional, AttachedPointTypeDeprecatedObject, AttachedPointTypeInvalidObject } |
| Types of attachments. More... | |
| enum | AttachedPointMode { AttachedPointModePositionAndOrientation, AttachedPointModePositionOnly, AttachedPointModeOrientationOnly } |
Public Member Functions | |
| DtAttachableUpdater (DtDe &de, DtUniqueID id, bool doNotAddToMgr=false) | |
| CTOR. | |
| virtual | ~DtAttachableUpdater () |
| DTOR. | |
| virtual void | addAttachedPoint (const DtVector &position, int targetVertexIndex) |
| Add a (vertex) attach point. | |
| virtual void | addAttachedPoint (DtUniqueID uniqueID, int targetVertexIndex) |
| Add a (object) attach point. | |
| virtual void | addAttachedPoint (DtUniqueID uniqueID, int vtx1, int vtx2, double proportion, int targetVertexIndex) |
| Add a (linear) attach point. | |
| virtual const AttachedPoint & | attachedPoint (int targetVertexIndex) const |
| Returns the attached point at the given vertex. | |
| virtual void | setPositionOffset (const DtVector &offset) |
| positionally offset the attach points by this amount. | |
| virtual void | setPositionOffset (const DtVector &offset, int vtx) |
| positionally offset the specific attach point by this amount. | |
| virtual void | setOrientationOffset (const DtTaitBryan &offset) |
| rotationally offset the attach points by this amount. | |
| virtual void | setAttachedPointMode (unsigned int mode, int vtx) |
| Set whether an attached point updates position, orientation, or both. | |
| virtual void | update (double simTime) |
| Calls doAttachment() followed by updateSceneObject() | |
| virtual void | doAttachment () |
| Find the actual position and orientation based on the attach points and offsets. | |
Protected Types | |
| typedef std::vector < AttachedPoint * > | AttachedPointsVector |
Protected Member Functions | |
| virtual void | slot_attachedSceneObjectToBeDeleted (const DtUniqueID &) |
| virtual void | slot_attachedUpdaterToBeDeleted (const DtUniqueID &id) |
| virtual bool | pointLocationAndOrientation (AttachedPoint *point, double simTime, DtVector &location, DtTaitBryan &orientation) |
| virtual void | removeAttachedPoint (int vtx, DtVector *positionOffset=0) |
| Returns current position offset in supplied pointer. | |
Protected Attributes | |
| AttachedPointsVector | myAttachedPoints |
| DtVector | myPositionOffset |
| DtTaitBryan | myOrientationOffset |
A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) attaching it to another object.
typedef std::vector<AttachedPoint*> makVrv::DtAttachableUpdater::AttachedPointsVector [protected] |
| makVrv::DtAttachableUpdater::DtAttachableUpdater | ( | DtDe & | de, |
| DtUniqueID | id, | ||
| bool | doNotAddToMgr = false |
||
| ) |
CTOR.
| virtual makVrv::DtAttachableUpdater::~DtAttachableUpdater | ( | ) | [virtual] |
DTOR.
| virtual void makVrv::DtAttachableUpdater::addAttachedPoint | ( | const DtVector & | position, |
| int | targetVertexIndex | ||
| ) | [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 void makVrv::DtAttachableUpdater::addAttachedPoint | ( | DtUniqueID | uniqueID, |
| int | targetVertexIndex | ||
| ) | [virtual] |
Add a (object) attach point.
If multiple attach points are specified each will update its corresponding vertex in the scene object being updated
| virtual void makVrv::DtAttachableUpdater::addAttachedPoint | ( | DtUniqueID | uniqueID, |
| int | vtx1, | ||
| int | vtx2, | ||
| double | proportion, | ||
| int | targetVertexIndex | ||
| ) | [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 const AttachedPoint& makVrv::DtAttachableUpdater::attachedPoint | ( | int | targetVertexIndex | ) | const [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 void makVrv::DtAttachableUpdater::setPositionOffset | ( | const DtVector & | offset | ) | [virtual] |
positionally offset the attach points by this amount.
This is in the coordinate system of the object attached to
| virtual void makVrv::DtAttachableUpdater::setPositionOffset | ( | const DtVector & | offset, |
| int | vtx | ||
| ) | [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 void makVrv::DtAttachableUpdater::setOrientationOffset | ( | const DtTaitBryan & | offset | ) | [virtual] |
rotationally offset the attach points by this amount.
This is in the coordinate system of the object attached to
| virtual void makVrv::DtAttachableUpdater::setAttachedPointMode | ( | unsigned int | mode, |
| int | vtx | ||
| ) | [virtual] |
Set whether an attached point updates position, orientation, or both.
| virtual void makVrv::DtAttachableUpdater::update | ( | double | simTime | ) | [virtual] |
Calls doAttachment() followed by updateSceneObject()
Implements makVrv::DtUpdater.
Reimplemented in makVrv::DtSegmentedLineModelUpdater, makVrv::DtAttachableEntityFanUpdater, makVrv::DtLineModelUpdater, exampleRangeLine::DtAttachableRangeTextUpdater, makVrv::DtAttachableHatTextUpdater, makVrv::DtAttachableHatUpdater, and makVrv::DtAttachableIntervisibilityUpdater.
| virtual void makVrv::DtAttachableUpdater::doAttachment | ( | ) | [virtual] |
Find the actual position and orientation based on the attach points and offsets.
Reimplemented in makVrf::DtAttachableUpdaterWithLevelOrientation.
| virtual void makVrv::DtAttachableUpdater::slot_attachedSceneObjectToBeDeleted | ( | const DtUniqueID & | ) | [protected, virtual] |
| virtual void makVrv::DtAttachableUpdater::slot_attachedUpdaterToBeDeleted | ( | const DtUniqueID & | id | ) | [protected, virtual] |
| virtual bool makVrv::DtAttachableUpdater::pointLocationAndOrientation | ( | AttachedPoint * | point, |
| double | simTime, | ||
| DtVector & | location, | ||
| DtTaitBryan & | orientation | ||
| ) | [protected, virtual] |
| virtual void makVrv::DtAttachableUpdater::removeAttachedPoint | ( | int | vtx, |
| DtVector * | positionOffset = 0 |
||
| ) | [protected, virtual] |
Returns current position offset in supplied pointer.
DtTaitBryan makVrv::DtAttachableUpdater::myOrientationOffset [protected] |