Privacy
An open-source, flexible 3D physical simulation framework
mars::sim::MultiLevelLaserRangeFinder Class Reference

#include <MultiLevelLaserRangeFinder.h>

Classes

struct  Lookup
 
struct  RaySubSensor
 

Public Member Functions

 MultiLevelLaserRangeFinder (interfaces::ControlCenter *control, MultiLevelLaserRangeFinderConfig config)
 
 ~MultiLevelLaserRangeFinder (void)
 
virtual void preGraphicsUpdate (void)
 
const std::vector< double > & getSensorData () const
 
std::vector< double > getPointCloud ()
 
virtual int getSensorData (double **data) const
 
virtual void receiveData (const data_broker::DataInfo &info, const data_broker::DataPackage &package, int callbackParam)
 The DataBroker will call this method to notify the receiver of whenever the condition for which the receiver registered occur. More...
 
virtual void update (std::vector< interfaces::draw_item > *drawItems)
 This is the update function that updates the position of the vertices of all draw_item structs contained in drawItems. More...
 
virtual configmaps::ConfigMap createConfig () const
 
const MultiLevelLaserRangeFinderConfiggetConfig () const
 
- Public Member Functions inherited from mars::interfaces::BaseNodeSensor
 BaseNodeSensor (unsigned long id, std::string name)
 
virtual ~BaseNodeSensor ()
 
utils::Quaternion getOrientation () const
 
unsigned long getAttachedNode ()
 
- Public Member Functions inherited from mars::interfaces::BaseSensor
 BaseSensor ()
 
virtual ~BaseSensor ()
 
 BaseSensor (unsigned long id, std::string name)
 
unsigned long getID () const
 
const std::string getName () const
 
virtual int getAsciiData (char *data) const
 
void getCoreExchange (core_objects_exchange *obj) const
 
- Public Member Functions inherited from mars::interfaces::SensorInterface
 SensorInterface (ControlCenter *center)
 
virtual ~SensorInterface ()
 
- Public Member Functions inherited from mars::data_broker::ReceiverInterface
 ReceiverInterface ()
 
virtual ~ReceiverInterface ()
 
- Public Member Functions inherited from mars::interfaces::DrawInterface
virtual ~DrawInterface ()
 
- Public Member Functions inherited from mars::interfaces::GraphicsUpdateInterface
 GraphicsUpdateInterface (void)
 
virtual ~GraphicsUpdateInterface (void)
 
virtual void postGraphicsUpdate (void)
 

Static Public Member Functions

static interfaces::BaseSensorinstanciate (interfaces::ControlCenter *control, interfaces::BaseConfig *config)
 
static interfaces::BaseConfigparseConfig (interfaces::ControlCenter *control, configmaps::ConfigMap *config)
 
- Static Public Member Functions inherited from mars::interfaces::BaseSensor
static BaseConfigparseConfig (ControlCenter *control, configmaps::ConfigMap *config)
 

Private Member Functions

void calculateSamplingPixels ()
 

Private Attributes

MultiLevelLaserRangeFinderConfig config
 
std::vector< Lookuplookups
 
std::vector< RaySubSensorsubSensors
 
utils::Vector position
 
utils::Quaternion orientation
 
std::vector< double > rayValues
 
std::vector< utils::Vectordirections
 
long positionIndices [3]
 
long rotationIndices [4]
 

Additional Inherited Members

- Public Attributes inherited from mars::interfaces::BaseSensor
unsigned long id
 
std::string name
 
unsigned long updateRate
 
- Protected Attributes inherited from mars::interfaces::BaseNodeSensor
unsigned long attached_node
 
bool calcAcceletaion
 
bool calcSpeed
 
bool calcPosition
 
bool calcRotationSpeed
 
bool calcOrientation
 
utils::Vector acceleration
 
utils::Vector speed
 
utils::Vector position
 
utils::Vector rotationSpeed
 
utils::Quaternion orientation
 
- Protected Attributes inherited from mars::interfaces::SensorInterface
ControlCentercontrol
 

Detailed Description

Definition at line 45 of file MultiLevelLaserRangeFinder.h.

Constructor & Destructor Documentation

◆ MultiLevelLaserRangeFinder()

mars::sim::MultiLevelLaserRangeFinder::MultiLevelLaserRangeFinder ( interfaces::ControlCenter control,
MultiLevelLaserRangeFinderConfig  config 
)

Definition at line 28 of file MultiLevelLaserRangeFinder.cpp.

◆ ~MultiLevelLaserRangeFinder()

mars::sim::MultiLevelLaserRangeFinder::~MultiLevelLaserRangeFinder ( void  )

Definition at line 147 of file MultiLevelLaserRangeFinder.cpp.

Member Function Documentation

◆ calculateSamplingPixels()

