VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtMultiDeadReckonUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 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 
16 #include <vlpi/disEnums.h>
17 
18 #include <vector>
19 #include <string>
20 
21 #include <boost/function.hpp>
22 
23 class DtVector;
24 class DtTaitBryan;
25 
26 namespace makVrv
27 {
28 
29  class DtDe;
30  class DtMotionModel;
31 
37  {
38  typedef std::vector<DtMotionModel*> MotionModels;
39 
40  public:
46 
48  virtual ~DtMultiDeadReckonUpdater();
49 
52  virtual void update( DtTime tNow );
53 
63  virtual bool needsUpdate( DtTime tNow );
64 
67  virtual void setSceneObject( DtSceneObject* sceneObject );
68 
70 
71  virtual void setInputPosition( unsigned int vtx, const DtVector& position );
72  virtual void setInputPosition( unsigned int vtx, const DtVector& position,
73  double time);
75 
77 
78 
79  virtual void setInputOrientation(unsigned int vtx, const DtTaitBryan& ori );
80  virtual void setInputOrientation(unsigned int vtx, const DtTaitBryan& ori,
81  double time );
83 
87  virtual void setVelocity( int vtx, const DtVector& velo );
88 
92  virtual void setAcceleration( int vtx, const DtVector& accel );
93 
97  virtual void setAngularVelocity( int vtx, const DtVector& velo );
98 
105  virtual void setDeadReckoningSettings( bool pos, bool ori, bool velo );
106 
109  virtual void setSmoothingEnabled( bool enabled );
110 
115  virtual void setSmoothingPeriod( float period );
116 
119  virtual void updateSpacial( DtTime tNow );
120 
123  virtual void setMotionModel( const std::string& modelName );
124 
128  virtual DtMotionModel* motionModel( int vtx );
129 
132  virtual void setUseAbsoluteTimeStamping(bool);
133  bool useAbsoluteTimeStamping() const;
134 
137  inline DtSceneObject* sceneObject()
138  {
139  return mySceneObject;
140  }
141 
143  inline DtUniqueID uniqueId() const
144  {
145  return myUniqueId;
146  }
147 
148  protected:
153  DtMotionModel* createMotionModel( DtMotionModel* other );
154 
156  void applyToAllMotionModels(
157  const boost::function<void (DtMotionModel*)>& func );
158 
161  virtual void slot_sceneObjectToBeDeleted( const DtUniqueID& id );
163 
164  protected:
167 
170 
173 
176 
178 
179  std::string myMotionModelType;
180  DtDeadReckonTypes myDeadReckonTypes;
181 
185  };
186 
187 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)