![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtDeadReckonUpdater.h,v $ $Revision: 1.19 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtDeadReckonUpdater_H_ 00014 #define DtDeadReckonUpdater_H_ 00015 00016 #include <vrvCore/vrvCore.h> 00017 #include <vrvCore/DtDe.h> 00018 #include <vrvCore/DtUpdater.h> 00019 00020 #include <string> 00021 00022 class DtVector; 00023 class DtTaitBryan; 00024 00025 namespace makVrv 00026 { 00027 class DtMotionModel; 00028 00033 class DT_DLL_VRVCORE DtDeadReckonUpdater : public DtUpdater 00034 { 00035 public: 00036 00038 DtDeadReckonUpdater(DtDe& de, DtUniqueID id, bool doNotAddToMgr = false); 00039 00041 virtual ~DtDeadReckonUpdater(); 00042 00044 virtual void update( double simTime ); 00045 00049 virtual void setSceneObject( DtSceneObject* sceneObject); 00050 00052 virtual void setPosition(const DtVector& position); 00053 00055 virtual void setOrientation(const DtTaitBryan& ori); 00056 00058 virtual void setVelocity(const DtVector& velocity); 00059 00061 virtual void setAcceleration(const DtVector& acceleration); 00062 00064 virtual void setAngularVelocity(const DtVector& angularVelocity); 00065 00067 virtual void setDeadReckoningSettings(bool deadReckonPosition, 00068 bool deadReckonVelocity, bool deadReckonOrientation); 00069 00071 virtual void setSmoothingEnabled(bool enabled); 00072 00074 virtual void setSmoothingPeriod(float period); 00075 00077 virtual void updateSpacial(double simulationTime); 00078 00080 void setMotionModel(const std::string& modelName); 00081 00083 DtMotionModel* motionModel(); 00084 protected: 00085 00086 DtMotionModel* myMotionModel; 00087 std::string myMotionModelType; 00088 unsigned int myDeadReckoningSetting; 00089 00090 float mySmoothingPeriod; 00091 float mySmoothingEnabled; 00092 00093 }; 00094 } 00095 00096 #endif 00097