VerticalPlane.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/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 {
25 {
27  public:
29  virtual ~VerticalPlane();
30 
31  virtual void loadConfigFrom(const rapidxml::xml_node<char>* root) override;
32  // ------- Interface with "World" ------
33  void simul_pre_timestep(const TSimulContext& context) override;
34  void simul_post_timestep(const TSimulContext& context) override;
35 
36  protected:
37  virtual void internalGuiUpdate(
38  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& viz,
39  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& physical,
40  bool childrenOnly) override;
41 
42  float x0_ = -10, x1_ = -10, y0_ = -10, y1_ = 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, height_ = 3.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  b2Body* b2dBody_ = nullptr;
59  double restitution_ = 0.01;
61 };
62 } // namespace mvsim
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root) override
std::string cull_faces_
Definition: VerticalPlane.h:52
virtual void internalGuiUpdate(const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &viz, const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &physical, bool childrenOnly) override
mrpt::opengl::CTexturedPlane::Ptr gl_plane_
Definition: VerticalPlane.h:54
void simul_pre_timestep(const TSimulContext &context) override
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
std::string textureFileName_
Definition: VerticalPlane.h:47
mrpt::img::TColor color_
Definition: VerticalPlane.h:43
#define DECLARES_REGISTER_WORLD_ELEMENT(CLASS_NAME)
void simul_post_timestep(const TSimulContext &context) override
b2Fixture * fixture_block_
Definition: VerticalPlane.h:60
mrpt::opengl::CSetOfTexturedTriangles::Ptr gl_plane_text_
Definition: VerticalPlane.h:55
VerticalPlane(World *parent, const rapidxml::xml_node< char > *root)
mrpt::opengl::CSetOfObjects::Ptr glGroup_
Definition: VerticalPlane.h:56
double restitution_
Default: 0.01.
Definition: VerticalPlane.h:59


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