![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef approximator_h_ 00007 #define approximator_h_ 00008 00009 #include <vlutil/vlMachineTypes.h> 00010 #include <matrix/vlMath.h> 00011 #include <vlutil/vlTime.h> 00012 #include <matrix/vlTaitBryan.h> 00013 #include <matrix/vlVector.h> 00014 00019 00025 class DT_DLL_VLPROTIND DtApproximator 00026 { 00027 public: 00028 00030 virtual ~DtApproximator(); 00031 00033 DtApproximator& operator=(const DtApproximator& orig); 00034 00037 virtual DtApproximator* clone() const = 0; 00038 00040 virtual void setLocation(const DtVector & loc, DtTime t) = 0; 00042 virtual const DtVector & approxLocation(DtTime t) const = 0; 00043 00045 virtual void setVelocity(const DtVector & vel, DtTime t) = 0; 00047 virtual const DtVector & approxVelocity(DtTime t) const = 0; 00048 00050 virtual void setOrientation(const DtTaitBryan& ori, DtTime t) = 0; 00052 virtual const DtTaitBryan& approxEuler(DtTime t) const = 0; 00053 00055 virtual void setAcceleration(const DtVector & acc, DtTime t) = 0; 00056 virtual const DtVector & acceleration(DtTime t) const = 0; 00057 00059 virtual void setRotationalVelocity(const DtVector & vel, DtTime t) = 0; 00060 virtual const DtVector & rotationalVelocity(DtTime t) const = 0; 00061 00063 virtual const DtDcm & approxBodyToGeoc(DtTime t) const = 0; 00064 00065 protected: 00066 00068 00070 DtApproximator(); 00071 00073 DtApproximator(const DtApproximator& orig); 00074 }; 00075 00076 #endif