VR-Link API Documentation for HLA 1.3
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

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

+ Inheritance diagram for DtOldSmoother:
+ Collaboration diagram for DtOldSmoother:

Public Member Functions

 DtOldSmoother ()
 constructor
virtual ~DtOldSmoother ()
 destructor
 DtOldSmoother (const DtOldSmoother &orig)
 copy constructor
DtOldSmootheroperator= (const DtOldSmoother &orig)
 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 setSmoothEnable (bool on)
 Set/Get the individual smoothing switch.
virtual bool smoothEnable () const
virtual void setSmoothPeriod (DtTime smoothPeriod)
 Set/Get smoothing period - the amount of time over which smoothing takes place.
virtual DtTime smoothPeriod () const
- Public Member Functions inherited from DtSmoother
 DtSmoother ()
 Default constructor.
virtual ~DtSmoother ()
 Destructor.
 DtSmoother (const DtSmoother &src)
 Copy constructor.
DtSmootheroperator= (const DtSmoother &src)
 Assignment operator.
virtual void setOriSmoothPeriod (DtTime t)
 Set/Get orientation smoothing period - the amount of time over which orientation smoothing takes place.
virtual DtTime oriSmoothPeriod () const
- Public Member Functions inherited from DtDeadReckoner
 DtDeadReckoner ()
 default constructor
virtual ~DtDeadReckoner ()
 destructor
 DtDeadReckoner (const DtDeadReckoner &orig)
 copy constructor
DtDeadReckoneroperator= (const DtDeadReckoner &orig)
 assignment operator
virtual const DtVectordeadReckonedLocation (DtTime curTime) const
 Get the dead-reckoned location at the specified time.
virtual const DtVectordeadReckonedVelocity (DtTime curTime) const
 Get the dead-reckoned velocity at the specified time.
virtual const DtTaitBryandeadReckonedEuler (DtTime curTime) const
 Get dead-reckoned orientation (Euler angles) at the specified time.
virtual const DtDcmdeadReckonedBodyToGeoc (DtTime curTime) const
 Get the dead-reckoned body to geocentric coordinate matrix.
virtual void setAlgorithm (DtDeadReckonTypes alg)
 Set/Get the dead reckoning algorithm used for generating the approximated values from the absolute values.
virtual DtDeadReckonTypes algorithm () const
virtual void deadReckonPosition (DtTime dt, const DtVector &oldPos, const DtVector &oldVel, const DtVector &oldAccel, DtVector &newVel, DtVector &newPos)
 Calculate the dead reckon position information based on the algorithm type.
virtual void deadReckonOrientation (DtTime dt, const DtDcm &old_b2w, const DtDirectedRotRate &drr, DtDcm &new_b2w)
 Calculate the orientation matrix based on the algorithm type.
- Public Member Functions inherited from DtApproximator
virtual ~DtApproximator ()
 destructor
DtApproximatoroperator= (const DtApproximator &orig)
 assignment operator

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 Public Member Functions inherited from DtSmoother
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)
- Static Public Member Functions inherited from DtDeadReckoner
static void deadReckonPosition (DtTime dt, DtDeadReckonTypes algorithm, const DtVector &oldPos, const DtVector &oldVel, const DtVector &oldAccel, DtVector &newVel, DtVector &newPos)
 Calculate the dead reckon position information.
static void deadReckonOrientation (DtTime dt, DtDeadReckonTypes algorithm, const DtDcm &old_b2w, const DtDirectedRotRate &drr, DtDcm &new_b2w)
 Calculate the orientation matrix.

Protected Member Functions

virtual void feedSmoothing ()
 Provide inputs to the actual smoothing algorithm.
DtOldSmootherself () const
 Get rid of const-ness on the "this" pointer in order to access non-const functions from const member functions (such as simple accessors).
- Protected Member Functions inherited from DtSmoother
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 ()
- Protected Member Functions inherited from DtDeadReckoner
virtual void deadReckonLoc (DtTime curTime) const
 If the last dead reckoned position is not valid for the specified time, recalculate it and update the time at which this value is valid.
virtual void deadReckonBodyToGeoc (DtTime curTime) const
 If the last dead reckoned body to geocentric coordinate matrix is not valid for the specified time, recalculate it and update the time at which this value is valid.
virtual void deadReckonEuler (DtTime curTime) const
 If the last dead reckoned orientation (Euler angles) is not valid for the specified time, recalculate it and update the time at which this value is valid.
virtual int isRotational ()
 Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.
- Protected Member Functions inherited from DtApproximator
 DtApproximator ()
 Constructors are protected since this is an abstract base class.
 DtApproximator (const DtApproximator &orig)
 copy constructor

Protected Attributes

DtSmoothPosWithDr mySpos
DtSmoothOriWithDr mySorient
DtTaitBryan myApproxEuler
DtVector myRealVelocity
- Protected Attributes inherited from DtSmoother
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
- Protected Attributes inherited from DtDeadReckoner
DtVector myLocAtTimeOfValidity
DtVector myVelAtTimeOfValidity
DtTime mySimTimePosDataValid
DtDcm myBodyToGeocAtTimeOfValidity
DtTime mySimTimeOrientDataValid
DtVector myDRLoc
DtVector myDRVel
DtTime myDRPosTime
DtDcm myDRBodyToGeoc
DtTime myDRBodyToGeocTime
DtTaitBryan myDREuler
DtTime myDREulerTime
DtDirectedRotRate myDirectedRotRate
DtDeadReckonTypes myAlgorithm
DtVector myAccel
DtBodyRates myRotVel

