PointCloud.h
Go to the documentation of this file.
1 /*+-------------------------------------------------------------------------+
2  | MultiVehicle simulator (libmvsim) |
3  | |
4  | Copyright (C) 2014-2023 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 {
22 {
24  public:
26  virtual ~PointCloud();
27 
29 
30  virtual void loadConfigFrom(const rapidxml::xml_node<char>* root) override
31  {
32  doLoadConfigFrom(root);
33  }
34 
35  virtual void simul_pre_timestep(const TSimulContext& context) override;
36 
37  const mrpt::maps::CPointsMap::Ptr& getPoints() const { return points_; }
38  mrpt::maps::CPointsMap::Ptr& getPoints() { return points_; }
39 
40  protected:
41  virtual void internalGuiUpdate(
42  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& viz,
43  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& physical,
44  bool childrenOnly) override;
45 
46  mrpt::maps::CPointsMap::Ptr points_;
47 
50  bool gui_uptodate_ = false;
51  mrpt::opengl::CSetOfObjects::Ptr gl_points_;
52 
53  double render_points_size_ = 3.0;
54  mrpt::poses::CPose3D pointcloud_pose_ = mrpt::poses::CPose3D::Identity();
55 };
56 
57 } // namespace mvsim
virtual void simul_pre_timestep(const TSimulContext &context) override
Definition: PointCloud.cpp:93
mrpt::poses::CPose3D pointcloud_pose_
Definition: PointCloud.h:54
const mrpt::maps::CPointsMap::Ptr & getPoints() const
Definition: PointCloud.h:37
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:68
mrpt::maps::CPointsMap::Ptr & getPoints()
Definition: PointCloud.h:38
mrpt::maps::CPointsMap::Ptr points_
Definition: PointCloud.h:46
mrpt::opengl::CSetOfObjects::Ptr gl_points_
Definition: PointCloud.h:51
#define DECLARES_REGISTER_WORLD_ELEMENT(CLASS_NAME)
void doLoadConfigFrom(const rapidxml::xml_node< char > *root)
Definition: PointCloud.cpp:31
virtual ~PointCloud()
Definition: PointCloud.cpp:29
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root) override
Definition: PointCloud.h:30
double render_points_size_
Definition: PointCloud.h:53
PointCloud(World *parent, const rapidxml::xml_node< char > *root)
Definition: PointCloud.cpp:23


mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:21