HorizontalPlane.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/TColor.h>
13 #include <mrpt/opengl/CSetOfObjects.h>
14 #include <mrpt/opengl/CSetOfTexturedTriangles.h>
15 #include <mrpt/opengl/CTexturedPlane.h>
17 
18 namespace mvsim
19 {
24 {
26  public:
28  virtual ~HorizontalPlane();
29 
30  virtual void loadConfigFrom(const rapidxml::xml_node<char>* root) override;
31  // ------- Interface with "World" ------
32  void simul_pre_timestep(const TSimulContext& context) override;
33  void simul_post_timestep(const TSimulContext& context) override;
34 
35  std::optional<float> getElevationAt(const mrpt::math::TPoint2D& worldXY) const override;
36 
37  protected:
38  virtual void internalGuiUpdate(
39  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& viz,
40  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& physical, bool childrenOnly) override;
41 
42  float x_min_ = -10, x_max_ = 10, y_min_ = -10, y_max_ = 10;
43  mrpt::img::TColor color_ = {0xa0, 0xa0, 0xa0, 0xff};
44  bool enableShadows_ = true;
45 
47  std::string textureFileName_;
48  double textureSizeX_ = 1.0;
49  double textureSizeY_ = 1.0;
50 
51  float z_ = .0f;
52  std::string cull_faces_ = "NONE";
53 
54  mrpt::opengl::CTexturedPlane::Ptr gl_plane_;
55  mrpt::opengl::CSetOfTexturedTriangles::Ptr gl_plane_text_;
56  mrpt::opengl::CSetOfObjects::Ptr glGroup_;
57 };
58 } // namespace mvsim
mvsim::VisualObject::parent
World * parent()
Definition: VisualObject.h:51
mvsim
Definition: Client.h:21
WorldElementBase.h
mvsim::HorizontalPlane::gl_plane_text_
mrpt::opengl::CSetOfTexturedTriangles::Ptr gl_plane_text_
Definition: HorizontalPlane.h:55
mvsim::HorizontalPlane::x_max_
float x_max_
Definition: HorizontalPlane.h:42
mvsim::HorizontalPlane::internalGuiUpdate
virtual void internalGuiUpdate(const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &viz, const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &physical, bool childrenOnly) override
Definition: HorizontalPlane.cpp:68
mvsim::HorizontalPlane::simul_post_timestep
void simul_post_timestep(const TSimulContext &context) override
Definition: HorizontalPlane.cpp:169
mvsim::HorizontalPlane::simul_pre_timestep
void simul_pre_timestep(const TSimulContext &context) override
Definition: HorizontalPlane.cpp:164
mvsim::HorizontalPlane::y_min_
float y_min_
Definition: HorizontalPlane.h:42
mvsim::HorizontalPlane::gl_plane_
mrpt::opengl::CTexturedPlane::Ptr gl_plane_
Definition: HorizontalPlane.h:54
mvsim::HorizontalPlane::textureSizeY_
double textureSizeY_
Definition: HorizontalPlane.h:49
mvsim::HorizontalPlane::y_max_
float y_max_
Definition: HorizontalPlane.h:42
mvsim::HorizontalPlane::HorizontalPlane
HorizontalPlane(World *parent, const rapidxml::xml_node< char > *root)
Definition: HorizontalPlane.cpp:25
mvsim::HorizontalPlane::~HorizontalPlane
virtual ~HorizontalPlane()
Definition: HorizontalPlane.cpp:33
mvsim::TSimulContext
Definition: basic_types.h:58
DECLARES_REGISTER_WORLD_ELEMENT
#define DECLARES_REGISTER_WORLD_ELEMENT(CLASS_NAME)
Definition: WorldElementBase.h:53
mvsim::HorizontalPlane::getElevationAt
std::optional< float > getElevationAt(const mrpt::math::TPoint2D &worldXY) const override
Definition: HorizontalPlane.cpp:174
mvsim::HorizontalPlane::z_
float z_
Definition: HorizontalPlane.h:51
mvsim::HorizontalPlane::x_min_
float x_min_
Definition: HorizontalPlane.h:42
mvsim::World
Definition: World.h:82
mvsim::HorizontalPlane::loadConfigFrom
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root) override
Definition: HorizontalPlane.cpp:35
rapidxml::xml_node< char >
mvsim::HorizontalPlane::textureFileName_
std::string textureFileName_
Definition: HorizontalPlane.h:47
mvsim::HorizontalPlane::cull_faces_
std::string cull_faces_
Definition: HorizontalPlane.h:52
mvsim::HorizontalPlane::glGroup_
mrpt::opengl::CSetOfObjects::Ptr glGroup_
Definition: HorizontalPlane.h:56
mvsim::HorizontalPlane::textureSizeX_
double textureSizeX_
Definition: HorizontalPlane.h:48
root
root
mvsim::HorizontalPlane::color_
mrpt::img::TColor color_
Definition: HorizontalPlane.h:43
mvsim::HorizontalPlane
Definition: HorizontalPlane.h:23
mvsim::HorizontalPlane::enableShadows_
bool enableShadows_
Definition: HorizontalPlane.h:44
mvsim::WorldElementBase
Definition: WorldElementBase.h:27


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