VR-Forces 5.0.3 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) 2017 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  : mySceneObject( 0 )
45  , myVertex( 0 )
46  , myUpdater( 0 )
47  , myPositionOffset( DtVector::zero() )
48  , mySceneObjectId( 0 )
49  , myDe( de )
50  {
51  }
52 
54  virtual ~ObjectEmbarkationPoint();
55 
57  void setSceneObject( DtSceneObject* sceneObject );
58 
60  DtSceneObject* sceneObject();
61 
63  inline void setPositionOffset(const DtVector& o)
64  {
65  myPositionOffset = o;
66  }
67 
69  inline const DtVector& positionOffset() const
70  {
71  return myPositionOffset;
72  }
73 
74  // get values of attached point at simTime
75  virtual bool pointLocationAndOrientation( double simTime,
76  DtVector& location, DtTaitBryan& orientation );
77 
78  protected:
79  virtual void slot_embarkedSceneObjectToBeDeleted( const DtUniqueID& );
80  virtual void slot_embarkedUpdaterToBeDeleted( const DtUniqueID& id );
81 
82  protected:
86  unsigned int myVertex;
89 
90  // When the class is destructed, the scene object may or may not
91  // exist. Using a separate connection variable makes it possible to
92  // 'disconnect' even if the scene object has been deleted.
93  boost::signalslib::connection mySceneObjectConnection;
94  boost::signalslib::connection mySceneObjectUpdaterConnection;
95  };
96 
97  public:
98 
101 
103  virtual ~DtEmbarkationUpdater();
104 
108  virtual void embark( DtUniqueID uniqueID );
109 
111  virtual void setPositionOffset( const DtVector& offset );
112 
114  virtual void update( DtTime tNow );
115 
117  virtual void doEmbarkation( DtTime tNow );
118 
120  virtual const ObjectEmbarkationPoint& embarkationPoint();
121 
122  protected:
124  };
125 }
const DtVector & positionOffset() const
Get the position offset from the host object&#39;s position.
Definition: DtEmbarkationUpdater.h:69
DtSceneObjectUpdater * myUpdater
Definition: DtEmbarkationUpdater.h:85
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:36
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:83
Contains the declaration for makVrv::DtSceneObjectUpdater.
DtSceneObject * mySceneObject
Definition: DtEmbarkationUpdater.h:84
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
void setPositionOffset(const DtVector &o)
Set the position offset from the host object&#39;s position.
Definition: DtEmbarkationUpdater.h:63
ObjectEmbarkationPoint(DtDe &de)
CTOR.
Definition: DtEmbarkationUpdater.h:43
unsigned int myVertex
Definition: DtEmbarkationUpdater.h:86
boost::signalslib::connection mySceneObjectConnection
Definition: DtEmbarkationUpdater.h:93
ObjectEmbarkationPoint myEmbarkationPoint
Definition: DtEmbarkationUpdater.h:123
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
Contains makVrv::DtUniqueID type.
boost::signalslib::connection mySceneObjectUpdaterConnection
Definition: DtEmbarkationUpdater.h:94
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:70
EmbarkationPoint used to attach to a scene object.
Definition: DtEmbarkationUpdater.h:38
voidpf uLong offset
Definition: ioapi.h:42
DtDe & myDe
Definition: DtEmbarkationUpdater.h:88
DtUniqueID mySceneObjectId
Definition: DtEmbarkationUpdater.h:87
Contains DLL export macros.

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)