Sen API
Sen Libraries
Loading...
Searching...
No Matches
sen::util::DeadReckonerBase Class Reference

Extrapolates the Situation of an entity at a certain time. The extrapolation is smoothed by default unless the user specifies otherwise. More...

#include <dead_reckoner_base.h>

Inheritance diagram for sen::util::DeadReckonerBase:

Public Member Functions

 DeadReckonerBase (DrConfig config={})
virtual ~DeadReckonerBase ()=default
virtual Situation situation (sen::TimeStamp timeStamp)
 Returns the extrapolated/smoothed situation of the object at the timestamp introduced as argument, expressed in the following coordinates:
virtual GeodeticSituation geodeticSituation (sen::TimeStamp timeStamp)
 Returns the extrapolated/smoothed situation of the object at the timestamp introduced as argument, expressed in the following coordinates:
void updateSituation (const Situation &value)
 Updates the last known real time Situation. A valid timestamp is needed inside the Situation provided as argument.
void updateGeodeticSituation (const GeodeticSituation &value)
 Updates the last known real time GeodeticSituation. A valid timestamp is needed inside the GeodeticSituation provided as argument.
const DrConfig & getConfig () const noexcept
void setConfig (const DrConfig &config)

Protected Member Functions

const Situation & getSmoothSituation () const noexcept
void smooth (const Situation &update)
const Situation & smoothIfEnabled (const Situation &update)
 Smooths the update when configured to and returns what to publish. With smoothing off the walk is skipped and the returned reference is the argument itself.
void invalidateCache ()
bool isSituationCached (sen::TimeStamp timeStamp) const noexcept
void setCachedSituation (const Situation &situation)
const Situation & getCachedSituation () const noexcept
bool isGeodeticSituationCached (sen::TimeStamp timeStamp) const noexcept
void setCachedGeodeticSituation (const GeodeticSituation &situation)
const GeodeticSituation & getCachedGeodeticSituation () const noexcept

Detailed Description

Extrapolates the Situation of an entity at a certain time. The extrapolation is smoothed by default unless the user specifies otherwise.

Extrapolates with drRvw only: a Situation does not carry which of the nine algorithms describes its movement. DeadReckonerTemplateBase takes the Spatial variant, which does, and selects from it.

Constructor & Destructor Documentation

◆ DeadReckonerBase()

sen::util::DeadReckonerBase::DeadReckonerBase ( DrConfig config = {})
explicit

◆ ~DeadReckonerBase()

virtual sen::util::DeadReckonerBase::~DeadReckonerBase ( )
virtualdefault

Member Function Documentation

◆ situation()

virtual Situation sen::util::DeadReckonerBase::situation ( sen::TimeStamp timeStamp)
nodiscardvirtual

Returns the extrapolated/smoothed situation of the object at the timestamp introduced as argument, expressed in the following coordinates:

  • World position: ECEF coordinates
  • Orientation: Euler angles of the body reference system (x forward, y right, z down) with respect to ECEF
  • Velocity: In world coordinates for world-centered DR algorithms and in body coordinates for body-centered algorithms
  • Acceleration: In world coordinates for world-centered DR algorithms and in body coordinates for body-centered algorithms
  • AngularVelocity: In body coordinates.
  • AngularAcceleration: In body coordinates.

Reimplemented in sen::util::DeadReckoner< T >.

◆ geodeticSituation()

virtual GeodeticSituation sen::util::DeadReckonerBase::geodeticSituation ( sen::TimeStamp timeStamp)
nodiscardvirtual

Returns the extrapolated/smoothed situation of the object at the timestamp introduced as argument, expressed in the following coordinates:

  • World position: Geodetic Latitude, Longitude and Altitude
  • Orientation: Euler angles of the body reference system (x forward, y right, z down) with respect to NED
  • Velocity: In NED coordinates for world-referenced algorithms, in body coordinates for body-referenced algorithms.
  • Acceleration: In NED coordinates for world-referenced algorithms, in body coordinates for body-referenced algorithms.
  • AngularVelocity: In body coordinates.
  • AngularAcceleration: In body coordinates.

Reimplemented in sen::util::DeadReckoner< T >.

◆ updateSituation()

void sen::util::DeadReckonerBase::updateSituation ( const Situation & value)

Updates the last known real time Situation. A valid timestamp is needed inside the Situation provided as argument.

◆ updateGeodeticSituation()

void sen::util::DeadReckonerBase::updateGeodeticSituation ( const GeodeticSituation & value)

Updates the last known real time GeodeticSituation. A valid timestamp is needed inside the GeodeticSituation provided as argument.

◆ getConfig()

const DrConfig & sen::util::DeadReckonerBase::getConfig ( ) const
nodiscardnoexcept

◆ setConfig()

void sen::util::DeadReckonerBase::setConfig ( const DrConfig & config)

◆ getSmoothSituation()

const Situation & sen::util::DeadReckonerBase::getSmoothSituation ( ) const
nodiscardprotectednoexcept

◆ smooth()

void sen::util::DeadReckonerBase::smooth ( const Situation & update)
protected

◆ smoothIfEnabled()

const Situation & sen::util::DeadReckonerBase::smoothIfEnabled ( const Situation & update)
nodiscardprotected

Smooths the update when configured to and returns what to publish. With smoothing off the walk is skipped and the returned reference is the argument itself.

◆ invalidateCache()

void sen::util::DeadReckonerBase::invalidateCache ( )
inlineprotected

◆ isSituationCached()

bool sen::util::DeadReckonerBase::isSituationCached ( sen::TimeStamp timeStamp) const
inlinenodiscardprotectednoexcept

◆ setCachedSituation()

void sen::util::DeadReckonerBase::setCachedSituation ( const Situation & situation)
inlineprotected

◆ getCachedSituation()

const Situation & sen::util::DeadReckonerBase::getCachedSituation ( ) const
inlinenodiscardprotectednoexcept

◆ isGeodeticSituationCached()

bool sen::util::DeadReckonerBase::isGeodeticSituationCached ( sen::TimeStamp timeStamp) const
inlinenodiscardprotectednoexcept

◆ setCachedGeodeticSituation()

void sen::util::DeadReckonerBase::setCachedGeodeticSituation ( const GeodeticSituation & situation)
inlineprotected

◆ getCachedGeodeticSituation()

const GeodeticSituation & sen::util::DeadReckonerBase::getCachedGeodeticSituation ( ) const
inlinenodiscardprotectednoexcept

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