17 #include <matrix/vlVector.h>
18 #include <matrix/vlTaitBryan.h>
28 class DtSceneObjectUpdater;
47 AttachedPointTypeInvalidObject
54 AttachedPointModeOrientationOnly
64 : myAttachedPointType( type )
65 , myTargetVertexIndex( targetVertexIndex )
66 , myPositionOffset( positionOffset )
67 , myAttachedPointMode(AttachedPointModePositionAndOrientation)
75 return myAttachedPointType;
80 return myTargetVertexIndex;
90 return myPositionOffset;
95 myAttachedPointMode =
mode;
100 return myAttachedPointMode;
118 int targetVertexIndex,
const DtVector& positionOffset )
119 :
AttachedPoint( AttachedPointTypeObject, targetVertexIndex, positionOffset )
120 , mySceneObject( sceneObject )
121 , myUpdater( updater )
122 , mySceneObjectId( 0 )
126 mySceneObjectId = sceneObject->
uniqueId();
134 mySceneObject = sceneObject;
138 mySceneObjectId = sceneObject->
uniqueId();
148 return mySceneObjectId;
153 return mySceneObject;
187 :
AttachedPoint( AttachedPointTypeVertex, targetVertexIndex, positionOffset )
188 , myVertex( position )
210 int vtx1,
int vtx2,
double proportion,
int targetVertexIndex,
214 , mySecondVtx( vtx2 )
215 , myProportion( proportion )
217 myAttachedPointType = AttachedPointTypeProportional;
252 virtual bool needsUpdate(
DtTime tNow );
257 virtual void addAttachedPoint(
const DtVector& position,
int targetVertexIndex );
262 virtual void addAttachedPoint(
DtUniqueID sceneObjectId,
int targetVertexIndex );
272 virtual void addAttachedPoint(
DtUniqueID sceneObjectId,
int vtx1,
int vtx2,
273 double proportion,
int targetVertexIndex );
279 virtual const AttachedPoint& attachedPoint(
int targetVertexIndex )
const;
293 virtual void setPositionOffset(
const DtVector&
offset,
int vtx );
297 virtual void setOrientationOffset(
const DtTaitBryan&
offset);
301 virtual void setWorldOrientationOffset(
const DtTaitBryan&
offset);
304 virtual void setAttachedPointMode(
unsigned int mode,
int vtx );
307 virtual void update(
DtTime tNow );
315 virtual void setModel(
DtModel* model );
319 virtual void doAttachment(
DtTime tNow );
323 return myLastUpdateTime;
330 virtual void slot_sceneObjectToBeDeleted(
const DtUniqueID&
id );
331 virtual void slot_modelToBeDeleted(
DtModel* model );
332 virtual void slot_attachedSceneObjectToBeDeleted(
const DtUniqueID& );
333 virtual void slot_attachedUpdaterToBeDeleted(
const DtUniqueID&
id );
337 virtual bool pointLocationAndOrientation( AttachedPoint* point,
338 double simTime,
DtVector& location, DtTaitBryan& orientation );
341 virtual void removeAttachedPoint(
int vtx,
DtVector* positionOffset = 0);
int targetVertexIndex()
Definition: DtAttachableUpdater.h:78
AttachedPointType myAttachedPointType
Definition: DtAttachableUpdater.h:105
DtUniqueID uniqueId() const
Get the unique ID of the object.
virtual ~ObjectAttachedPoint()
Definition: DtAttachableUpdater.h:130
DtTaitBryan myWorldOrientationOffset
Definition: DtAttachableUpdater.h:369
AttachedPoint used to attach to a scene object.
Definition: DtAttachableUpdater.h:113
virtual ~VertexAttachedPoint()
Definition: DtAttachableUpdater.h:191
Definition: DtAttachableUpdater.h:45
Common base class for all attachments.
Definition: DtAttachableUpdater.h:58
AttachedPointMode myAttachedPointMode
Definition: DtAttachableUpdater.h:108
DtVector vertex() const
Definition: DtAttachableUpdater.h:193
AttachedPointsVector myAttachedPoints
Definition: DtAttachableUpdater.h:363
AttachPoint used to attach to a position provided through the updater interface.
Definition: DtAttachableUpdater.h:181
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:39
DtSceneObjectUpdater * updater() const
Definition: DtAttachableUpdater.h:161
std::vector< AttachedPoint * > AttachedPointsVector
Definition: DtAttachableUpdater.h:362
An abstract base class for objects that require updates. This object automatically adds itself to a D...
Definition: DtTickable.h:26
int secondVtx()
Definition: DtAttachableUpdater.h:225
DtModel * myModel
A pointer to the current model being updated.
Definition: DtAttachableUpdater.h:354
LinearAttachedPoint(DtSceneObject *sceneObject, DtSceneObjectUpdater *updater, int vtx1, int vtx2, double proportion, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:209
void setAttachedPointMode(AttachedPointMode mode)
Definition: DtAttachableUpdater.h:93
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtSceneObject * mySceneObject
Definition: DtAttachableUpdater.h:174
Definition: DtAttachableUpdater.h:46
Definition: DtAttachableUpdater.h:52
AttachedPointType
Types of attachments.
Definition: DtAttachableUpdater.h:41
void setPositionOffset(const DtVector &o)
Definition: DtAttachableUpdater.h:83
DtSceneObject * sceneObject() const
Definition: DtAttachableUpdater.h:151
A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) att...
Definition: DtAttachableUpdater.h:35
DtVector myVertex
Definition: DtAttachableUpdater.h:200
boost::signalslib::connection mySceneObjectUpdaterConnection
Definition: DtAttachableUpdater.h:170
int myTargetVertexIndex
Definition: DtAttachableUpdater.h:106
int firstVtx()
Definition: DtAttachableUpdater.h:220
DtVector myPositionOffset
Definition: DtAttachableUpdater.h:107
void setUpdater(DtSceneObjectUpdater *updater)
Definition: DtAttachableUpdater.h:156
DtVector myWorldPositionOffset
Definition: DtAttachableUpdater.h:368
void setSceneObject(DtSceneObject *sceneObject)
Definition: DtAttachableUpdater.h:132
DtUniqueID myUniqueId
This distributed object's unique identifier.
Definition: DtAttachableUpdater.h:348
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
AttachedPointMode attachedPointMode() const
Definition: DtAttachableUpdater.h:98
int mySecondVtx
Definition: DtAttachableUpdater.h:238
Definition: DtAttachableUpdater.h:53
DtTaitBryan myOrientationOffset
Definition: DtAttachableUpdater.h:366
boost::signalslib::connection mySceneObjectConnection
Definition: DtAttachableUpdater.h:169
ObjectAttachedPoint(DtSceneObject *sceneObject, DtSceneObjectUpdater *updater, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:117
boost::signalslib::connection mySceneObjectOrModelConnection
Definition: DtAttachableUpdater.h:359
DtUniqueID mySceneObjectId
Definition: DtAttachableUpdater.h:371
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: DtAttachableUpdater.h:44
DtUniqueID mySceneObjectId
Definition: DtAttachableUpdater.h:176
AttachPoint used to attach to a point that is proportionally positioned between 2 other points...
Definition: DtAttachableUpdater.h:205
AttachedPoint(AttachedPointType type, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:62
AttachedPointType type() const
Definition: DtAttachableUpdater.h:73
Contains the declaration for makVrv::DtTickable.
DtUniqueID sceneObjectId() const
Definition: DtAttachableUpdater.h:146
double proportion()
Definition: DtAttachableUpdater.h:230
VertexAttachedPoint(const DtVector &position, int targetVertexIndex, const DtVector &positionOffset)
Definition: DtAttachableUpdater.h:185
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:44
Definition: DtAttachableUpdater.h:43
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:56
Contains makVrv::DtUniqueID type.
DtSceneObject * mySceneObject
A pointer to the current scene object being updated.
Definition: DtAttachableUpdater.h:351
double myProportion
Definition: DtAttachableUpdater.h:239
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtVector myPositionOffset
Definition: DtAttachableUpdater.h:365
boost::signalslib::connection mySceneObjectUpdaterConnection
Definition: DtAttachableUpdater.h:360
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
AttachedPointMode
Definition: DtAttachableUpdater.h:50
int myFirstVtx
Definition: DtAttachableUpdater.h:237
DtDe & myDe
The display engine.
Definition: DtAttachableUpdater.h:345
DtSceneObjectUpdater * myUpdater
Definition: DtAttachableUpdater.h:175
const DtVector & positionOffset() const
Definition: DtAttachableUpdater.h:88
virtual ~AttachedPoint()
Definition: DtAttachableUpdater.h:71
Contains various enum classes relating to model sets.
DtTime lastUpdateTime() const
Definition: DtAttachableUpdater.h:321
Contains makVrv::DtSceneObject class.