Additional Inherited Members

- Static Protected Member Functions inherited from DtDeadReckoner
static int isRotational (DtDeadReckonTypes algorithm)
 Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.
- Static Protected Attributes inherited from DtSmoother
static double theTimeTolerance
static bool theMasterSmoothEnable
static DtTime theDfltSmoothPeriod

Detailed Description

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

This class was the default smoother prior to VR-Link 3.11. It has been rewritten and replaced by DtSmoother. Customers who need the previous behavior should use this class.

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.

Deprecated:
This class was replaced by DtSmoother in VR-Link 3.11 and is provided for backwards compatibility only.

Constructor & Destructor Documentation

DtOldSmoother::DtOldSmoother ( )

constructor

virtual DtOldSmoother::~DtOldSmoother ( )
virtual

destructor

DtOldSmoother::DtOldSmoother ( const DtOldSmoother orig)

copy constructor

Member Function Documentation

virtual const DtVector& DtOldSmoother::acceleration ( DtTime  t) const
virtual

Reimplemented from DtSmoother.

virtual const DtDcm& DtOldSmoother::approxBodyToGeoc ( DtTime  t) const
virtual

Get the approximated data body to geocentric coordinate matrix.

Reimplemented from DtSmoother.

virtual const DtTaitBryan& DtOldSmoother::approxEuler ( DtTime  t) const
virtual

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

Reimplemented from DtSmoother.

virtual const DtVector& DtOldSmoother::approxLocation ( DtTime  t) const
virtual

Get the approximated location at the specified time.

Reimplemented from DtSmoother.

virtual const DtVector& DtOldSmoother::approxVelocity ( DtTime  t) const
virtual

Get the approximated velocity at the specified time.

Reimplemented from DtSmoother.

virtual DtApproximator* DtOldSmoother::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 DtSmoother.

static DtTime DtOldSmoother::dfltSmoothPeriod ( )
static

Reimplemented from DtSmoother.

virtual void DtOldSmoother::feedSmoothing ( )
protectedvirtual

Provide inputs to the actual smoothing algorithm.

static bool DtOldSmoother::masterSmoothEnable ( )
static

Reimplemented from DtSmoother.

DtOldSmoother& DtOldSmoother::operator= ( const DtOldSmoother orig)

assignment operator

virtual const DtVector& DtOldSmoother::rotationalVelocity ( DtTime  t) const
virtual

Reimplemented from DtSmoother.

DtOldSmoother * DtOldSmoother::self ( ) const
inlineprotected

Get rid of const-ness 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 DtSmoother.

virtual void DtOldSmoother::setAcceleration ( const DtVector acc,
DtTime  t 
)
virtual

Set/Get absolute acceleration.

Reimplemented from DtSmoother.

static void DtOldSmoother::setDfltSmoothPeriod ( DtTime  smoothPeriod)
static

Set/Get the default smoothing period.

Reimplemented from DtSmoother.

virtual void DtOldSmoother::setLocation ( const DtVector loc,
DtTime  t 
)
virtual

Set absolute location.

Reimplemented from DtSmoother.

static void DtOldSmoother::setMasterSmoothEnable ( bool  onOff)
static

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

Master smoothing switch defaults to on.

Reimplemented from DtSmoother.

virtual void DtOldSmoother::setOrientation ( const DtTaitBryan ori,
DtTime  t 
)
virtual

Set absolute orientation.

Reimplemented from DtSmoother.

virtual void DtOldSmoother::setRotationalVelocity ( const DtVector vel,
DtTime  t 
)
virtual

Set/Get absolute rotational velocity.

Reimplemented from DtSmoother.

virtual void DtOldSmoother::setSmoothEnable ( bool  on)
virtual

Set/Get the individual smoothing switch.

In order for smoothing to be enabled, the "master" smoothing-enabled switch must be on, AND the individual smoothing switch (accessed through these functions), must be on. Individual smoothing switch defaults to on.

Reimplemented from DtSmoother.

virtual void DtOldSmoother::setSmoothPeriod ( DtTime  smoothPeriod)
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 from DtSmoother.

virtual void DtOldSmoother::setVelocity ( const DtVector vel,
DtTime  t 
)
virtual

Set absolute velocity.

Reimplemented from DtSmoother.

virtual bool DtOldSmoother::smoothEnable ( ) const
virtual

Reimplemented from DtSmoother.

virtual DtTime DtOldSmoother::smoothPeriod ( ) const
virtual

Reimplemented from DtSmoother.

Member Data Documentation

DtTaitBryan DtOldSmoother::myApproxEuler
protected
DtVector DtOldSmoother::myRealVelocity
protected
DtSmoothOriWithDr DtOldSmoother::mySorient
protected
DtSmoothPosWithDr DtOldSmoother::mySpos
protected

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

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)