VR-Link API Documentation for HLA 1516
 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. More...
 
 DtDeadReckoner (const DtDeadReckoner &orig)
 Copy CTOR. More...
 
virtual ~DtDeadReckoner ()
 Virtual DTOR. More...
 
DtDeadReckoneroperator= (const DtDeadReckoner &orig)
 Assignment Operator. More...
 
bool operator== (const DtDeadReckoner &orig) const
 equality Operator. More...
 
virtual DtApproximatorclone () const
 Create a copy of this object. More...
 
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. More...
 
virtual void setLocation (const DtVector &loc, DtTime curTime)
 Set absolute location. More...
 
virtual const DtVectorapproxLocation (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual const DtVectordeadReckonedLocation (DtTime curTime) const
 Get the dead-reckoned location at the specified time. More...
 
virtual void setVelocity (const DtVector32 &vel, DtTime curTime)
 Set absolute velocity. More...
 
virtual const DtVector32approxVelocity (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual const DtVector32deadReckonedVelocity (DtTime curTime) const
 Get the dead-reckoned velocity at the specified time. More...
 
virtual void setOrientation (const DtTaitBryan &ori, DtTime curTime)
 Set absolute orientation. More...
 
virtual const DtTaitBryanapproxEuler (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual const DtTaitBryandeadReckonedEuler (DtTime curTime) const
 Get dead-reckoned orientation (Euler angles) at the specified time. More...
 
virtual const DtTimelocationUpdateTime () const
 Get the last update time of the absolute location. More...
 
virtual const DtTimevelocityUpdateTime () const
 Get the last update time of the absolute velocity. More...
 
virtual const DtTimeorientationUpdateTime () const
 Get the last update time of the absolute orientation. More...
 
virtual void setAcceleration (const DtVector32 &acc, DtTime curTime)
 Set/Get absolute acceleration. More...
 
virtual const DtVector32acceleration (DtTime curTime) const
 
virtual void setRotationalVelocity (const DtVector32 &vel, DtTime curTime)
 Set/Get absolute rotational velocity. More...
 
virtual const DtVector32rotationalVelocity (DtTime curTime) const
 
virtual const DtDcmapproxBodyToGeoc (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual const DtDcmdeadReckonedBodyToGeoc (DtTime curTime) const
 Get the dead-reckoned body to geocentric coordinate matrix. More...
 
virtual void setAlgorithm (DtDeadReckonTypes alg)
 Set/Get the dead reckoning algorithm used for generating the approximated values from the absolute values. More...
 
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. More...
 
virtual void deadReckonPosition (DtTime dt, const DtVector &oldPos, const DtVector32 &oldVel, const DtVector32 &oldAccel, DtVector32 &newVel, DtVector &newPos) const
 Calculate the dead reckon position information based on the algorithm type. More...
 
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. More...
 
- Public Member Functions inherited from DtApproximator
virtual ~DtApproximator ()
 Virtual DTOR. More...
 
DtApproximatoroperator= (const DtApproximator &orig)
 Assignment operator. More...
 
virtual void setFrozen (bool frozen)
 Set/Get whether the dead-reckoner is frozen. More...
 
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. More...
 
static void deadReckonPosition (DtTime dt, DtDeadReckonTypes algorithm, const DtVector &oldPos, const DtVector32 &oldVel, const DtVector32 &oldAccel, DtVector32 &newVel, DtVector &newPos)
 Calculate the dead reckon position information. More...
 
static void deadReckonOrientation (DtTime dt, DtDeadReckonTypes algorithm, const DtDcm &old_b2w, const DtDirectedRotRate &drr, DtDcm &new_b2w)
 Calculate the orientation matrix. More...
 

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. More...
 
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. More...
 
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. More...
 
- Protected Member Functions inherited from DtApproximator
 DtApproximator ()
 Default CTOR. More...
 
 DtApproximator (const DtApproximator &orig)
 Copy CTOR. More...
 

Protected Attributes

DtVector myLocAtTimeOfValidity
 
DtVector32 myVelAtTimeOfValidity
 
DtTime mySimTimePosDataValid
 
DtDcm myBodyToGeocAtTimeOfValidity
 
DtTime mySimTimeOrientDataValid
 
DtVector myDRLoc
 
DtVector32 myDRVel
 
DtTime myDRPosTime
 
DtDcm myDRBodyToGeoc
 
DtTime myDRBodyToGeocTime
 
DtTaitBryan myDREuler
 
DtTime myDREulerTime
 
DtDirectedRotRate myDirectedRotRate
 
DtDeadReckonTypes myAlgorithm
 
DtVector32 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 DtVector32 & DtDeadReckoner::acceleration ( DtTime  curTime) const
inlinevirtual

Implements DtApproximator.

Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.

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 DtTrigonometricSmoother, and DtExponentialSmoother.

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 DtTrigonometricSmoother, and DtExponentialSmoother.

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 DtExponentialSmoother, and DtTrigonometricSmoother.

References deadReckonedLocation().

const DtVector32 & 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 DtExponentialSmoother, and DtTrigonometricSmoother.

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 DtExponentialSmoother, and DtTrigonometricSmoother.

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 DtVector32 & 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 DtVector32 oldVel,
const DtVector32 oldAccel,
DtVector32 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 DtVector32 oldVel,
const DtVector32 oldAccel,
DtVector32 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.

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

equality Operator.

const DtTime & DtDeadReckoner::orientationUpdateTime ( ) const
inlinevirtual

Get the last update time of the absolute orientation.

Implements DtApproximator.

References mySimTimeOrientDataValid.

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

Implements DtApproximator.

Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.

References myRotVel.

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

Set/Get absolute acceleration.

Implements DtApproximator.

Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.

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::setAll ( const DtVector loc,
const DtVector32 vel,
const DtTaitBryan ori,
const DtVector32 acc,
const DtVector32 rotVel,
DtTime  t 
)
virtual

Coherently set all DR parameters, thus avoiding DR computations associated with a partial set.

Implements DtApproximator.

Reimplemented in DtExponentialSmoother, and DtTrigonometricSmoother.

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

Set absolute location.

Implements DtApproximator.

Reimplemented in DtExponentialSmoother, and DtTrigonometricSmoother.

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

Set absolute orientation.

Implements DtApproximator.

Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.

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

Set/Get absolute rotational velocity.

Implements DtApproximator.

Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.

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

Set absolute velocity.

Implements DtApproximator.

Reimplemented in DtExponentialSmoother, and DtTrigonometricSmoother.

const DtTime & DtDeadReckoner::velocityUpdateTime ( ) const
inlinevirtual

Get the last update time of the absolute velocity.

Implements DtApproximator.

References mySimTimePosDataValid.

Member Data Documentation

DtVector32 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
DtVector32 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
DtVector32 DtDeadReckoner::myVelAtTimeOfValidity
protected

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

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)