VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | 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 CTOR.
 DtDeadReckoner (const DtDeadReckoner &orig)
 Copy CTOR.
virtual ~DtDeadReckoner ()
 Virtual DTOR.
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 const DtTimelocationUpdateTime () const
 Get the last update time of the absolute location.
virtual const DtTimevelocityUpdateTime () const
 Get the last update time of the absolute velocity.
virtual const DtTimeorientationUpdateTime () const
 Get the last update time of the absolute orientation.
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 Dead Reckoning Calculation Functions.
virtual int isRotational () const
 Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.
virtual void deadReckonPosition (DtTime dt, const DtVector &oldPos, const DtVector &oldVel, const DtVector &oldAccel, DtVector &newVel, DtVector &newPos) const
 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) const
 Calculate the orientation matrix based on the algorithm type.
- Public Member Functions inherited from DtApproximator
virtual ~DtApproximator ()
 Virtual DTOR.
DtApproximatoroperator= (const DtApproximator &orig)
 Assignment operator.
virtual void setFrozen (bool frozen)
 Set/Get whether the dead-reckoner is frozen.
virtual bool isFrozen () const

Static Public Member Functions

Static Dead Reckoning Calculation Functions.
static int isRotational (DtDeadReckonTypes algorithm)
 Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.
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.
- Protected Member Functions inherited from DtApproximator
 DtApproximator ()
 Default CTOR.
 DtApproximator (const DtApproximator &orig)
 Copy CTOR.

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
- Protected Attributes inherited from DtApproximator
bool myFrozenFlag

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 CTOR.

DtDeadReckoner::DtDeadReckoner ( const DtDeadReckoner orig)

Copy CTOR.

virtual DtDeadReckoner::~DtDeadReckoner ( )
virtual

Virtual DTOR.

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 
) const
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 
) const
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 ( ) const
virtual

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

static int DtDeadReckoner::isRotational ( DtDeadReckonTypes  algorithm)
static

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

const DtTime & DtDeadReckoner::locationUpdateTime ( ) const
inlinevirtual

Get the last update time of the absolute location.

Implements DtApproximator.

References mySimTimePosDataValid.

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

Assignment Operator.

const DtTime & DtDeadReckoner::orientationUpdateTime ( ) const
inlinevirtual

Get the last update time of the absolute orientation.

Implements DtApproximator.

References mySimTimeOrientDataValid.

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

Implements DtApproximator.

Reimplemented in DtOldSmoother, and DtSmoother.

References myRotVel.

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.

const DtTime & DtDeadReckoner::velocityUpdateTime ( ) const
inlinevirtual

Get the last update time of the absolute velocity.

Implements DtApproximator.

References mySimTimePosDataValid.

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
mutableprotected

Referenced by deadReckonedBodyToGeoc().

DtTime DtDeadReckoner::myDRBodyToGeocTime
mutableprotected
DtTaitBryan DtDeadReckoner::myDREuler
mutableprotected

Referenced by deadReckonedEuler().

DtTime DtDeadReckoner::myDREulerTime
mutableprotected
DtVector DtDeadReckoner::myDRLoc
mutableprotected

Referenced by deadReckonedLocation().

DtTime DtDeadReckoner::myDRPosTime
mutableprotected
DtVector DtDeadReckoner::myDRVel
mutableprotected

Referenced by deadReckonedVelocity().

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

Referenced by rotationalVelocity().

DtTime DtDeadReckoner::mySimTimeOrientDataValid
protected

Referenced by orientationUpdateTime().

DtTime DtDeadReckoner::mySimTimePosDataValid
protected
DtVector DtDeadReckoner::myVelAtTimeOfValidity
protected

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

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)