VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDeadReckonUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtDe.h>
14 #include <matrix/vlVector.h>
15 #include <string>
16 
17 
18 class DtTaitBryan;
19 
20 namespace makVrv
21 {
22  class DtMotionModel;
23 // class DtDeSharedState;
24 
30  {
31  public:
32 
35 
37  virtual ~DtDeadReckonUpdater();
38 
40  virtual void update( DtTime tNow );
41 
45  virtual void setSceneObject( DtSceneObject* sceneObject);
46 
48 
49  virtual void setVelocity(const DtVector32& velocity);
50  virtual void setVelocity(const DtVector32& velocity, double time);
52 
54 
55  virtual void setAcceleration(const DtVector32& acceleration);
56  virtual void setAcceleration(const DtVector32& acceleration, double time);
58 
60 
61  virtual void setAngularVelocity(const DtVector32& angularVelocity);
62  virtual void setAngularVelocity(const DtVector32& angularVelocity, double time);
64 
66 
67  virtual void setInputPosition( const DtVector& position );
68  virtual void setInputPosition( const DtVector& position, double time);
70 
71 
73 
74 
75  virtual void setInputOrientation(const DtTaitBryan& ori );
76  virtual void setInputOrientation(const DtTaitBryan& ori, double time );
78 
80  virtual void setDeadReckoningSettings(bool deadReckonPosition,
81  bool deadReckonVelocity, bool deadReckonOrientation);
82 
84  virtual void setSmoothingEnabled(bool enabled);
85 
87  virtual void setSmoothingPeriod(float period);
88 
90  virtual void resetSmoother();
91 
93  virtual void updateSpacial(DtTime tNow);
94 
96  void setMotionModel(const std::string& modelName);
97 
99  DtMotionModel* motionModel() const;
100 
103  virtual void setUseAbsoluteTimeStamping(bool);
104  bool useAbsoluteTimeStamping() const;
105 
107  virtual void setFrozen( bool frozen );
108  virtual bool isFrozen() const;
109 
114  virtual const DtVector& approxLocation(DtTime curTime) const;
115 
120  virtual const DtVector32& approxVelocity(DtTime curTime) const;
121 
124  virtual const DtVector32& approxUnsmoothedVelocity(DtTime curTime) const;
125 
128  virtual const DtTaitBryan& approxEuler(DtTime curTime) const;
129 
131  virtual const DtVector32& acceleration(DtTime curTime) const;
132 
134  virtual const DtVector32& rotationalVelocity(DtTime curTime) const;
135 
136  protected:
137 
139  std::string myMotionModelType;
141 
144 
146 
147  DtVector32 myLastVelocity;
148  DtVector32 myLastAcceleration;
151  DtTaitBryan myLastOrientation;
152  boost::signalslib::connection myModelAddedConnection;
153  boost::signalslib::connection myModelRemovedConnection;
154  };
155 }
156 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)