PointCloud.h
Go to the documentation of this file.
1 /*+-------------------------------------------------------------------------+
2  | MultiVehicle simulator (libmvsim) |
3  | |
4  | Copyright (C) 2014-2024 Jose Luis Blanco Claraco |
5  | Copyright (C) 2017 Borys Tymchenko (Odessa Polytechnic University) |
6  | Distributed under 3-clause BSD License |
7  | See COPYING |
8  +-------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
12 #include <mrpt/maps/CPointsMap.h>
13 #include <mrpt/opengl/CPointCloud.h>
14 #include <mrpt/opengl/CSetOfObjects.h>
16 
17 #include <mutex>
18 
19 namespace mvsim
20 {
21 
26 {
28  public:
30  virtual ~PointCloud();
31 
33 
34  virtual void loadConfigFrom(const rapidxml::xml_node<char>* root) override
35  {
37  }
38 
39  virtual void simul_pre_timestep(const TSimulContext& context) override;
40 
41  const mrpt::maps::CPointsMap::Ptr& getPoints() const { return points_; }
42  mrpt::maps::CPointsMap::Ptr& getPoints() { return points_; }
43 
44  protected:
45  virtual void internalGuiUpdate(
46  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& viz,
47  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& physical, bool childrenOnly) override;
48 
49  mrpt::maps::CPointsMap::Ptr points_;
50 
53  bool gui_uptodate_ = false;
54  mrpt::opengl::CSetOfObjects::Ptr gl_points_;
55 
56  double render_points_size_ = 3.0;
57  mrpt::poses::CPose3D pointcloud_pose_ = mrpt::poses::CPose3D::Identity();
58 };
59 
60 } // namespace mvsim
mvsim::VisualObject::parent
World * parent()
Definition: VisualObject.h:51
mvsim::PointCloud::pointcloud_pose_
mrpt::poses::CPose3D pointcloud_pose_
Definition: PointCloud.h:57
mvsim
Definition: Client.h:21
WorldElementBase.h
mvsim::PointCloud::gui_uptodate_
bool gui_uptodate_
Definition: PointCloud.h:53
mvsim::PointCloud::~PointCloud
virtual ~PointCloud()
Definition: PointCloud.cpp:29
mvsim::PointCloud::getPoints
const mrpt::maps::CPointsMap::Ptr & getPoints() const
Definition: PointCloud.h:41
mvsim::TSimulContext
Definition: basic_types.h:58
mvsim::PointCloud::gl_points_
mrpt::opengl::CSetOfObjects::Ptr gl_points_
Definition: PointCloud.h:54
DECLARES_REGISTER_WORLD_ELEMENT
#define DECLARES_REGISTER_WORLD_ELEMENT(CLASS_NAME)
Definition: WorldElementBase.h:53
mvsim::PointCloud::PointCloud
PointCloud(World *parent, const rapidxml::xml_node< char > *root)
Definition: PointCloud.cpp:23
mvsim::PointCloud::getPoints
mrpt::maps::CPointsMap::Ptr & getPoints()
Definition: PointCloud.h:42
mvsim::PointCloud::internalGuiUpdate
virtual void internalGuiUpdate(const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &viz, const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &physical, bool childrenOnly) override
Definition: PointCloud.cpp:67
mvsim::World
Definition: World.h:82
rapidxml::xml_node< char >
mvsim::PointCloud::simul_pre_timestep
virtual void simul_pre_timestep(const TSimulContext &context) override
Definition: PointCloud.cpp:93
mvsim::PointCloud::points_
mrpt::maps::CPointsMap::Ptr points_
Definition: PointCloud.h:49
root
root
mvsim::PointCloud::loadConfigFrom
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root) override
Definition: PointCloud.h:34
mvsim::PointCloud::render_points_size_
double render_points_size_
Definition: PointCloud.h:56
mvsim::PointCloud::doLoadConfigFrom
void doLoadConfigFrom(const rapidxml::xml_node< char > *root)
Definition: PointCloud.cpp:31
mvsim::WorldElementBase
Definition: WorldElementBase.h:27
mvsim::PointCloud
Definition: PointCloud.h:25


mvsim
Author(s):
autogenerated on Wed May 28 2025 02:13:08