VR-Link API Documentation for DIS
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes

Instances of DtSmoother are used to provide approximated position and orientation information for entities. More...

+ Inheritance diagram for DtSmoother:
+ Collaboration diagram for DtSmoother:

List of all members.

Public Member Functions

 DtSmoother ()
 Default constructor.
virtual ~DtSmoother ()
 Destructor.
 DtSmoother (const DtSmoother &src)
 Copy constructor.
DtSmootheroperator= (const DtSmoother &src)
 Assignment operator.
virtual DtApproximatorclone () const
 Create a copy of this object.
virtual void setLocation (const DtVector &loc, DtTime t)
 Set absolute location.
virtual const DtVectorapproxLocation (DtTime t) const
 Get the approximated location at the specified time.
virtual void setVelocity (const DtVector &vel, DtTime t)
 Set absolute velocity.
virtual const DtVectorapproxVelocity (DtTime t) const
 Get the approximated velocity at the specified time.
virtual void setOrientation (const DtTaitBryan &ori, DtTime t)
 Set absolute orientation.
virtual const DtTaitBryanapproxEuler (DtTime t) const
 Get approximated orientation (Euler angles) at the specified time.
virtual void setAcceleration (const DtVector &acc, DtTime t)
 Set/Get absolute acceleration.
virtual const DtVectoracceleration (DtTime t) const
virtual void setRotationalVelocity (const DtVector &vel, DtTime t)
 Set/Get absolute rotational velocity.
virtual const DtVectorrotationalVelocity (DtTime t) const
virtual const DtDcmapproxBodyToGeoc (DtTime t) const
 Get the approximated data body to geocentric coordinate matrix.
virtual void setSmoothPeriod (DtTime t)
 Set/Get smoothing period - the amount of time over which smoothing takes place.
virtual DtTime smoothPeriod () const
virtual void setOriSmoothPeriod (DtTime t)
 Set/Get orientation smoothing period - the amount of time over which orientation smoothing takes place.
virtual DtTime oriSmoothPeriod () const
virtual void setSmoothEnable (bool onOff)
virtual bool smoothEnable () const

Static Public Member Functions

static void setDfltSmoothPeriod (DtTime smoothPeriod)
 Set/Get the default smoothing period.
static DtTime dfltSmoothPeriod ()
static void setMasterSmoothEnable (bool onOff)
 Set/Get the value of the "master" smoothing-enabled switch.
static bool masterSmoothEnable ()
static void rotAngleAndAxisFromRotMatrix (DtVector &n, double &phi, const DtDcm &m)
static void rotMatrixFromRotRatesAndTime (DtDcm &m, DtDcm &o, DtVector &n, double &w, const DtVector &r, double t)

Protected Member Functions

virtual void resetPosSmoother (DtTime t)
virtual void resetOriSmoother (DtTime t)
virtual const DtVectorsmoothPosition (DtTime t)
virtual const DtVectorsmoothVelocity (DtTime t)
virtual const DtDcmsmoothBodyToGeoc (DtTime t)
virtual void initSmootherParams ()
virtual void initSmoothOriParams ()
DtSmootherself () const
 Get rid of constness on the "this" pointer in order to access non-const functions from const member functions (such as simple accessors).

Protected Attributes

DtVector myLastDrPos
DtVector myLastDrVel
DtVector mySmoothPos
DtVector mySmoothVel
DtVector myX1
DtVector myV1
DtVector myA1
DtVector myA2
DtTime myTau
DtTime myTau2
DtTime myTau2Inv
DtTime myTauSq4
DtTime myTauSq4Inv
DtTime myLastSetTime
DtTime myPostSmoothTime
DtTime myHalfSmoothTime
DtTime myOriTau
DtTime myLastSetOriTime
DtTime myPostSmoothOriTime
DtTime myLastSmoothOriTime
DtTime myLastSmoothTbTime
double mySmoothRotRate
DtDcm myLastDrOri
DtDcm mySmoothOri
DtDcm mySmoothOmegaMx
DtVector mySmoothRotAxis
DtTaitBryan mySmoothTb
bool myIsDirty
bool myOriIsDirty
bool myTbIsDirty
bool mySmoothEnable

Static Protected Attributes

static double theTimeTolerance
static bool theMasterSmoothEnable
static DtTime theDfltSmoothPeriod

Detailed Description

Instances of DtSmoother are used to provide approximated position and orientation information for entities.

Position and orientation information is approximated over time from the last set absolute (non-approximated) information. When a new position is set, the current position moves smoothly to reflect the new information, rather than jumping to the new absolute position.


Constructor & Destructor Documentation

Default constructor.

virtual DtSmoother::~DtSmoother ( ) [virtual]

Destructor.

Copy constructor.


Member Function Documentation

virtual const DtVector& DtSmoother::acceleration ( DtTime  t) const [virtual]

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual const DtDcm& DtSmoother::approxBodyToGeoc ( DtTime  t) const [virtual]

