VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEmbarkationUpdater.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2024 MAK Technologies, Inc
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 
16 #include <matrix/vlVector.h>
17 #include <matrix/vlTaitBryan.h>
18 
19 #include <vector>
20 #include <list>
21 
22 namespace makVrv
23 {
24 
25  class DtDe;
26 
34  {
35  public:
36 
39  {
40  public:
41 
44  : myParentSceneObject( 0 )
45  , myVertex( 0 )
46  , myUpdater( 0 )
47  , myPositionOffset( DtVector::zero() )
48  , myParentSceneObjectId( 0 )
49  , myDe( de )
50  {
51  }
52 
54  virtual ~ObjectEmbarkationPoint();
55 
57  void setParentSceneObject( DtSceneObject* sceneObject );
58 
60  const DtSceneObject* parentSceneObject() const;
61  DtSceneObject* parentSceneObject();
62 
64  inline void setPositionOffset(const DtVector& o)
65  {
66  myPositionOffset = o;
67  }
68 
70  inline const DtVector& positionOffset() const
71  {
72  return myPositionOffset;
73  }
74 
75  // get values of attached point at simTime
76  virtual bool pointLocationAndOrientation( double simTime,
77  DtVector& location, DtTaitBryan& orientation );
78 
79  protected:
80 
81  virtual void slot_embarkedSceneObjectToBeDeleted( const DtUniqueID& );
82  virtual void slot_embarkedUpdaterToBeDeleted( const DtUniqueID& id );
83 
84  protected:
85 
86  DtVector myPositionOffset;
89  unsigned int myVertex;
92 
93  // When the class is destructed, the scene object may or may not
94  // exist. Using a separate connection variable makes it possible to
95  // 'disconnect' even if the scene object has been deleted.
96  boost::signalslib::connection myParentSceneObjectConnection;
97  boost::signalslib::connection myParentSceneObjectUpdaterConnection;
98  };
99 
100  public:
101 
104 
106  virtual ~DtEmbarkationUpdater();
107 
111  virtual void embark( DtUniqueID uniqueID );
112 
114  virtual void setPositionOffset( const DtVector& offset );
115 
117  virtual void update( DtTime tNow );
118 
120  virtual void doEmbarkation( DtTime tNow );
121 
123  virtual const ObjectEmbarkationPoint& embarkationPoint();
124 
125  protected:
127  };
128 }
const DtVector & positionOffset() const
Get the position offset from the host object&#39;s position.
Definition: DtEmbarkationUpdater.h:70
DtSceneObject * myParentSceneObject
Definition: DtEmbarkationUpdater.h:87
DtSceneObjectUpdater * myUpdater
Definition: DtEmbarkationUpdater.h:88
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:40
A DtEmbarkationUpdater updates a scene object that can be positioned in the scene relative to another...
Definition: DtEmbarkationUpdater.h:33
DtVector myPositionOffset
Definition: DtEmbarkationUpdater.h:86
Contains the declaration for makVrv::DtSceneObjectUpdater.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
void setPositionOffset(const DtVector &o)
Set the position offset from the host object&#39;s position.
Definition: DtEmbarkationUpdater.h:64
ObjectEmbarkationPoint(DtDe &de)
CTOR.
Definition: DtEmbarkationUpdater.h:43
unsigned int myVertex
Definition: DtEmbarkationUpdater.h:89
ObjectEmbarkationPoint myEmbarkationPoint
Definition: DtEmbarkationUpdater.h:126
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
boost::signalslib::connection myParentSceneObjectConnection
Definition: DtEmbarkationUpdater.h:96
Contains makVrv::DtUniqueID type.
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:76
EmbarkationPoint used to attach to a scene object.
Definition: DtEmbarkationUpdater.h:38
boost::signalslib::connection myParentSceneObjectUpdaterConnection
Definition: DtEmbarkationUpdater.h:97
voidpf uLong offset
Definition: ioapi.h:42
DtDe & myDe
Definition: DtEmbarkationUpdater.h:91
DtUniqueID myParentSceneObjectId
Definition: DtEmbarkationUpdater.h:90
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)