VR-Forces 5.0.3 Developer's Guide
 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. Note that this is not a DtSceneObjectUpdater; It can't be linked to other DtSceneObjectUpdaters.

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

Classes

class  AttachedPoint
 
class  LinearAttachedPoint
 
class  ObjectAttachedPoint
 
class  VertexAttachedPoint
 

Public Types

enum  AttachedPointType {
  AttachedPointTypeVertex, AttachedPointTypeObject, AttachedPointTypeProportional, AttachedPointTypeDeprecatedObject,
  AttachedPointTypeInvalidObject
}
 
enum  AttachedPointMode { AttachedPointModePositionAndOrientation, AttachedPointModePositionOnly, AttachedPointModeOrientationOnly }
 
- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 

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 uniqueID, int targetVertexIndex)
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int vtx1, int vtx2, double proportion, int targetVertexIndex)
 
virtual const AttachedPointattachedPoint (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 doAttachment (DtTime tNow)
 
DtTime lastUpdateTime () const
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool updateIfNeeded (DtTime tNow)
 
virtual ~DtTickable ()
 
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 lodSystemEnabled () 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_attachedSceneObjectToBeDeleted (const DtUniqueID &)
 
virtual void slot_attachedUpdaterToBeDeleted (const DtUniqueID &id)
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 
 DtTickable ()
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

DtDemyDe
 
DtUniqueID myUniqueId
 
DtSceneObjectmySceneObject
 
boost::signalslib::connection mySceneObjectConnection
 
boost::signalslib::connection mySceneObjectUpdaterConnection
 
DtTime myLastUpdateTime
 
AttachedPointsVector myAttachedPoints
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
DtVector myWorldPositionOffset
 
DtTaitBryan myWorldOrientationOffset
 
DtUniqueID mySceneObjectId
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

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.

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 Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)