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

Instances of DtDeadReckoner are used to provide approximated position and orientation information for entities using various dead reckoning algorithms. More...

+ Inheritance diagram for DtDeadReckoner:
+ Collaboration diagram for DtDeadReckoner:

Public Member Functions

 DtDeadReckoner ()
 default constructor
virtual ~DtDeadReckoner ()
 destructor
 DtDeadReckoner (const DtDeadReckoner &orig)
 copy constructor
DtDeadReckoneroperator= (const DtDeadReckoner &orig)
 assignment operator
virtual DtApproximatorclone () const
 Create a copy of this object.
virtual void setLocation (const DtVector &loc, DtTime curTime)
 Set absolute location.
virtual const DtVectorapproxLocation (DtTime curTime) const
 Get the approximated (i.e.
virtual const DtVectordeadReckonedLocation (DtTime curTime) const
 Get the dead-reckoned location at the specified time.
virtual void setVelocity (const DtVector &vel, DtTime curTime)
 Set absolute velocity.
virtual const DtVectorapproxVelocity (DtTime curTime) const
 Get the approximated (i.e.
virtual const DtVectordeadReckonedVelocity (DtTime curTime) const
 Get the dead-reckoned velocity at the specified time.
virtual void setOrientation (const DtTaitBryan &ori, DtTime curTime)
 Set absolute orientation.
virtual const DtTaitBryanapproxEuler (DtTime curTime) const
 Get the approximated (i.e.
virtual const DtTaitBryandeadReckonedEuler (DtTime curTime) const
 Get dead-reckoned orientation (Euler angles) at the specified time.
virtual void setAcceleration (const DtVector &acc, DtTime curTime)
 Set/Get absolute acceleration.
virtual const DtVectoracceleration (DtTime curTime) const
virtual void setRotationalVelocity (const DtVector &vel, DtTime curTime)
 Set/Get absolute rotational velocity.
virtual const DtVectorrotationalVelocity (DtTime curTime) const
virtual const DtDcmapproxBodyToGeoc (DtTime curTime) const
 Get the approximated (i.e.
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 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 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.
DtDeadReckonerself () 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 Member Functions inherited from DtApproximator
 DtApproximator ()
 Constructors are protected since this is an abstract base class.
 DtApproximator (const DtApproximator &orig)
 copy constructor

Static Protected Member Functions

static int isRotational (DtDeadReckonTypes algorithm)
 Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.

Protected Attributes

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

Detailed Description

Instances of DtDeadReckoner are used to provide approximated position and orientation information for entities using various dead reckoning algorithms.

Position and orientation information is approximated over time from the last set absolute (non-approximated) information. Functions that start with deadReckoned return dead-reckoned values. Functions that start with approx return approximated values - which default to the dead-reckoned values, but this might be overridden in classes derived from DtDeadReckoner.

Constructor & Destructor Documentation

DtDeadReckoner::DtDeadReckoner ( )

default constructor

virtual DtDeadReckoner::~DtDeadReckoner ( )
virtual

destructor

DtDeadReckoner::DtDeadReckoner ( const DtDeadReckoner orig)

copy constructor

Member Function Documentation

const DtVector & DtDeadReckoner::acceleration ( DtTime  curTime) const
inlinevirtual

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

References myAccel.

DtDeadReckonTypes DtDeadReckoner::algorithm ( ) const
inlinevirtual

References myAlgorithm.

const DtDcm & DtDeadReckoner::approxBodyToGeoc ( DtTime  curTime) const
inlinevirtual

Get the approximated (i.e.

dead-reckoned for base DtDeadReckoner) body to geocentric coordinate matrix.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

References deadReckonedBodyToGeoc().

const DtTaitBryan & DtDeadReckoner::approxEuler ( DtTime  curTime) const
inlinevirtual

Get the approximated (i.e.

dead-reckoned for base DtDeadReckoner) orientation at the specified time.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

References deadReckonedEuler().

const DtVector & DtDeadReckoner::approxLocation ( DtTime  curTime) const
inlinevirtual

Get the approximated (i.e.

dead-reckoned for base DtDeadReckoner) location at the specified time.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

References deadReckonedLocation().

const DtVector & DtDeadReckoner::approxVelocity ( DtTime  curTime) const
inlinevirtual

Get the approximated (i.e.

dead-reckoned for base DtDeadReckoner) velocity at the specified time.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

References deadReckonedVelocity().

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

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

virtual void DtDeadReckoner::deadReckonBodyToGeoc ( DtTime  curTime) const
protectedvirtual

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.

Referenced by deadReckonedBodyToGeoc().

const DtDcm & DtDeadReckoner::deadReckonedBodyToGeoc ( DtTime  curTime) const
inlinevirtual

Get the dead-reckoned body to geocentric coordinate matrix.

References deadReckonBodyToGeoc(), and myDRBodyToGeoc.

Referenced by approxBodyToGeoc().

const DtTaitBryan & DtDeadReckoner::deadReckonedEuler ( DtTime  curTime) const
inlinevirtual

Get dead-reckoned orientation (Euler angles) at the specified time.

References deadReckonEuler(), and myDREuler.

Referenced by approxEuler().

const DtVector & DtDeadReckoner::deadReckonedLocation ( DtTime  curTime) const
inlinevirtual

Get the dead-reckoned location at the specified time.

References deadReckonLoc(), and myDRLoc.

Referenced by approxLocation().

const DtVector & DtDeadReckoner::deadReckonedVelocity ( DtTime  curTime) const
inlinevirtual

Get the dead-reckoned velocity at the specified time.

References deadReckonLoc(), and myDRVel.

Referenced by approxVelocity().

virtual void DtDeadReckoner::deadReckonEuler ( DtTime  curTime) const
protectedvirtual

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.

Referenced by deadReckonedEuler().

virtual void DtDeadReckoner::deadReckonLoc ( DtTime  curTime) const
protectedvirtual

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.

Referenced by deadReckonedLocation(), and deadReckonedVelocity().

virtual void DtDeadReckoner::deadReckonOrientation ( DtTime  dt,
const DtDcm old_b2w,
const DtDirectedRotRate drr,
DtDcm new_b2w 
)
virtual

Calculate the orientation matrix based on the algorithm type.

Over-ride this function when substituting your own dead reckoning algorithm for calculating orientation

static void DtDeadReckoner::deadReckonOrientation ( DtTime  dt,
DtDeadReckonTypes  algorithm,
const DtDcm old_b2w,
const DtDirectedRotRate drr,
DtDcm new_b2w 
)
static

Calculate the orientation matrix.

virtual void DtDeadReckoner::deadReckonPosition ( DtTime  dt,
const DtVector oldPos,
const DtVector oldVel,
const DtVector oldAccel,
DtVector newVel,
DtVector newPos 
)
virtual

Calculate the dead reckon position information based on the algorithm type.

Over-ride this function when substituting your own dead reckoning algorithm for calculating position

static void DtDeadReckoner::deadReckonPosition ( DtTime  dt,
DtDeadReckonTypes  algorithm,
const DtVector oldPos,
const DtVector oldVel,
const DtVector oldAccel,
DtVector newVel,
DtVector newPos 
)
static

Calculate the dead reckon position information.

virtual int DtDeadReckoner::isRotational ( )
protectedvirtual

Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.

static int DtDeadReckoner::isRotational ( DtDeadReckonTypes  algorithm)
staticprotected

Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.

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

assignment operator

const DtVector & DtDeadReckoner::rotationalVelocity ( DtTime  curTime) const
inlinevirtual

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

References myRotVel.

DtDeadReckoner * DtDeadReckoner::self ( ) const
inlineprotected

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 in DtOldSmoother, and DtSmoother.

virtual void DtDeadReckoner::setAcceleration ( const DtVector acc,
DtTime  curTime 
)
virtual

Set/Get absolute acceleration.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

void DtDeadReckoner::setAlgorithm ( DtDeadReckonTypes  alg)
inlinevirtual

Set/Get the dead reckoning algorithm used for generating the approximated values from the absolute values.

References myAlgorithm.

virtual void DtDeadReckoner::setLocation ( const DtVector loc,
DtTime  curTime 
)
virtual

Set absolute location.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

virtual void DtDeadReckoner::setOrientation ( const DtTaitBryan ori,
DtTime  curTime 
)
virtual

Set absolute orientation.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

virtual void DtDeadReckoner::setRotationalVelocity ( const DtVector vel,
DtTime  curTime 
)
virtual

Set/Get absolute rotational velocity.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

virtual void DtDeadReckoner::setVelocity ( const DtVector vel,
DtTime  curTime 
)
virtual

Set absolute velocity.

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

Member Data Documentation

DtVector DtDeadReckoner::myAccel
protected

Referenced by acceleration().

DtDeadReckonTypes DtDeadReckoner::myAlgorithm
protected

Referenced by algorithm(), and setAlgorithm().

DtDcm DtDeadReckoner::myBodyToGeocAtTimeOfValidity
protected
DtDirectedRotRate DtDeadReckoner::myDirectedRotRate
protected
DtDcm DtDeadReckoner::myDRBodyToGeoc
protected

Referenced by deadReckonedBodyToGeoc().

DtTime DtDeadReckoner::myDRBodyToGeocTime
protected
DtTaitBryan DtDeadReckoner::myDREuler
protected

Referenced by deadReckonedEuler().

DtTime DtDeadReckoner::myDREulerTime
protected
DtVector DtDeadReckoner::myDRLoc
protected

Referenced by deadReckonedLocation().

DtTime DtDeadReckoner::myDRPosTime
protected
DtVector DtDeadReckoner::myDRVel
protected

Referenced by deadReckonedVelocity().

DtVector DtDeadReckoner::myLocAtTimeOfValidity
protected
DtBodyRates DtDeadReckoner::myRotVel
protected

Referenced by rotationalVelocity().

DtTime DtDeadReckoner::mySimTimeOrientDataValid
protected
DtTime DtDeadReckoner::mySimTimePosDataValid
protected
DtVector DtDeadReckoner::myVelAtTimeOfValidity
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)