Rendering a terrain using heightmap information. More...
#include <rendering/rendering.hh>
Public Member Functions | |
| Heightmap (ScenePtr _scene) | |
| Constructor. More... | |
| virtual | ~Heightmap () |
| Destructor. More... | |
| bool | Flatten (CameraPtr _camera, math::Vector2i _mousePos, double _outsideRadius, double _insideRadius, double _weight=0.1) |
| Flatten the terrain based on a mouse press. More... | |
| double | GetAvgHeight (Ogre::Vector3 _pos, double _brushSize) |
| Get the average height around a point. More... | |
| double | GetHeight (double _x, double _y, double _z=1000) |
| Get the height at a location. More... | |
| common::Image | GetImage () const |
| Get the heightmap as an image. More... | |
| Ogre::TerrainGroup::RayResult | GetMouseHit (CameraPtr _camera, math::Vector2i _mousePos) |
| Calculate a mouse ray hit on the terrain. More... | |
| Ogre::TerrainGroup * | GetOgreTerrain () const |
| Get a pointer to the OGRE terrain group object. More... | |
| unsigned int | GetTerrainSubdivisionCount () const |
| Get the number of subdivision the terrain will be split into. More... | |
| void | Load () |
| Load the heightmap. More... | |
| void | LoadFromMsg (ConstVisualPtr &_msg) |
| Load the heightmap from a visual message. More... | |
| bool | Lower (CameraPtr _camera, math::Vector2i _mousePos, double _outsideRadius, double _insideRadius, double _weight=0.1) |
| Lower the terrain based on a mouse press. More... | |
| bool | Raise (CameraPtr _camera, math::Vector2i _mousePos, double _outsideRadius, double _insideRadius, double _weight=0.1) |
| Raise the terrain based on a mouse press. More... | |
| void | SetWireframe (bool _show) |
| Set the heightmap to render in wireframe mode. More... | |
| bool | Smooth (CameraPtr _camera, math::Vector2i _mousePos, double _outsideRadius, double _insideRadius, double _weight=0.1) |
| Smooth the terrain based on a mouse press. More... | |
| void | SplitHeights (const std::vector< float > &_heightmap, int _n, std::vector< std::vector< float > > &_v) |
| Split a terrain into subterrains. More... | |
Rendering a terrain using heightmap information.
| gazebo::rendering::Heightmap::Heightmap | ( | ScenePtr | _scene) |
Constructor.
| [in] | _scene | Pointer to the scene that will contain the heightmap |
|
virtual |
Destructor.
| bool gazebo::rendering::Heightmap::Flatten | ( | CameraPtr | _camera, |
| math::Vector2i | _mousePos, | ||
| double | _outsideRadius, | ||
| double | _insideRadius, | ||
| double | _weight = 0.1 |
||
| ) |
Flatten the terrain based on a mouse press.
| [in] | _camera | Camera associated with the mouse press. |
| [in] | _mousePos | Position of the mouse in viewport coordinates. |
| [in] | _outsideRadius | Controls the radius of effect. |
| [in] | _insideRadius | Controls the size of the radius with the maximum effect (value between 0 and 1). |
| [in] | _weight | Controls modification magnitude. |
| double gazebo::rendering::Heightmap::GetAvgHeight | ( | Ogre::Vector3 | _pos, |
| double | _brushSize | ||
| ) |
Get the average height around a point.
| [in] | _pos | Position in world coordinates. |
| [in] | _brushSize | Controls the radius of effect. |
| double gazebo::rendering::Heightmap::GetHeight | ( | double | _x, |
| double | _y, | ||
| double | _z = 1000 |
||
| ) |
Get the height at a location.
| [in] | _x | X location |
| [in] | _y | Y location |
| [in] | _z | Z location |
| common::Image gazebo::rendering::Heightmap::GetImage | ( | ) | const |
Get the heightmap as an image.
| Ogre::TerrainGroup::RayResult gazebo::rendering::Heightmap::GetMouseHit | ( | CameraPtr | _camera, |
| math::Vector2i | _mousePos | ||
| ) |
Calculate a mouse ray hit on the terrain.
| [in] | _camera | Camera associated with the mouse press. |
| [in] | _mousePos | Position of the mouse in viewport coordinates. |
| Ogre::TerrainGroup* gazebo::rendering::Heightmap::GetOgreTerrain | ( | ) | const |
Get a pointer to the OGRE terrain group object.
| unsigned int gazebo::rendering::Heightmap::GetTerrainSubdivisionCount | ( | ) | const |
Get the number of subdivision the terrain will be split into.
| void gazebo::rendering::Heightmap::Load | ( | ) |
Load the heightmap.
| void gazebo::rendering::Heightmap::LoadFromMsg | ( | ConstVisualPtr & | _msg) |
Load the heightmap from a visual message.
| [in] | _msg | The visual message containing heightmap info |
| bool gazebo::rendering::Heightmap::Lower | ( | CameraPtr | _camera, |
| math::Vector2i | _mousePos, | ||
| double | _outsideRadius, | ||
| double | _insideRadius, | ||
| double | _weight = 0.1 |
||
| ) |
Lower the terrain based on a mouse press.
| [in] | _camera | Camera associated with the mouse press. |
| [in] | _mousePos | Position of the mouse in viewport coordinates. |
| [in] | _outsideRadius | Controls the radius of effect. |
| [in] | _insideRadius | Controls the size of the radius with the maximum effect (value between 0 and 1). |
| [in] | _weight | Controls modification magnitude. |
| bool gazebo::rendering::Heightmap::Raise | ( | CameraPtr | _camera, |
| math::Vector2i | _mousePos, | ||
| double | _outsideRadius, | ||
| double | _insideRadius, | ||
| double | _weight = 0.1 |
||
| ) |
Raise the terrain based on a mouse press.
| [in] | _camera | Camera associated with the mouse press. |
| [in] | _mousePos | Position of the mouse in viewport coordinates. |
| [in] | _outsideRadius | Controls the radius of effect. |
| [in] | _insideRadius | Controls the size of the radius with the maximum effect (value between 0 and 1). |
| [in] | _weight | Controls modification magnitude. |
| void gazebo::rendering::Heightmap::SetWireframe | ( | bool | _show) |
Set the heightmap to render in wireframe mode.
| [in] | _show | True to render wireframe, false to render solid. |
| bool gazebo::rendering::Heightmap::Smooth | ( | CameraPtr | _camera, |
| math::Vector2i | _mousePos, | ||
| double | _outsideRadius, | ||
| double | _insideRadius, | ||
| double | _weight = 0.1 |
||
| ) |
Smooth the terrain based on a mouse press.
| [in] | _camera | Camera associated with the mouse press. |
| [in] | _mousePos | Position of the mouse in viewport coordinates. |
| [in] | _outsideRadius | Controls the radius of effect. |
| [in] | _insideRadius | Controls the size of the radius with the maximum effect (value between 0 and 1). |
| [in] | _weight | Controls modification magnitude. |
| void gazebo::rendering::Heightmap::SplitHeights | ( | const std::vector< float > & | _heightmap, |
| int | _n, | ||
| std::vector< std::vector< float > > & | _v | ||
| ) |
Split a terrain into subterrains.
| [in] | _heightmap | Source vector of floats with the heights. |
| [in] | _n | Number of subterrains. |
| [out] | _v | Destination vector with the subterrains. |