![]() |
VR-Link API Documentation for HLA Evolved
|
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 | |
| DtDeadReckoner & | operator= (const DtDeadReckoner &orig) |
| assignment operator | |
| virtual DtApproximator * | clone () const |
| Create a copy of this object. | |
| virtual void | setLocation (const DtVector &loc, DtTime curTime) |
| Set absolute location. | |
| virtual const DtVector & | approxLocation (DtTime curTime) const |
| Get the approximated (i.e. | |
| virtual const DtVector & | deadReckonedLocation (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 DtVector & | approxVelocity (DtTime curTime) const |
| Get the approximated (i.e. | |
| virtual const DtVector & | deadReckonedVelocity (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 DtTaitBryan & | approxEuler (DtTime curTime) const |
| Get the approximated (i.e. | |
| virtual const DtTaitBryan & | deadReckonedEuler (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 DtVector & | acceleration (DtTime curTime) const |
| virtual void | setRotationalVelocity (const DtVector &vel, DtTime curTime) |
| Set/Get absolute rotational velocity. | |
| virtual const DtVector & | rotationalVelocity (DtTime curTime) const |
| virtual const DtDcm & | approxBodyToGeoc (DtTime curTime) const |
| Get the approximated (i.e. | |
| virtual const DtDcm & | deadReckonedBodyToGeoc (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. | |
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. | |
| DtDeadReckoner * | self () const |
| Get rid of constness on the "this" pointer in order to access non-const functions from const member functions (such as simple accessors). | |
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 |
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.
default constructor
| virtual DtDeadReckoner::~DtDeadReckoner | ( | ) | [virtual] |
destructor
| DtDeadReckoner::DtDeadReckoner | ( | const DtDeadReckoner & | orig | ) |
copy constructor
| const DtVector & DtDeadReckoner::acceleration | ( | DtTime | curTime | ) | const [inline, virtual] |
| DtDeadReckonTypes DtDeadReckoner::algorithm | ( | ) | const [inline, virtual] |
References myAlgorithm.
| const DtDcm & DtDeadReckoner::approxBodyToGeoc | ( | DtTime | curTime | ) | const [inline, virtual] |
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 [inline, virtual] |
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 [inline, virtual] |
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 [inline, virtual] |
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 [protected, virtual] |
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 [inline, virtual] |
Get the dead-reckoned body to geocentric coordinate matrix.
References deadReckonBodyToGeoc(), and myDRBodyToGeoc.
Referenced by approxBodyToGeoc().
| const DtTaitBryan & DtDeadReckoner::deadReckonedEuler | ( | DtTime | curTime | ) | const [inline, virtual] |
Get dead-reckoned orientation (Euler angles) at the specified time.
References deadReckonEuler(), and myDREuler.
Referenced by approxEuler().
| const DtVector & DtDeadReckoner::deadReckonedLocation | ( | DtTime | curTime | ) | const [inline, virtual] |
Get the dead-reckoned location at the specified time.
References deadReckonLoc(), and myDRLoc.
Referenced by approxLocation().
| const DtVector & DtDeadReckoner::deadReckonedVelocity | ( | DtTime | curTime | ) | const [inline, virtual] |
Get the dead-reckoned velocity at the specified time.
References deadReckonLoc(), and myDRVel.
Referenced by approxVelocity().
| virtual void DtDeadReckoner::deadReckonEuler | ( | DtTime | curTime | ) | const [protected, virtual] |
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 [protected, virtual] |
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 | ( | ) | [protected, virtual] |
Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.
| static int DtDeadReckoner::isRotational | ( | DtDeadReckonTypes | algorithm | ) | [static, protected] |
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 [inline, virtual] |
| DtDeadReckoner * DtDeadReckoner::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 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 | ) | [inline, virtual] |
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] |
| 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] |
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] |