Conscience Core
Classes | Public Member Functions | List of all members
conscience_core::lidar::CscEntityPositionManager Class Reference

#include <CscEntityPositionManager.h>

Public Member Functions

 CscEntityPositionManager (const string &entitySerialNumber, CscEnvironmentSimulator &globalEnvironmentSimulator)
 
virtual ~CscEntityPositionManager ()
 
void addPositionUpdateListener (const string &listenerId, PositionUpdateListener listener)
 
void removePositionUpdateListener (const string &listenerId)
 
const CscPoint3dOrientedgetLastPlausiblePosition (double improbablePositionDistanceCm=50) const
 
const CscPoint3dOrientedgetLastPosition () const
 
const CscPoint3dOrientedgetPositionFromSimulator () const
 
pair< CscPoint3d, CscQuaterniongetPositionAndOrientationQuaternionFromSimulator () const
 
void registerPosition (const CscPoint3dOriented *position, float certitude, CscEntityPositionSource source, double improbablePositionDistanceCm=50, bool forceRegisterPosition=false)
 
const string getEntitySerialNumber () const
 
CscEnvironmentSimulatorgetEnvironmentSimulator () const
 
void setGpsValid (bool isValid)
 
bool getGpsValid () const
 
map< const string, PositionUpdateListener > getPositionListeners () const
 
optional< CscPoint3dgetRealEntityAcceleration ()
 
void setRealEntityAcceleration (optional< CscPoint3d > acceleration)
 

Constructor & Destructor Documentation

◆ CscEntityPositionManager()

conscience_core::lidar::CscEntityPositionManager::CscEntityPositionManager ( const string &  entitySerialNumber,
CscEnvironmentSimulator globalEnvironmentSimulator 
)

◆ ~CscEntityPositionManager()

conscience_core::lidar::CscEntityPositionManager::~CscEntityPositionManager ( )
virtual

Member Function Documentation

◆ addPositionUpdateListener()

void conscience_core::lidar::CscEntityPositionManager::addPositionUpdateListener ( const string &  listenerId,
PositionUpdateListener  listener 
)

◆ getEntitySerialNumber()

const string conscience_core::lidar::CscEntityPositionManager::getEntitySerialNumber ( ) const
inline

◆ getEnvironmentSimulator()

CscEnvironmentSimulator & conscience_core::lidar::CscEntityPositionManager::getEnvironmentSimulator ( ) const

◆ getGpsValid()

bool conscience_core::lidar::CscEntityPositionManager::getGpsValid ( ) const

◆ getLastPlausiblePosition()

const CscPoint3dOriented * conscience_core::lidar::CscEntityPositionManager::getLastPlausiblePosition ( double  improbablePositionDistanceCm = 50) const

look into history to grab last plausible position. The requires at least one safe position registration

◆ getLastPosition()

const CscPoint3dOriented * conscience_core::lidar::CscEntityPositionManager::getLastPosition ( ) const

return last position

◆ getPositionAndOrientationQuaternionFromSimulator()

pair< CscPoint3d, CscQuaternion > conscience_core::lidar::CscEntityPositionManager::getPositionAndOrientationQuaternionFromSimulator ( ) const

get instant position from global environment simulator

◆ getPositionFromSimulator()

const CscPoint3dOriented * conscience_core::lidar::CscEntityPositionManager::getPositionFromSimulator ( ) const

get instant position from global environment simulator

◆ getPositionListeners()

map< const string, CscEntityPositionManager::PositionUpdateListener > conscience_core::lidar::CscEntityPositionManager::getPositionListeners ( ) const

◆ getRealEntityAcceleration()

optional< CscPoint3d > conscience_core::lidar::CscEntityPositionManager::getRealEntityAcceleration ( )
Note
this method is thread safe
Returns
the last known real entity accelaration if any, empty otherwise, or if simulated entity

◆ registerPosition()

void conscience_core::lidar::CscEntityPositionManager::registerPosition ( const CscPoint3dOriented position,
float  certitude,
CscEntityPositionSource  source,
double  improbablePositionDistanceCm = 50,
bool  forceRegisterPosition = false 
)
Parameters
positionwill be cloned
certitudefrom 0 (min) to 1.0 (max)
improbablePositionDistanceCmused to reject a position if it is too far from previous ones

◆ removePositionUpdateListener()

void conscience_core::lidar::CscEntityPositionManager::removePositionUpdateListener ( const string &  listenerId)

◆ setGpsValid()

void conscience_core::lidar::CscEntityPositionManager::setGpsValid ( bool  isValid)

◆ setRealEntityAcceleration()

void conscience_core::lidar::CscEntityPositionManager::setRealEntityAcceleration ( optional< CscPoint3d acceleration)

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