12 #include <mrpt/obs/CObservationImage.h>
13 #include <mrpt/opengl/CFBORender.h>
14 #include <mvsim/Sensors/SensorBase.h>
37 void simulateOn3DScene(mrpt::opengl::COpenGLScene& gl_scene)
override;
39 void freeOpenGLResources()
override;
42 virtual void internalGuiUpdate(
43 const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& viz,
44 const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& physical,
bool childrenOnly)
override;
46 void notifySimulableSetPose(
const mrpt::math::TPose3D& newPose)
override;
48 mrpt::math::TPose3D
getRelativePose()
const override {
return sensor_params_.sensorPose(); }
51 sensor_params_.setSensorPose(mrpt::poses::CPose3D(p));
56 mrpt::obs::CObservationImage sensor_params_;
58 std::mutex last_obs_cs_;
61 mrpt::obs::CObservationImage::Ptr last_obs2gui_;
63 std::shared_ptr<mrpt::opengl::CFBORender> fbo_renderer_rgb_;
69 std::optional<TSimulContext> has_to_render_;
70 std::mutex has_to_render_mtx_;
72 float rgbClipMin_ = 1e-2, rgbClipMax_ = 1e+4;
74 mrpt::opengl::CSetOfObjects::Ptr gl_sensor_origin_, gl_sensor_origin_corner_;
75 mrpt::opengl::CSetOfObjects::Ptr gl_sensor_fov_, gl_sensor_frustum_;
Definition: CameraSensor.h:24
mrpt::math::TPose3D getRelativePose() const override
Definition: CameraSensor.h:48
bool gui_uptodate_
Definition: CameraSensor.h:67
void setRelativePose(const mrpt::math::TPose3D &p) override
Definition: CameraSensor.h:49
virtual void simul_post_timestep(const TSimulContext &context) override
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root) override
virtual void simul_pre_timestep(const TSimulContext &context) override
mrpt::obs::CObservationImage::Ptr last_obs_
Definition: CameraSensor.h:60
Virtual base class for all sensors.
Definition: SensorBase.h:35
Definition: Simulable.h:40
Definition: basic_types.h:58