MVSim
Lightweight simulator for 2.5D vehicles and robots
modules
simulator
include
mvsim
WorldElements
PointCloud.h
1
/*+-------------------------------------------------------------------------+
2
| MultiVehicle simulator (libmvsim) |
3
| |
4
| Copyright (C) 2014-2026 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>
15
#include <mvsim/WorldElements/WorldElementBase.h>
16
17
#include <mutex>
18
19
namespace
mvsim
20
{
21
25
class
PointCloud
:
public
WorldElementBase
26
{
27
DECLARES_REGISTER_WORLD_ELEMENT(
PointCloud
)
28
public
:
29
PointCloud
(
World
* parent,
const
rapidxml::xml_node<char>
* root);
30
virtual
~
PointCloud
();
31
32
void
doLoadConfigFrom(
const
rapidxml::xml_node<char>
* root);
33
34
virtual
void
loadConfigFrom(
const
rapidxml::xml_node<char>
* root)
override
35
{
36
doLoadConfigFrom(root);
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::PointCloud
Definition:
PointCloud.h:26
mvsim::PointCloud::gui_uptodate_
bool gui_uptodate_
Definition:
PointCloud.h:53
mvsim::PointCloud::simul_pre_timestep
virtual void simul_pre_timestep(const TSimulContext &context) override
mvsim::WorldElementBase
Definition:
WorldElementBase.h:28
mvsim::World
Definition:
World.h:132
rapidxml::xml_node< char >
mvsim::TSimulContext
Definition:
basic_types.h:58
Generated by
1.9.1