VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | 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 one or more other scene objects. More...

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

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)
 CTOR.
virtual ~DtAttachableUpdater ()
 DTOR.
virtual bool needsUpdate (DtTime tNow)
 Does this updater need to update?
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 setWorldPositionOffset (const DtVector &offset)
 positionally offset the specific attach point by this amount in world (database) coordinates.
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 setWorldOrientationOffset (const DtTaitBryan &offset)
 rotationally offset the attach points by this amount in world (database) coordinates
virtual void setAttachedPointMode (unsigned int mode, int vtx)
 Set whether an attached point updates position, orientation, or both.
virtual void update (DtTime tNow)
 Calls doAttachment()
virtual void setSceneObject (DtSceneObject *sceneObject)
 Set the scene object to be updated.
virtual void doAttachment (DtTime tNow)
 Find the actual position and orientation based on the attach points and offsets.
DtTime lastUpdateTime () const
- 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

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)
 Returns current position offset in supplied pointer.
Slots
virtual void slot_sceneObjectToBeDeleted (const DtUniqueID &id)
virtual void slot_attachedSceneObjectToBeDeleted (const DtUniqueID &)
virtual void slot_attachedUpdaterToBeDeleted (const DtUniqueID &id)
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 CTOR.
 DtTickable ()
 Unimplemented default CTOR.
virtual void slot_managerAboutToBeDeleted ()

Protected Attributes

DtDemyDe
 The display engine.
DtUniqueID myUniqueId
 This distributed object's unique identifier.
DtSceneObjectmySceneObject
 A pointer to the current scene object being updated.
boost::signalslib::connection mySceneObjectConnection
boost::signalslib::connection mySceneObjectUpdaterConnection
DtTime myLastUpdateTime
 The last time stamp when the update()
AttachedPointsVector myAttachedPoints
DtVector myPositionOffset
DtTaitBryan myOrientationOffset
DtVector myWorldPositionOffset
DtTaitBryan myWorldOrientationOffset
DtUniqueID mySceneObjectId
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction.
DtSignalConnectionManager myConnections
unsigned int myFrameCounter
unsigned int myFrameToUpdate
unsigned int myUpdatePeriod

Detailed Description

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.

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 
)

CTOR.

virtual makVrv::DtAttachableUpdater::~DtAttachableUpdater ( )
virtual

DTOR.

Member Function Documentation

virtual bool makVrv::DtAttachableUpdater::needsUpdate ( DtTime  tNow)
virtual

Does this updater need to update?

Reimplemented from makVrv::DtTickable.

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::setWorldPositionOffset ( const DtVector offset)
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 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::setWorldOrientationOffset ( const DtTaitBryan &  offset)
virtual

rotationally offset the attach points by this amount in world (database) coordinates

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 ( DtTime  tNow)
virtual
virtual void makVrv::DtAttachableUpdater::setSceneObject ( DtSceneObject sceneObject)
virtual

Set the scene object to be updated.

Parameters
[in]sceneObjectis the scene object to receive updates.

Reimplemented in makVrv::DtLineModelUpdater, and makVrf::DtRangeRingUpdater.

virtual void makVrv::DtAttachableUpdater::doAttachment ( DtTime  tNow)
virtual

Find the actual position and orientation based on the attach points and offsets.

DtTime makVrv::DtAttachableUpdater::lastUpdateTime ( ) const
inline
virtual void makVrv::DtAttachableUpdater::slot_sceneObjectToBeDeleted ( const DtUniqueID id)
protectedvirtual
virtual void makVrv::DtAttachableUpdater::slot_attachedSceneObjectToBeDeleted ( const DtUniqueID )
protectedvirtual
virtual void makVrv::DtAttachableUpdater::slot_attachedUpdaterToBeDeleted ( const DtUniqueID id)
protectedvirtual
virtual bool makVrv::DtAttachableUpdater::pointLocationAndOrientation ( AttachedPoint point,
double  simTime,
DtVector location,
DtTaitBryan &  orientation 
)
protectedvirtual
virtual void makVrv::DtAttachableUpdater::removeAttachedPoint ( int  vtx,
DtVector positionOffset = 0 
)
protectedvirtual

Returns current position offset in supplied pointer.

Member Data Documentation

DtDe& makVrv::DtAttachableUpdater::myDe
protected

The display engine.

DtUniqueID makVrv::DtAttachableUpdater::myUniqueId
protected

This distributed object's unique identifier.

DtSceneObject* makVrv::DtAttachableUpdater::mySceneObject
protected

A pointer to the current scene object being updated.

boost::signalslib::connection makVrv::DtAttachableUpdater::mySceneObjectConnection
protected
boost::signalslib::connection makVrv::DtAttachableUpdater::mySceneObjectUpdaterConnection
protected
DtTime makVrv::DtAttachableUpdater::myLastUpdateTime
protected

The last time stamp when the update()

AttachedPointsVector makVrv::DtAttachableUpdater::myAttachedPoints
protected
DtVector makVrv::DtAttachableUpdater::myPositionOffset
protected
DtTaitBryan makVrv::DtAttachableUpdater::myOrientationOffset
protected
DtVector makVrv::DtAttachableUpdater::myWorldPositionOffset
protected
DtTaitBryan makVrv::DtAttachableUpdater::myWorldOrientationOffset
protected
DtUniqueID makVrv::DtAttachableUpdater::mySceneObjectId
protected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)