void mars::sim::MultiLevelLaserRangeFinder::calculateSamplingPixels ( )
private

Definition at line 203 of file MultiLevelLaserRangeFinder.cpp.

◆ createConfig()

ConfigMap mars::sim::MultiLevelLaserRangeFinder::createConfig ( ) const
virtual

Reimplemented from mars::interfaces::BaseSensor.

Definition at line 353 of file MultiLevelLaserRangeFinder.cpp.

◆ getConfig()

const MultiLevelLaserRangeFinderConfig & mars::sim::MultiLevelLaserRangeFinder::getConfig ( ) const

Definition at line 371 of file MultiLevelLaserRangeFinder.cpp.

◆ getPointCloud()

std::vector<double> mars::sim::MultiLevelLaserRangeFinder::getPointCloud ( )

◆ getSensorData() [1/2]

const std::vector< double > & mars::sim::MultiLevelLaserRangeFinder::getSensorData ( ) const

Definition at line 165 of file MultiLevelLaserRangeFinder.cpp.

◆ getSensorData() [2/2]

int mars::sim::MultiLevelLaserRangeFinder::getSensorData ( double **  data) const
virtual

Reimplemented from mars::interfaces::BaseSensor.

Definition at line 169 of file MultiLevelLaserRangeFinder.cpp.

◆ instanciate()

BaseSensor * mars::sim::MultiLevelLaserRangeFinder::instanciate ( interfaces::ControlCenter control,
interfaces::BaseConfig config 
)
static

Definition at line 22 of file MultiLevelLaserRangeFinder.cpp.

◆ parseConfig()

BaseConfig * mars::sim::MultiLevelLaserRangeFinder::parseConfig ( interfaces::ControlCenter control,
configmaps::ConfigMap config 
)
static

Definition at line 321 of file MultiLevelLaserRangeFinder.cpp.

◆ preGraphicsUpdate()

void mars::sim::MultiLevelLaserRangeFinder::preGraphicsUpdate ( void  )
virtual

Reimplemented from mars::interfaces::GraphicsUpdateInterface.

Definition at line 153 of file MultiLevelLaserRangeFinder.cpp.

◆ receiveData()

void mars::sim::MultiLevelLaserRangeFinder::receiveData ( const data_broker::DataInfo info,
const data_broker::DataPackage dataPackage,
int  callbackParam 
)
virtual

The DataBroker will call this method to notify the receiver of whenever the condition for which the receiver registered occur.

Parameters
infoInformation about the DataPackage.
dataPackageThe DataPackage containing all the data.
callbackParamThe int the receiver passed during registration. The default (the receiver didn't provide a callbackParam) is 0. This can be used to easily distinguish different registrations.

Implements mars::data_broker::ReceiverInterface.

Definition at line 176 of file MultiLevelLaserRangeFinder.cpp.

◆ update()

void mars::sim::MultiLevelLaserRangeFinder::update ( std::vector< interfaces::draw_item > *  drawItems)
virtual

This is the update function that updates the position of the vertices of all draw_item structs contained in drawItems.

Implements mars::interfaces::DrawInterface.

Definition at line 276 of file MultiLevelLaserRangeFinder.cpp.

Member Data Documentation

◆ config

MultiLevelLaserRangeFinderConfig mars::sim::MultiLevelLaserRangeFinder::config
private

Definition at line 79 of file MultiLevelLaserRangeFinder.h.

◆ directions

std::vector<utils::Vector> mars::sim::MultiLevelLaserRangeFinder::directions
private

Definition at line 109 of file MultiLevelLaserRangeFinder.h.

◆ lookups

std::vector<Lookup> mars::sim::MultiLevelLaserRangeFinder::lookups
private

Definition at line 101 of file MultiLevelLaserRangeFinder.h.

◆ orientation

utils::Quaternion mars::sim::MultiLevelLaserRangeFinder::orientation
private

Definition at line 105 of file MultiLevelLaserRangeFinder.h.

◆ position

utils::Vector mars::sim::MultiLevelLaserRangeFinder::position
private

Definition at line 104 of file MultiLevelLaserRangeFinder.h.

◆ positionIndices

long mars::sim::MultiLevelLaserRangeFinder::positionIndices[3]
private

Definition at line 110 of file MultiLevelLaserRangeFinder.h.

◆ rayValues

std::vector<double> mars::sim::MultiLevelLaserRangeFinder::rayValues
private

Definition at line 107 of file MultiLevelLaserRangeFinder.h.

◆ rotationIndices

long mars::sim::MultiLevelLaserRangeFinder::rotationIndices[4]
private

Definition at line 111 of file MultiLevelLaserRangeFinder.h.

◆ subSensors

std::vector<RaySubSensor> mars::sim::MultiLevelLaserRangeFinder::subSensors
private

Definition at line 103 of file MultiLevelLaserRangeFinder.h.


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