VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
exponentialSmoother.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef oldSmoother_H_
7 #define oldSmoother_H_
8 
13 #include "smoothPosWithDr.h"
14 #include "smoothOriWithDr.h"
15 
30 {
31 public:
32 
35 
37  virtual ~DtExponentialSmoother();
38 
41 
44 
47  virtual DtApproximator* clone() const;
48 
51  virtual void setAll(
52  const DtVector& loc,
53  const DtVector32& vel,
54  const DtTaitBryan& ori,
55  const DtVector32& acc,
56  const DtVector32& rotVel,
57  DtTime t);
58 
60  virtual void setLocation(const DtVector & loc, DtTime t);
62  virtual const DtVector & approxLocation(DtTime t) const;
63 
65  virtual void setVelocity(const DtVector32 & vel, DtTime t);
67  virtual const DtVector32 & approxVelocity(DtTime t) const;
68 
70  virtual void setOrientation(const DtTaitBryan& ori, DtTime t);
72  virtual const DtTaitBryan& approxEuler(DtTime t) const;
73 
75  virtual void setAcceleration(const DtVector32 & acc, DtTime t);
76  virtual const DtVector32 & acceleration(DtTime t) const;
77 
79  virtual void setRotationalVelocity(const DtVector32 & vel, DtTime t);
80  virtual const DtVector32 & rotationalVelocity(DtTime t) const;
81 
83  virtual const DtDcm & approxBodyToGeoc(DtTime t) const;
84 
89  virtual void setSmoothEnable(bool on);
90  virtual bool smoothEnable() const;
91 
95  virtual void setSmoothPeriod(DtTime smoothPeriod);
96  virtual DtTime smoothPeriod() const;
97 
101  virtual void reset();
102 
105  virtual void setFrozen( bool frozen );
106 
107 public:
108 
110  static void setDfltSmoothPeriod(DtTime smoothPeriod);
111  static DtTime dfltSmoothPeriod();
112 
115  static void setMasterSmoothEnable(bool onOff);
116  static bool masterSmoothEnable();
117 
118 protected:
119 
121  virtual void feedSmoothing();
122 
130  DtExponentialSmoother* self() const;
131 
132 protected:
133 
137 
139 };
140 
142 {
143  return (DtExponentialSmoother*) this;
144 }
145 
148 
149 #endif
150 
151 
152 
153 
154 
DtExponentialSmoother * self() const
Get rid of const-ness on the "this" pointer in order to access non-const functions from const member ...
Definition: exponentialSmoother.h:141
DtSmoothPosWithDr mySpos
Definition: exponentialSmoother.h:134
Instances of DtExponentialSmoother are used to provide approximated position and orientation informat...
Definition: exponentialSmoother.h:29
virtual void setLocation(const DtVector &loc, DtTime t)
Set absolute location.
virtual const DtTaitBryan & approxEuler(DtTime t) const
Get approximated orientation (Euler angles) at the specified time.
virtual void setRotationalVelocity(const DtVector32 &vel, DtTime t)
Set/Get absolute rotational velocity.
virtual void setAll(const DtVector &loc, const DtVector32 &vel, const DtTaitBryan &ori, const DtVector32 &acc, const DtVector32 &rotVel, DtTime t)
Coherently set all DR parameters, thus avoiding DR computations associated with a partial set...
virtual void setSmoothPeriod(DtTime t)
Set/Get smoothing period - the amount of time, in seconds, over which smoothing takes place...
DtTrigonometricSmoother & operator=(const DtTrigonometricSmoother &src)
Assignment operator.
virtual DtApproximator * clone() const
Create a copy of this object.
virtual const DtVector32 & rotationalVelocity(DtTime t) const
Instances of DtSmoothPosWithDr are used to provide the mechanism to smooth position and dead-reckon p...
Definition: smoothPosWithDr.h:22
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles...
Definition: vlTaitBryan.h:43
virtual const DtDcm & approxBodyToGeoc(DtTime t) const
Get the approximated data body to geocentric coordinate matrix.
Instances of DtSmoothOriWithDr are used to provide the mechanism to smooth orientation and dead-recko...
Definition: smoothOriWithDr.h:25
virtual void setOrientation(const DtTaitBryan &ori, DtTime t)
Set absolute orientation.
virtual void setAcceleration(const DtVector32 &acc, DtTime t)
Set/Get absolute acceleration.
static void setDfltSmoothPeriod(DtTime smoothPeriod)
Set/Get the default smoothing period.
DtExponentialSmoother DtOldSmoother
Compatibility.
Definition: exponentialSmoother.h:147
virtual DtTime smoothPeriod() const
virtual void setSmoothEnable(bool onOff)
Definition: vlVector.h:224
virtual void setFrozen(bool frozen)
Set/Get whether the dead-reckoner is frozen.
static void setMasterSmoothEnable(bool onOff)
Set/Get the value of the "master" smoothing-enabled switch.
virtual void setVelocity(const DtVector32 &vel, DtTime t)
Set absolute velocity.
DtApproximator is an abstract base class.
Definition: approximator.h:24
Definition: vlVector.h:162
static DtTime dfltSmoothPeriod()
DtTaitBryan myApproxEuler
Definition: exponentialSmoother.h:136
virtual const DtVector32 & approxVelocity(DtTime t) const
Get the approximated velocity at the specified time.
#define DT_DLL_VLPROTIND
Definition: vlMachineTypes.h:110
This file contains a declaration of the class DtSmoothOriWithDr.
Instances of DtTrigonometricSmoother are used to provide approximated position and orientation inform...
Definition: trigonometricSmoother.h:25
virtual const DtVector32 & acceleration(DtTime t) const
DtDcms are used to represent orientation for an object.
Definition: vlDcm.h:39
virtual const DtVector & approxLocation(DtTime t) const
Get the approximated location at the specified time.
This file contains a declaration of the class DtSmoothPosWithDr.
DtVector32 myRealVelocity
Definition: exponentialSmoother.h:138
static bool masterSmoothEnable()
DtSmoothOriWithDr mySorient
Definition: exponentialSmoother.h:135
virtual bool smoothEnable() const

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)