VR-Forces 4.1.1 Class Documentation
DtSceneObjectUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtSceneObject.h>
14 #include <vrvCore/DtTickable.h>
15 #include <vrvCore/DtUniqueID.h>
16 
17 #include <boost/signals.hpp>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtDeSharedState;
23 
31  {
32  public:
33 
41  DtSceneObjectUpdater( DtDe& de, DtUniqueID id, bool suppressTick = false );
42 
44  virtual ~DtSceneObjectUpdater();
45 
52  virtual bool needsUpdate( DtTime tNow );
53 
59  virtual void update( DtTime tNow ) = 0;
60 
63  virtual DtTime lastUpdateTime() const;
64 
67  virtual void setSceneObject( DtSceneObject* sceneObject );
68 
71  inline DtSceneObject* findSceneObject()
72  {
73  return mySceneObject;
74  }
75 
77  inline DtUniqueID uniqueId() const
78  {
79  return myUniqueId;
80  }
81 
85  virtual void setUpdaterPosition( int vtx, const DtVector& pos );
86 
90  virtual const DtVector& updaterPosition( int vtx ) const;
91 
95  virtual void setUpdaterOrientation( int vtx, const DtTaitBryan& ori );
96 
100  virtual const DtTaitBryan& updaterOrientation( int vtx ) const;
101 
108  void updateSceneObject( DtTime tNow );
109 
112  virtual void terrainScaleTransformsIfNeeded();
113 
116 
118  boost::signal< void ( const DtUniqueID& ) > signal_updaterToBeDeleted;
119 
121 
122  protected:
125 
126  virtual void slot_sceneObjectToBeDeleted( const DtUniqueID& id );
127 
129 
130  private:
136  DtSceneObject::ObjectTransform& getOrCreateTransform( int vtx );
137 
142  const DtSceneObject::ObjectTransform& getTransform( int vtx ) const;
143 
144  protected:
145 
148 
151 
154 
157 
163 
167 
172  };
173 
174 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)