VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
smoother.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #ifndef smoother_H_
10 #define smoother_H_
11 
12 #include "deadReckoner.h"
13 
23 {
24 public:
26  DtSmoother();
28  virtual ~DtSmoother();
30  DtSmoother( const DtSmoother& src );
32  DtSmoother& operator=( const DtSmoother& src );
33 
35  bool operator == (const DtSmoother& orig ) const;
36 
39  virtual DtApproximator* clone() const;
40 
41 protected:
42  virtual void resetPosSmoother( DtTime t );
43  virtual void resetOriSmoother( DtTime t );
44 
45 public:
47  virtual void setLocation( const DtVector& loc, DtTime t );
49  virtual const DtVector& approxLocation( DtTime t ) const;
50 
52  virtual void setVelocity( const DtVector& vel, DtTime t );
54  virtual const DtVector& approxVelocity( DtTime t ) const;
55 
57  virtual void setOrientation( const DtTaitBryan& ori, DtTime t );
59  virtual const DtTaitBryan& approxEuler( DtTime t ) const;
60 
62  virtual void setAcceleration( const DtVector& acc, DtTime t );
63  virtual const DtVector& acceleration( DtTime t ) const;
64 
66  virtual void setRotationalVelocity( const DtVector& vel, DtTime t );
67  virtual const DtVector& rotationalVelocity( DtTime t ) const;
68 
70  virtual const DtDcm& approxBodyToGeoc( DtTime t ) const;
71 
75  virtual void setSmoothPeriod( DtTime t );
76  virtual DtTime smoothPeriod() const;
77 
81  virtual void setOriSmoothPeriod( DtTime t );
82  virtual DtTime oriSmoothPeriod() const;
83 
84  virtual void setSmoothEnable(bool onOff);
85  virtual bool smoothEnable() const;
86 
87 protected:
88  virtual const DtVector& smoothPosition( DtTime t );
89  virtual const DtVector& smoothVelocity( DtTime t );
90  virtual const DtDcm& smoothBodyToGeoc( DtTime t );
91  virtual void initSmootherParams();
92  virtual void initSmoothOriParams();
93 
101  inline DtSmoother* self() const;
102 
103 public:
105  static void setDfltSmoothPeriod(DtTime smoothPeriod);
106  static DtTime dfltSmoothPeriod();
107 
110  static void setMasterSmoothEnable(bool onOff);
111  static bool masterSmoothEnable();
112 
113 
114  static void rotAngleAndAxisFromRotMatrix(
115  DtVector& n, double& phi, const DtDcm& m );
116  static void rotMatrixFromRotRatesAndTime(
117  DtDcm& m, DtDcm& o, DtVector& n, double& w, const DtVector& r, double t );
118 
119 protected:
120  static double theTimeTolerance;
123 
124 protected:
152  bool myIsDirty;
156 };
157 
158 
160 {
161  return (DtSmoother*)this;
162 }
163 
164 #endif
165 

Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)