16 #include <matrix/vlVector.h>
17 #include <matrix/vlTaitBryan.h>
26 class DtSceneObjectUpdater;
45 AttachedPointTypeInvalidObject
52 AttachedPointModeOrientationOnly
62 : myAttachedPointType( type )
63 , myTargetVertexIndex( targetVertexIndex )
64 , myPositionOffset( positionOffset )
65 , myAttachedPointMode(AttachedPointModePositionAndOrientation)
73 return myAttachedPointType;
78 return myTargetVertexIndex;
88 return myPositionOffset;
93 myAttachedPointMode =
mode;
98 return myAttachedPointMode;
116 int targetVertexIndex,
const DtVector& positionOffset )
117 :
AttachedPoint( AttachedPointTypeObject, targetVertexIndex, positionOffset )
118 , mySceneObject( sceneObject )
119 , myUpdater( updater )
120 , mySceneObjectId( 0 )
128 mySceneObject = sceneObject;
132 mySceneObjectId = sceneObject->
uniqueId();
142 return mySceneObjectId;
147 return mySceneObject;
181 :
AttachedPoint( AttachedPointTypeVertex, targetVertexIndex, positionOffset )
182 , myVertex( position )
204 int vtx1,
int vtx2,
double proportion,
int targetVertexIndex,
208 , mySecondVtx( vtx2 )
209 , myProportion( proportion )
211 myAttachedPointType = AttachedPointTypeProportional;
246 virtual bool needsUpdate(
DtTime tNow );
251 virtual void addAttachedPoint(
const DtVector& position,
int targetVertexIndex );
256 virtual void addAttachedPoint(
DtUniqueID uniqueID,
int targetVertexIndex );
261 virtual void addAttachedPoint(
DtUniqueID uniqueID,
int vtx1,
int vtx2,
262 double proportion,
int targetVertexIndex );
268 virtual const AttachedPoint& attachedPoint(
int targetVertexIndex )
const;
282 virtual void setPositionOffset(
const DtVector&
offset,
int vtx );
286 virtual void setOrientationOffset(
const DtTaitBryan&
offset);
290 virtual void setWorldOrientationOffset(
const DtTaitBryan&
offset);
293 virtual void setAttachedPointMode(
unsigned int mode,
int vtx );
296 virtual void update(
DtTime tNow );
304 virtual void doAttachment(
DtTime tNow );
308 return myLastUpdateTime;
315 virtual void slot_sceneObjectToBeDeleted(
const DtUniqueID&
id );
316 virtual void slot_attachedSceneObjectToBeDeleted(
const DtUniqueID& );
317 virtual void slot_attachedUpdaterToBeDeleted(
const DtUniqueID&
id );
321 virtual bool pointLocationAndOrientation( AttachedPoint* point,
322 double simTime,
DtVector& location, DtTaitBryan& orientation );
325 virtual void removeAttachedPoint(
int vtx,
DtVector* positionOffset = 0);
int targetVertexIndex()
Definition: DtAttachableUpdater.h:76
AttachedPointType myAttachedPointType
Definition: DtAttachableUpdater.h:103
DtUniqueID uniqueId() const
Get the unique ID of the object.
virtual ~ObjectAttachedPoint()
Definition: DtAttachableUpdater.h:124
DtTaitBryan myWorldOrientationOffset
Definition: DtAttachableUpdater.h:353
AttachedPoint used to attach to a scene object.
Definition: DtAttachableUpdater.h:111
virtual ~VertexAttachedPoint()
Definition: DtAttachableUpdater.h:185
Definition: DtAttachableUpdater.h:43
Common base class for all attachments.
Definition: DtAttachableUpdater.h:56
DtTime myLastUpdateTime
The last time stamp when the update()
Definition: DtAttachableUpdater.h:344
AttachedPointMode myAttachedPointMode
Definition: DtAttachableUpdater.h:106
DtVector vertex() const
Definition: DtAttachableUpdater.h:187
AttachedPointsVector myAttachedPoints
Definition: DtAttachableUpdater.h:347
AttachPoint used to attach to a position provided through the updater interface.
Definition: DtAttachableUpdater.h:175
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:36
boost::signalslib::connection mySceneObjectConnection
Definition: DtAttachableUpdater.h:340
DtSceneObjectUpdater * updater() const
Definition: DtAttachableUpdater.h:155
std::vector< AttachedPoint * > AttachedPointsVector
Definition: DtAttachableUpdater.h:346
An abstract base class for objects that require updates.
Definition: DtTickable.h:26
int secondVtx()
Definition: DtAttachableUpdater.h:219
LinearAttachedPoint(DtSceneObject *sceneObject, DtSceneObjectUpdater *updater, int vtx1, int vtx2, double proportion, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:203
void setAttachedPointMode(AttachedPointMode mode)
Definition: DtAttachableUpdater.h:91
DtSceneObject * mySceneObject
Definition: DtAttachableUpdater.h:168
Definition: DtAttachableUpdater.h:44
Definition: DtAttachableUpdater.h:50
AttachedPointType
Types of attachments.
Definition: DtAttachableUpdater.h:39
void setPositionOffset(const DtVector &o)
Definition: DtAttachableUpdater.h:81
DtSceneObject * sceneObject() const
Definition: DtAttachableUpdater.h:145
A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) att...
Definition: DtAttachableUpdater.h:33
DtVector myVertex
Definition: DtAttachableUpdater.h:194
boost::signalslib::connection mySceneObjectUpdaterConnection
Definition: DtAttachableUpdater.h:164
int myTargetVertexIndex
Definition: DtAttachableUpdater.h:104
int firstVtx()
Definition: DtAttachableUpdater.h:214
DtVector myPositionOffset
Definition: DtAttachableUpdater.h:105
void setUpdater(DtSceneObjectUpdater *updater)
Definition: DtAttachableUpdater.h:150
DtVector myWorldPositionOffset
Definition: DtAttachableUpdater.h:352
void setSceneObject(DtSceneObject *sceneObject)
Definition: DtAttachableUpdater.h:126
DtUniqueID myUniqueId
This distributed object's unique identifier.
Definition: DtAttachableUpdater.h:332
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
AttachedPointMode attachedPointMode() const
Definition: DtAttachableUpdater.h:96
int mySecondVtx
Definition: DtAttachableUpdater.h:232
Definition: DtAttachableUpdater.h:51
DtTaitBryan myOrientationOffset
Definition: DtAttachableUpdater.h:350
boost::signalslib::connection mySceneObjectConnection
Definition: DtAttachableUpdater.h:163
ObjectAttachedPoint(DtSceneObject *sceneObject, DtSceneObjectUpdater *updater, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:115
DtUniqueID mySceneObjectId
Definition: DtAttachableUpdater.h:355
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: DtAttachableUpdater.h:42
DtUniqueID mySceneObjectId
Definition: DtAttachableUpdater.h:170
AttachPoint used to attach to a point that is proportionally positioned between 2 other points...
Definition: DtAttachableUpdater.h:199
AttachedPoint(AttachedPointType type, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:60
AttachedPointType type() const
Definition: DtAttachableUpdater.h:71
Contains the declaration for makVrv::DtTickable.
DtUniqueID sceneObjectId() const
Definition: DtAttachableUpdater.h:140
double proportion()
Definition: DtAttachableUpdater.h:224
VertexAttachedPoint(const DtVector &position, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:179
const char int mode
Definition: ioapi.h:38
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
Definition: DtAttachableUpdater.h:41
Contains makVrv::DtUniqueID type.
DtSceneObject * mySceneObject
A pointer to the current scene object being updated.
Definition: DtAttachableUpdater.h:335
double myProportion
Definition: DtAttachableUpdater.h:233
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtVector myPositionOffset
Definition: DtAttachableUpdater.h:349
boost::signalslib::connection mySceneObjectUpdaterConnection
Definition: DtAttachableUpdater.h:341
voidpf uLong offset
Definition: ioapi.h:42
AttachedPointMode
Definition: DtAttachableUpdater.h:48
int myFirstVtx
Definition: DtAttachableUpdater.h:231
DtDe & myDe
The display engine.
Definition: DtAttachableUpdater.h:329
DtSceneObjectUpdater * myUpdater
Definition: DtAttachableUpdater.h:169
const DtVector & positionOffset() const
Definition: DtAttachableUpdater.h:86
virtual ~AttachedPoint()
Definition: DtAttachableUpdater.h:69
DtTime lastUpdateTime() const
Definition: DtAttachableUpdater.h:306
Contains makVrv::DtSceneObject class.