VR-Forces 4.0.4 Class Documentation
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtAttachableUpdater Class Reference

A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) attaching it to another object. More...

Inheritance diagram for makVrv::DtAttachableUpdater:
Inheritance graph
[legend]

List of all members.

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 AttachedPointattachedPoint (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

Detailed Description

A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) attaching it to another object.


Member Typedef Documentation


Member Enumeration Documentation

Types of attachments.

Enumerator:
AttachedPointTypeVertex 
AttachedPointTypeObject 
AttachedPointTypeProportional 
AttachedPointTypeDeprecatedObject 
AttachedPointTypeInvalidObject 
Enumerator:
AttachedPointModePositionAndOrientation 
AttachedPointModePositionOnly 
AttachedPointModeOrientationOnly 

Constructor & Destructor Documentation

makVrv::DtAttachableUpdater::DtAttachableUpdater ( DtDe de,
DtUniqueID  id,
bool  doNotAddToMgr = false 
)

CTOR.

DTOR.


Member Function Documentation

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]
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.


Member Data Documentation


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)