Go to the documentation of this file.
12 #include <mrpt/obs/obs_frwds.h>
13 #include <mrpt/opengl/opengl_frwds.h>
14 #include <mrpt/poses/CPose3D.h>
37 using Ptr = std::shared_ptr<SensorBase>;
54 [[maybe_unused]] mrpt::opengl::COpenGLScene& gl_scene)
103 const std::shared_ptr<mrpt::obs::CObservation>& obs,
const TSimulContext& context);
106 const std::shared_ptr<mrpt::obs::CObservation2DRangeScan>& obs,
120 #define DECLARES_REGISTER_SENSOR(CLASS_NAME) \
121 DECLARES_REGISTER_CLASS2(CLASS_NAME, SensorBase, Simulable&, const rapidxml::xml_node<char>*)
123 #define REGISTER_SENSOR(TEXTUAL_NAME, CLASS_NAME) \
124 REGISTER_CLASS2(TClassFactory_sensors, classFactory_sensors, TEXTUAL_NAME, CLASS_NAME)
double sensor_period() const
void reportNewObservation_lidar_2d(const std::shared_ptr< mrpt::obs::CObservation2DRangeScan > &obs, const TSimulContext &context)
void make_sure_we_have_a_name(const std::string &prefix)
Assign a sensible default name/sensor label if none is provided:
std::map< std::string, std::string > varValues_
Filled in by SensorBase::loadConfigFrom()
void reportNewObservation(const std::shared_ptr< mrpt::obs::CObservation > &obs, const TSimulContext &context)
World * getSimulableWorldObject()
virtual void simulateOn3DScene([[maybe_unused]] mrpt::opengl::COpenGLScene &gl_scene)
Simulable & vehicle_
The vehicle this sensor is attached to.
Virtual base class for all sensors.
const Simulable & vehicle() const
void registerOnServer(mvsim::Client &c) override
static std::shared_ptr< mrpt::opengl::CSetOfObjects > GetAllSensorsOriginViz()
bool should_simulate_sensor(const TSimulContext &context)
bool parseSensorPublish(const rapidxml::xml_node< char > *node, const std::map< std::string, std::string > &varValues)
static SensorBase::Ptr factory(Simulable &parent, const rapidxml::xml_node< char > *xml_node)
std::shared_ptr< SensorBase > Ptr
std::string publishTopic_
SensorBase(Simulable &vehicle)
static std::shared_ptr< mrpt::opengl::CSetOfObjects > GetAllSensorsFOVViz()
double sensor_last_timestamp_
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root)
TClassFactory_sensors classFactory_sensors
const World * world() const
std::vector< SensorBase::Ptr > TListSensors
static void RegisterSensorFOVViz(const std::shared_ptr< mrpt::opengl::CSetOfObjects > &o)
static void RegisterSensorOriginViz(const std::shared_ptr< mrpt::opengl::CSetOfObjects > &o)
mvsim
Author(s):
autogenerated on Wed May 28 2025 02:13:08