![]() |
VR-Link API Documentation for DIS
|
Instances of DtTrigonometricSmoother are used to provide approximated position and orientation information for entities. More...
Inheritance diagram for DtTrigonometricSmoother:
Collaboration diagram for DtTrigonometricSmoother:Public Member Functions | |
| DtTrigonometricSmoother () | |
| Default constructor. | |
| virtual | ~DtTrigonometricSmoother () |
| Destructor. | |
| DtTrigonometricSmoother (const DtTrigonometricSmoother &src) | |
| Copy constructor. | |
| DtTrigonometricSmoother & | operator= (const DtTrigonometricSmoother &src) |
| Assignment operator. | |
| bool | operator== (const DtTrigonometricSmoother &orig) const |
| equality Operator. | |
| virtual DtApproximator * | clone () const |
| Create a copy of this object. | |
| virtual void | setLocation (const DtVector &loc, DtTime t) |
| Set absolute location. | |
| virtual const DtVector & | approxLocation (DtTime t) const |
| Get the approximated location at the specified time. | |
| virtual void | setVelocity (const DtVector32 &vel, DtTime t) |
| Set absolute velocity. | |
| virtual const DtVector32 & | approxVelocity (DtTime t) const |
| Get the approximated velocity at the specified time. | |
| const DtVector32 & | approxUnsmoothedVelocity (DtTime curTime) const |
| Get the approximated velocity at the specified time without taking into account smoothing. | |
| virtual void | setOrientation (const DtTaitBryan &ori, DtTime t) |
| Set absolute orientation. | |
| virtual const DtTaitBryan & | approxEuler (DtTime t) const |
| Get approximated orientation (Euler angles) at the specified time. | |
| virtual void | setAcceleration (const DtVector32 &acc, DtTime t) |
| Set/Get absolute acceleration. | |
| virtual const DtVector32 & | acceleration (DtTime t) const |
| virtual void | setRotationalVelocity (const DtVector32 &vel, DtTime t) |
| Set/Get absolute rotational velocity. | |
| virtual const DtVector32 & | rotationalVelocity (DtTime t) const |
| virtual const DtDcm & | approxBodyToGeoc (DtTime t) const |
| Get the approximated data body to geocentric coordinate matrix. | |
| virtual void | setSmoothPeriod (DtTime t) |
| Set/Get smoothing period - the amount of time, in seconds, over which smoothing takes place. | |
| virtual DtTime | smoothPeriod () const |
| virtual void | setOriSmoothPeriod (DtTime t) |
| Set/Get orientation smoothing period - the amount of time, in seconds, over which orientation smoothing takes place. | |
| virtual DtTime | oriSmoothPeriod () const |
| virtual void | setSmoothEnable (bool onOff) |
| virtual bool | smoothEnable () const |
Public Member Functions inherited from DtDeadReckoner | |
| 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 const DtVector & | deadReckonedLocation (DtTime curTime) const |
| Get the dead-reckoned location at the specified time. | |
| virtual const DtVector32 & | deadReckonedVelocity (DtTime curTime) const |
| Get the dead-reckoned velocity at the specified time. | |
| 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 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 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 void | setDfltSmoothPeriod (DtTime smoothPeriod) |
| Set/Get the default smoothing period. | |
| static DtTime | dfltSmoothPeriod () |
| static void | setMasterSmoothEnable (bool onOff) |
| Set/Get the value of the "master" smoothing-enabled switch. | |
| static bool | masterSmoothEnable () |
| static void | rotAngleAndAxisFromRotMatrix (DtVector &n, double &phi, const DtDcm &m) |
| static void | rotMatrixFromRotRatesAndTime (DtDcm &m, DtDcm &o, DtVector &n, double &w, const DtVector32 &r, double t) |
Static Public Member Functions inherited from DtDeadReckoner | |
| 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 | resetPosSmoother (DtTime t) |
| virtual void | resetOriSmoother (DtTime t) |
| virtual const DtVector & | smoothPosition (DtTime t) |
| virtual const DtVector32 & | smoothVelocity (DtTime t) |
| virtual const DtDcm & | smoothBodyToGeoc (DtTime t) |
| virtual void | initSmootherParams () |
| virtual void | initSmoothOriParams () |
| DtTrigonometricSmoother * | 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). | |
Protected Member Functions inherited from DtDeadReckoner | |
| 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. | |
Static Protected Attributes | |
| static double | theTimeTolerance |
| static bool | theMasterSmoothEnable |
| static DtTime | theDfltSmoothPeriod |
Instances of DtTrigonometricSmoother are used to provide approximated position and orientation information for entities.
Position and orientation information is approximated over time from the last set absolute (non-approximated) information. When a new position is set, the current position moves smoothly to reflect the new information, rather than jumping to the new absolute position. This smoother uses a sinusoidal line as it approaches the new position. In some situations, this smoothing will not look correct, in which case we recommend the DtExponentialSmoother instead.
| DtTrigonometricSmoother::DtTrigonometricSmoother | ( | ) |
Default constructor.
|
virtual |
Destructor.
| DtTrigonometricSmoother::DtTrigonometricSmoother | ( | const DtTrigonometricSmoother & | src | ) |
Copy constructor.
|
virtual |
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
Get the approximated data body to geocentric coordinate matrix.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
|
virtual |
Get approximated orientation (Euler angles) at the specified time.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
Get the approximated location at the specified time.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
| const DtVector32& DtTrigonometricSmoother::approxUnsmoothedVelocity | ( | DtTime | curTime | ) | const |
Get the approximated velocity at the specified time without taking into account smoothing.
|
virtual |
Get the approximated velocity at the specified time.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
|
virtual |
Create a copy of this object.
Memory is allocated and it is the responsibility of the caller to free the memory via delete.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
|
static |
Reimplemented in DtExponentialSmoother.
|
protectedvirtual |
|
protectedvirtual |
|
static |
Reimplemented in DtExponentialSmoother.
| DtTrigonometricSmoother& DtTrigonometricSmoother::operator= | ( | const DtTrigonometricSmoother & | src | ) |
Assignment operator.
| bool DtTrigonometricSmoother::operator== | ( | const DtTrigonometricSmoother & | orig | ) | const |
equality Operator.
|
virtual |
|
protectedvirtual |
|
protectedvirtual |
|
static |
|
virtual |
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
|
static |
|
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 DtExponentialSmoother.
|
virtual |
Set/Get absolute acceleration.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
|
static |
Set/Get the default smoothing period.
Reimplemented in DtExponentialSmoother.
|
static |
Set/Get the value of the "master" smoothing-enabled switch.
Master smoothing switch defaults to on.
Reimplemented in DtExponentialSmoother.
|
virtual |
Set absolute orientation.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
|
virtual |
Set/Get orientation smoothing period - the amount of time, in seconds, over which orientation smoothing takes place.
Pass a value of -1 to indicate use of the default smoothing period.
|
virtual |
Set/Get absolute rotational velocity.
Reimplemented from DtDeadReckoner.
Reimplemented in DtExponentialSmoother.
|
virtual |
Reimplemented in DtExponentialSmoother.
|
virtual |
Set/Get smoothing period - the amount of time, in seconds, over which smoothing takes place.
Pass a value of -1 to indicate use of the default smoothing period.
Reimplemented in DtExponentialSmoother.
|
virtual |
|
virtual |
Reimplemented in DtExponentialSmoother.
|
virtual |
Reimplemented in DtExponentialSmoother.
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |