![]() |
VR-Link API Documentation for HLA 1.3
|
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. | |
| DtDeadReckoner & | operator= (const DtDeadReckoner &orig) |
| Assignment Operator. | |
| bool | operator== (const DtDeadReckoner &orig) const |
| equality Operator. | |
| virtual DtApproximator * | clone () const |
| Create a copy of this object. | |
| 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. | |
| 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 DtVector32 &vel, DtTime curTime) |
| Set absolute velocity. | |
| virtual const DtVector32 & | approxVelocity (DtTime curTime) const |
| Get the approximated (i.e. | |
| virtual const DtVector32 & | 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 const DtTime & | locationUpdateTime () const |
| Get the last update time of the absolute location. | |
| virtual const DtTime & | velocityUpdateTime () const |
| Get the last update time of the absolute velocity. | |
| virtual const DtTime & | orientationUpdateTime () const |
| Get the last update time of the absolute orientation. | |
| virtual void | setAcceleration (const DtVector32 &acc, DtTime curTime) |
| Set/Get absolute acceleration. | |
| virtual const DtVector32 & | acceleration (DtTime curTime) const |
| virtual void | setRotationalVelocity (const DtVector32 &vel, DtTime curTime) |
| Set/Get absolute rotational velocity. | |
| virtual const DtVector32 & | 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 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 DtVector32 &oldVel, const DtVector32 &oldAccel, DtVector32 &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. | |
| DtApproximator & | operator= (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 DtVector32 &oldVel, const DtVector32 &oldAccel, DtVector32 &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. | |
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.
| DtDeadReckoner::DtDeadReckoner | ( | ) |
Default CTOR.
| DtDeadReckoner::DtDeadReckoner | ( | const DtDeadReckoner & | orig | ) |
Copy CTOR.
|
virtual |
Virtual DTOR.
|
inlinevirtual |
Implements DtApproximator.
Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.
References myAccel.
|
inlinevirtual |
References myAlgorithm.
Get the approximated (i.e.
dead-reckoned for base DtDeadReckoner) body to geocentric coordinate matrix.
Implements DtApproximator.
Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.
References deadReckonedBodyToGeoc().
|
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().
Get the approximated (i.e.
dead-reckoned for base DtDeadReckoner) location at the specified time.
Implements DtApproximator.
Reimplemented in DtExponentialSmoother, and DtTrigonometricSmoother.
References deadReckonedLocation().
|
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 |
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.
|
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().
Get the dead-reckoned body to geocentric coordinate matrix.
References deadReckonBodyToGeoc(), and myDRBodyToGeoc.
Referenced by approxBodyToGeoc().
|
inlinevirtual |
Get dead-reckoned orientation (Euler angles) at the specified time.
References deadReckonEuler(), and myDREuler.
Referenced by approxEuler().
Get the dead-reckoned location at the specified time.
References deadReckonLoc(), and myDRLoc.
Referenced by approxLocation().
|
inlinevirtual |
Get the dead-reckoned velocity at the specified time.
References deadReckonLoc(), and myDRVel.
Referenced by approxVelocity().
|
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().
|
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 |
Calculate the orientation matrix based on the algorithm type.
Over-ride this function when substituting your own dead reckoning algorithm for calculating orientation
|
static |
Calculate the orientation matrix.
|
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 |
Calculate the dead reckon position information.
|
virtual |
Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.
|
static |
Returns 1 if the dead reckoning algorithm is a rotational one, 0 otherwise.
|
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.
|
inlinevirtual |
Get the last update time of the absolute orientation.
Implements DtApproximator.
References mySimTimeOrientDataValid.
|
inlinevirtual |
Implements DtApproximator.
Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.
References myRotVel.
|
virtual |
Set/Get absolute acceleration.
Implements DtApproximator.
Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.
|
inlinevirtual |
Set/Get the dead reckoning algorithm used for generating the approximated values from the absolute values.
References myAlgorithm.
|
virtual |
Coherently set all DR parameters, thus avoiding DR computations associated with a partial set.
Implements DtApproximator.
Reimplemented in DtExponentialSmoother, and DtTrigonometricSmoother.
Set absolute location.
Implements DtApproximator.
Reimplemented in DtExponentialSmoother, and DtTrigonometricSmoother.
|
virtual |
Set absolute orientation.
Implements DtApproximator.
Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.
|
virtual |
Set/Get absolute rotational velocity.
Implements DtApproximator.
Reimplemented in DtTrigonometricSmoother, and DtExponentialSmoother.
|
virtual |
Set absolute velocity.
Implements DtApproximator.
Reimplemented in DtExponentialSmoother, and DtTrigonometricSmoother.
|
inlinevirtual |
Get the last update time of the absolute velocity.
Implements DtApproximator.
References mySimTimePosDataValid.
|
protected |
Referenced by acceleration().
|
protected |
Referenced by algorithm(), and setAlgorithm().
|
protected |
|
protected |
|
mutableprotected |
Referenced by deadReckonedBodyToGeoc().
|
mutableprotected |
|
mutableprotected |
Referenced by deadReckonedEuler().
|
mutableprotected |
|
mutableprotected |
Referenced by deadReckonedLocation().
|
mutableprotected |
|
mutableprotected |
Referenced by deadReckonedVelocity().
|
protected |
|
protected |
Referenced by rotationalVelocity().
|
protected |
Referenced by orientationUpdateTime().
|
protected |
Referenced by locationUpdateTime(), and velocityUpdateTime().
|
protected |