VR-Forces 4.1.1 Class Documentation
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>
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:
47  DtDe& de, DtUniqueID id, bool suppressTick = false );
48 
50  virtual ~DtMultiDeadReckonUpdater();
51 
54  virtual void update( DtTime tNow );
55 
59  virtual void setPosition( int vtx, const DtVector& pos );
60 
64  virtual void setOrientation( int vtx, const DtTaitBryan& ori );
65 
69  virtual void setVelocity( int vtx, const DtVector& velo );
70 
74  virtual void setAcceleration( int vtx, const DtVector& accel );
75 
79  virtual void setAngularVelocity( int vtx, const DtVector& velo );
80 
87  virtual void setDeadReckoningSettings( bool pos, bool ori, bool velo );
88 
91  virtual void setSmoothingEnabled( bool enabled );
92 
97  virtual void setSmoothingPeriod( float period );
98 
101  virtual void updateSpacial( DtTime tNow );
102 
105  virtual void setMotionModel( const std::string& modelName );
106 
110  virtual DtMotionModel* motionModel( int vtx );
111 
114  virtual void setUseAbsoluteTimeStamping(bool);
115  bool useAbsoluteTimeStamping() const;
116 
117  private:
122  DtMotionModel* createMotionModel( DtMotionModel* other );
123 
125  void applyToAllMotionModels(
126  const boost::function<void (DtMotionModel*)>& func );
127 
128  protected:
129 
131  std::string myMotionModelType;
132  DtDeadReckonTypes myDeadReckonTypes;
133 
137  };
138 
139 }

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)