VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSceneObjectUpdater.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/DtSceneObject.h>
13 #include <vrvCore/DtTickable.h>
14 
15 #include <boost/signals.hpp>
16 
17 namespace makVrv
18 {
19  class DtDe;
20 
34  {
35  public:
36 
41 
43  virtual ~DtSceneObjectUpdater();
44 
52  virtual void setNextUpdater( DtSceneObjectUpdater* nextUpdater );
53 
59  virtual void setPrevUpdater( DtSceneObjectUpdater* prevUpdater );
60 
70  virtual bool needsUpdate( DtTime tNow );
71 
77  virtual void update( DtTime tNow );
78 
81  virtual void setVertexToUpdate( unsigned int vertex );
82 
85  virtual void setInputPosition( const DtVector& position );
86 
89  virtual void setInputOrientation( const DtTaitBryan& orientation );
90 
95  virtual void setOutputPosition( const DtVector& position );
96 
101  virtual void setOutputOrientation( const DtTaitBryan& orientation );
102 
105  virtual DtTime lastUpdateTime() const;
106 
109  virtual void setSceneObject( DtSceneObject* sceneObject );
110 
112 
113 
114  inline DtSceneObject* findSceneObject()
115  {
116  return mySceneObject;
117  }
118 
120  inline DtSceneObject* const findSceneObject() const
121  {
122  return mySceneObject;
123  }
125 
127  inline DtUniqueID uniqueId() const
128  {
129  return myUniqueId;
130  }
131 
133  inline DtSceneObjectUpdater* findNextUpdater() const
134  {
135  return myNextUpdater;
136  }
137 
139  inline DtSceneObjectUpdater* findPrevUpdater() const
140  {
141  return myPrevUpdater;
142  }
143 
147  boost::signal< void ( const DtUniqueID& ) > signal_updaterToBeDeleted;
149 
150  protected:
156  virtual void slot_sceneObjectToBeDeleted( const DtUniqueID& id );
158 
159  protected:
160 
163 
166 
169 
170  // When the class is destructed, the scene object may or may not
171  // exist. Using a separate connection variable makes it possible to
172  // 'disconnect' even if the scene object has been deleted.
173  boost::signalslib::connection mySceneObjectConnection;
174 
175 
178 
181 
184 
186  unsigned int myVertexToUpdate;
187 
190 
192  DtTaitBryan myInputOrientation;
193 
198 
203  };
204 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)