VR-Forces Developer's Guide
 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) 2023 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 
29  {
30  public:
31 
34 
36  virtual ~DtDeadReckonUpdater();
37 
39  virtual void update( DtTime tNow );
40 
42  virtual void setVelocity(const DtVector32& velocity);
44  virtual void setVelocity(const DtVector32& velocity, double time);
46 
48  virtual void setBodyVelocity(const DtVector32& velocity);
50  virtual void setBodyVelocity(const DtVector32& velocity, double time);
52 
54  virtual void setAcceleration(const DtVector32& acceleration);
56  virtual void setAcceleration(const DtVector32& acceleration, double time);
58 
60  virtual void setAngularVelocity(const DtVector32& angularVelocity);
62  virtual void setAngularVelocity(const DtVector32& angularVelocity, double time);
64 
66  virtual void setInputPosition( const DtVector& position );
68  virtual void setInputPosition( const DtVector& position, double time);
70 
71 
73  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 
118  virtual const DtVector32& approxUnsmoothedVelocity(DtTime curTime) const;
119 
122  virtual const DtTaitBryan& approxEuler(DtTime curTime) const;
123 
125  virtual const DtVector32& acceleration(DtTime curTime) const;
126 
128  virtual const DtVector32& rotationalVelocity(DtTime curTime) const;
129 
130  virtual void addSceneObjectToUpdate( DtModelSetId modelSet, DtSceneObject* sceneObject, bool addToTickableMgrIfHead = true ) override;
131  virtual void removeSceneObjectToUpdate( DtModelSetId modelSet, DtSceneObject* sceneObject ) override;
132 
133  protected:
134 
139  virtual const DtVector32& approxVelocity(DtTime curTime) const;
140 
141  protected:
142 
144  std::string myMotionModelType;
146 
149  bool myFrozen;
150 
152 
153  DtVector32 myLastVelocity;
154  DtVector32 myLastBodyVelocity;
155  DtVector32 myLastAcceleration;
157  DtVector myLastPosition;
158  DtTaitBryan myLastOrientation;
161  };
162 }
163 
unsigned int myDeadReckoningSetting
Definition: DtDeadReckonUpdater.h:145
DtMotionModel * myMotionModel
Definition: DtDeadReckonUpdater.h:143
DtVector myLastPosition
Definition: DtDeadReckonUpdater.h:157
The base motion model class.
Definition: DtMotionModel.h:26
DtDeadReckonUpdater is a scene object updater that is given kinematic updates and updates a scene obj...
Definition: DtDeadReckonUpdater.h:28
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:40
float mySmoothingPeriod
Definition: DtDeadReckonUpdater.h:147
Contains makVrv::DtDe class.
std::string myMotionModelType
Definition: DtDeadReckonUpdater.h:144
DtVector32 myLastBodyVelocity
Definition: DtDeadReckonUpdater.h:154
Contains the declaration for makVrv::DtSceneObjectUpdater.
DtVector32 myLastVelocity
Definition: DtDeadReckonUpdater.h:153
bool mySmoothingEnabled
Definition: DtDeadReckonUpdater.h:148
bool myNeedsBodyVelocityUpdate
Definition: DtDeadReckonUpdater.h:160
DtVector32 myLastAcceleration
Definition: DtDeadReckonUpdater.h:155
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myFrozen
Definition: DtDeadReckonUpdater.h:149
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtVector32 myLastAngularVelocity
Definition: DtDeadReckonUpdater.h:156
bool myUsesBodyVelocity
Definition: DtDeadReckonUpdater.h:159
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
bool myUseAbsoluteTimeStamping
Definition: DtDeadReckonUpdater.h:151
DtTaitBryan myLastOrientation
Definition: DtDeadReckonUpdater.h:158
DtModelSetId
Definition: DtModelSetEnums.h:19

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)