![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef oldSmoother_H_ 00007 #define oldSmoother_H_ 00008 00012 #include "smoother.h" 00013 #include "smoothPosWDR.h" 00014 #include "smoothOriWDR.h" 00015 00030 class DT_DLL_VLPROTIND DtOldSmoother : public DtSmoother 00031 { 00032 public: 00033 00035 DtOldSmoother(); 00036 00038 virtual ~DtOldSmoother(); 00039 00041 DtOldSmoother(const DtOldSmoother& orig); 00042 00044 DtOldSmoother& operator=(const DtOldSmoother& orig); 00045 00048 virtual DtApproximator* clone() const; 00049 00051 virtual void setLocation(const DtVector & loc, DtTime t); 00053 virtual const DtVector & approxLocation(DtTime t) const; 00054 00056 virtual void setVelocity(const DtVector & vel, DtTime t); 00058 virtual const DtVector & approxVelocity(DtTime t) const; 00059 00061 virtual void setOrientation(const DtTaitBryan& ori, DtTime t); 00063 virtual const DtTaitBryan& approxEuler(DtTime t) const; 00064 00066 virtual void setAcceleration(const DtVector & acc, DtTime t); 00067 virtual const DtVector & acceleration(DtTime t) const; 00068 00070 virtual void setRotationalVelocity(const DtVector & vel, DtTime t); 00071 virtual const DtVector & rotationalVelocity(DtTime t) const; 00072 00074 virtual const DtDcm & approxBodyToGeoc(DtTime t) const; 00075 00080 virtual void setSmoothEnable(bool on); 00081 virtual bool smoothEnable() const; 00082 00086 virtual void setSmoothPeriod(DtTime smoothPeriod); 00087 virtual DtTime smoothPeriod() const; 00088 00089 public: 00090 00092 static void setDfltSmoothPeriod(DtTime smoothPeriod); 00093 static DtTime dfltSmoothPeriod(); 00094 00097 static void setMasterSmoothEnable(bool onOff); 00098 static bool masterSmoothEnable(); 00099 00100 protected: 00101 00103 virtual void feedSmoothing(); 00104 00112 DtOldSmoother* self() const; 00113 00114 protected: 00115 00116 DtSmoothPosWithDr mySpos; 00117 DtSmoothOriWithDr mySorient; 00118 DtTaitBryan myApproxEuler; 00119 00120 DtVector myRealVelocity; 00121 }; 00122 00123 inline DtOldSmoother* DtOldSmoother::self() const 00124 { 00125 return (DtOldSmoother*) this; 00126 } 00127 00128 #endif 00129 00130 00131 00132 00133