00001 /*+-------------------------------------------------------------------------+ 00002 | MultiVehicle simulator (libmvsim) | 00003 | | 00004 | Copyright (C) 2014 Jose Luis Blanco Claraco (University of Almeria) | 00005 | Copyright (C) 2017 Borys Tymchenko (Odessa Polytechnic University) | 00006 | Distributed under GNU General Public License version 3 | 00007 | See <http://www.gnu.org/licenses/> | 00008 +-------------------------------------------------------------------------+ */ 00009 00010 #pragma once 00011 00012 #include <mvsim/WorldElements/WorldElementBase.h> 00013 #include <mrpt/opengl/CGridPlaneXY.h> 00014 00015 namespace mvsim 00016 { 00017 class GroundGrid : public WorldElementBase 00018 { 00019 DECLARES_REGISTER_WORLD_ELEMENT(GroundGrid) 00020 public: 00021 GroundGrid(World* parent, const rapidxml::xml_node<char>* root); 00022 virtual ~GroundGrid(); 00023 00024 virtual void loadConfigFrom( 00025 const rapidxml::xml_node<char>* root); 00026 virtual void gui_update( 00027 mrpt::opengl::COpenGLScene& scene); 00028 00029 protected: 00030 bool m_is_floating; 00031 std::string m_float_center_at_vehicle_name; 00032 double m_x_min, m_x_max, m_y_min, m_y_max, m_interval; 00033 mrpt::utils::TColor m_color; 00034 double m_line_width; 00035 00036 mrpt::opengl::CGridPlaneXY::Ptr m_gl_groundgrid; 00037 }; 00038 }