ElevationMap.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/img/CImage.h>
13 #include <mrpt/opengl/CMesh.h>
15 
16 #include <vector>
17 
18 namespace mvsim
19 {
28 {
30  public:
32  virtual ~ElevationMap();
33 
34  virtual void loadConfigFrom(const rapidxml::xml_node<char>* root) override;
35 
36  virtual void simul_pre_timestep(const TSimulContext& context) override;
37  virtual void simul_post_timestep(const TSimulContext& context) override;
38 
39  std::optional<float> getElevationAt(const mrpt::math::TPoint2D& pt) const override;
40 
41  protected:
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;
45 
48  std::vector<mrpt::opengl::CMesh::Ptr> gl_meshes_;
49  bool firstSceneRendering_ = true;
50  double resolution_ = 1.0f;
51 
52  double textureExtensionX_ = 0;
53  double textureExtensionY_ = 0;
54 
56  mrpt::math::CMatrixDouble meshCacheZ_;
57  double meshMinX_ = 0, meshMaxX_ = 0, meshMinY_ = 0, meshMaxY_ = 0;
58 
61  double model_split_size_ = .0f;
62 };
63 } // namespace mvsim
mvsim::VisualObject::parent
World * parent()
Definition: VisualObject.h:51
mvsim::ElevationMap::meshMaxY_
double meshMaxY_
Definition: ElevationMap.h:57
mvsim
Definition: Client.h:21
mvsim::ElevationMap::meshMinX_
double meshMinX_
Definition: ElevationMap.h:57
WorldElementBase.h
mvsim::ElevationMap::loadConfigFrom
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root) override
Definition: ElevationMap.cpp:83
mvsim::ElevationMap::meshCacheZ_
mrpt::math::CMatrixDouble meshCacheZ_
Definition: ElevationMap.h:56
mvsim::ElevationMap::ElevationMap
ElevationMap(World *parent, const rapidxml::xml_node< char > *root)
Definition: ElevationMap.cpp:76
mvsim::ElevationMap::textureExtensionX_
double textureExtensionX_
0=auto
Definition: ElevationMap.h:52
mvsim::TSimulContext
Definition: basic_types.h:58
mvsim::ElevationMap::~ElevationMap
virtual ~ElevationMap()
Definition: ElevationMap.cpp:82
mvsim::ElevationMap::firstSceneRendering_
bool firstSceneRendering_
Definition: ElevationMap.h:49
DECLARES_REGISTER_WORLD_ELEMENT
#define DECLARES_REGISTER_WORLD_ELEMENT(CLASS_NAME)
Definition: WorldElementBase.h:53
mvsim::ElevationMap::gl_meshes_
std::vector< mrpt::opengl::CMesh::Ptr > gl_meshes_
Definition: ElevationMap.h:48
mvsim::World
Definition: World.h:82
mvsim::ElevationMap::internalGuiUpdate
virtual void internalGuiUpdate(const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &viz, const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &physical, bool childrenOnly) override
Definition: ElevationMap.cpp:408
mvsim::ElevationMap::meshMinY_
double meshMinY_
Definition: ElevationMap.h:57
rapidxml::xml_node< char >
mvsim::ElevationMap::model_split_size_
double model_split_size_
Definition: ElevationMap.h:61
mvsim::ElevationMap::getElevationAt
std::optional< float > getElevationAt(const mrpt::math::TPoint2D &pt) const override
Definition: ElevationMap.cpp:466
mvsim::ElevationMap::textureExtensionY_
double textureExtensionY_
0=auto
Definition: ElevationMap.h:53
mvsim::ElevationMap::simul_pre_timestep
virtual void simul_pre_timestep(const TSimulContext &context) override
Definition: ElevationMap.cpp:432
root
root
mvsim::ElevationMap
Definition: ElevationMap.h:27
mvsim::ElevationMap::meshMaxX_
double meshMaxX_
Definition: ElevationMap.h:57
mvsim::ElevationMap::simul_post_timestep
virtual void simul_post_timestep(const TSimulContext &context) override
Definition: ElevationMap.cpp:439
mvsim::ElevationMap::resolution_
double resolution_
Definition: ElevationMap.h:50
mvsim::WorldElementBase
Definition: WorldElementBase.h:27


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