17 #ifndef GAZEBO_RENDERING_HEIGHTMAP_HH_ 18 #define GAZEBO_RENDERING_HEIGHTMAP_HH_ 23 #include <ignition/math/Vector3.hh> 24 #include <ignition/math/Vector2.hh> 26 #include "gazebo/msgs/MessageTypes.hh" 55 class HeightmapPrivate;
76 public:
void LoadFromMsg(ConstVisualPtr &_msg);
83 public:
double Height(
const double _x,
const double _y,
84 const double _z = 1000)
const;
96 const ignition::math::Vector2i &_mousePos,
97 const double _outsideRadius,
98 const double _insideRadius,
99 const double _weight = 0.1);
111 const ignition::math::Vector2i &_mousePos,
112 const double _outsideRadius,
113 const double _insideRadius,
114 const double _weight = 0.1);
126 const ignition::math::Vector2i &_mousePos,
127 const double _outsideRadius,
128 const double _insideRadius,
129 const double _weight = 0.1);
141 const ignition::math::Vector2i &_mousePos,
142 const double _outsideRadius,
143 const double _insideRadius,
144 const double _weight = 0.1);
149 public:
double AvgHeight(
const ignition::math::Vector3d &_pos,
150 const double _brushSize)
const;
154 public:
void SetWireframe(
const bool _show);
158 public: Ogre::TerrainGroup *OgreTerrain()
const;
169 public: Ogre::TerrainGroup::RayResult MouseHit(
CameraPtr _camera,
170 const ignition::math::Vector2i &_mousePos)
const;
176 public:
void SplitHeights(
const std::vector<float> &_heightmap,
177 const int _n, std::vector<std::vector<float> > &_v);
182 public:
unsigned int TerrainSubdivisionCount()
const;
186 public:
void SetMaterial(
const std::string &_materialName);
190 public: std::string MaterialName()
const;
199 public:
void SetLOD(
const unsigned int _value);
203 public:
unsigned int LOD()
const;
208 public:
void SetSkirtLength(
const double _value);
212 public:
double SkirtLength()
const;
218 private:
void CreateMaterial();
227 private:
void ModifyTerrain(Ogre::Vector3 _pos,
228 const double _outsideRadius,
const double _insideRadius,
229 const double _weight,
const std::string &_op);
233 private:
bool InitBlendMaps(Ogre::Terrain *_terrain);
236 private:
void ConfigureTerrainDefaults();
241 private:
void DefineTerrain(
const int _x,
const int _y);
245 private:
void SetupShadows(
const bool _enabled);
254 private:
void UpdateTerrainHash(
const std::string &_hash,
255 const boost::filesystem::path &_terrainDir);
262 private:
bool PrepareTerrain(
263 const boost::filesystem::path &_terrainDirPath);
266 private:
void SaveHeightmap();
270 private: std::unique_ptr<HeightmapPrivate> dataPtr;
Definition: JointMaker.hh:44
Forward declarations for the common classes.
Definition: Animation.hh:26
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:82
Rendering a terrain using heightmap information.
Definition: Heightmap.hh:62
Definition: JointMaker.hh:39
Encapsulates an image.
Definition: Image.hh:74
boost::shared_ptr< Camera > CameraPtr
Definition: RenderTypes.hh:90