MVSim
Lightweight simulator for 2.5D vehicles and robots
GroundGrid.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/img/TColor.h>
13 #include <mrpt/opengl/CGridPlaneXY.h>
14 #include <mvsim/WorldElements/WorldElementBase.h>
15 
16 namespace mvsim
17 {
22 {
23  DECLARES_REGISTER_WORLD_ELEMENT(GroundGrid)
24  public:
25  GroundGrid(World* parent, const rapidxml::xml_node<char>* root);
26  virtual ~GroundGrid();
27 
28  virtual void loadConfigFrom(const rapidxml::xml_node<char>* root) override;
29 
30  protected:
31  virtual void internalGuiUpdate(
32  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& viz,
33  const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& physical, bool childrenOnly) override;
34 
35  bool is_floating_;
36  std::string float_center_at_vehicle_name_;
37  double x_min_, x_max_, y_min_, y_max_, interval_;
38  mrpt::img::TColor color_;
39  double line_width_;
40 
41  mrpt::opengl::CGridPlaneXY::Ptr gl_groundgrid_;
42 };
43 } // namespace mvsim
Definition: GroundGrid.h:22
Definition: WorldElementBase.h:28
Definition: World.h:132