Get the approximated data body to geocentric coordinate matrix.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual const DtTaitBryan& DtSmoother::approxEuler ( DtTime  t) const [virtual]

Get approximated orientation (Euler angles) at the specified time.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual const DtVector& DtSmoother::approxLocation ( DtTime  t) const [virtual]

Get the approximated location at the specified time.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual const DtVector& DtSmoother::approxVelocity ( DtTime  t) const [virtual]

Get the approximated velocity at the specified time.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual DtApproximator* DtSmoother::clone ( ) const [virtual]

Create a copy of this object.

Memory is allocated and it is the responsibility of the caller to free the memory via delete.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

static DtTime DtSmoother::dfltSmoothPeriod ( ) [static]

Reimplemented in DtOldSmoother.

virtual void DtSmoother::initSmootherParams ( ) [protected, virtual]
virtual void DtSmoother::initSmoothOriParams ( ) [protected, virtual]
static bool DtSmoother::masterSmoothEnable ( ) [static]

Reimplemented in DtOldSmoother.

DtSmoother& DtSmoother::operator= ( const DtSmoother src)

Assignment operator.

virtual DtTime DtSmoother::oriSmoothPeriod ( ) const [virtual]
virtual void DtSmoother::resetOriSmoother ( DtTime  t) [protected, virtual]
virtual void DtSmoother::resetPosSmoother ( DtTime  t) [protected, virtual]
static void DtSmoother::rotAngleAndAxisFromRotMatrix ( DtVector n,
double &  phi,
const DtDcm m 
) [static]
virtual const DtVector& DtSmoother::rotationalVelocity ( DtTime  t) const [virtual]

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

static void DtSmoother::rotMatrixFromRotRatesAndTime ( DtDcm m,
DtDcm o,
DtVector n,
double &  w,
const DtVector r,
double  t 
) [static]
DtSmoother * DtSmoother::self ( ) const [inline, protected]

Get rid of constness on the "this" pointer in order to access non-const functions from const member functions (such as simple accessors).

This should be used sparingly since it bypasses the const protection. Note: This is essentially like an operator and is non-virtual, since can't override based on return type. Allows derived classes to also define this member.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual void DtSmoother::setAcceleration ( const DtVector acc,
DtTime  t 
) [virtual]

Set/Get absolute acceleration.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

static void DtSmoother::setDfltSmoothPeriod ( DtTime  smoothPeriod) [static]

Set/Get the default smoothing period.

Reimplemented in DtOldSmoother.

virtual void DtSmoother::setLocation ( const DtVector loc,
DtTime  t 
) [virtual]

Set absolute location.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

static void DtSmoother::setMasterSmoothEnable ( bool  onOff) [static]

Set/Get the value of the "master" smoothing-enabled switch.

Master smoothing switch defaults to on.

Reimplemented in DtOldSmoother.

virtual void DtSmoother::setOrientation ( const DtTaitBryan ori,
DtTime  t 
) [virtual]

Set absolute orientation.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual void DtSmoother::setOriSmoothPeriod ( DtTime  t) [virtual]

Set/Get orientation smoothing period - the amount of time over which orientation smoothing takes place.

Pass a value of -1 to indicate use of the default smoothing period.

virtual void DtSmoother::setRotationalVelocity ( const DtVector vel,
DtTime  t 
) [virtual]

Set/Get absolute rotational velocity.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual void DtSmoother::setSmoothEnable ( bool  onOff) [virtual]

Reimplemented in DtOldSmoother.

virtual void DtSmoother::setSmoothPeriod ( DtTime  t) [virtual]

Set/Get smoothing period - the amount of time over which smoothing takes place.

Pass a value of -1 to indicate use of the default smoothing period.

Reimplemented in DtOldSmoother.

virtual void DtSmoother::setVelocity ( const DtVector vel,
DtTime  t 
) [virtual]

Set absolute velocity.

Reimplemented from DtDeadReckoner.

Reimplemented in DtOldSmoother.

virtual const DtDcm& DtSmoother::smoothBodyToGeoc ( DtTime  t) [protected, virtual]
virtual bool DtSmoother::smoothEnable ( ) const [virtual]

Reimplemented in DtOldSmoother.

virtual DtTime DtSmoother::smoothPeriod ( ) const [virtual]

Reimplemented in DtOldSmoother.

virtual const DtVector& DtSmoother::smoothPosition ( DtTime  t) [protected, virtual]
virtual const DtVector& DtSmoother::smoothVelocity ( DtTime  t) [protected, virtual]

Member Data Documentation

bool DtSmoother::myIsDirty [protected]
bool DtSmoother::myOriIsDirty [protected]
bool DtSmoother::mySmoothEnable [protected]
double DtSmoother::mySmoothRotRate [protected]
bool DtSmoother::myTbIsDirty [protected]
bool DtSmoother::theMasterSmoothEnable [static, protected]
double DtSmoother::theTimeTolerance [static, protected]

The documentation for this class was generated from the following file:

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)