All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Attributes | List of all members
gazebo::rendering::Heightmap Class Reference

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...
 
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...
 

Static Public Attributes

static const unsigned int NumTerrainSubdivisions
 Number of pieces in which a terrain is subdivided for paging. More...
 

Detailed Description

Rendering a terrain using heightmap information.

Constructor & Destructor Documentation

gazebo::rendering::Heightmap::Heightmap ( ScenePtr  _scene)

Constructor.

Parameters
[in]_scenePointer to the scene that will contain the heightmap
virtual gazebo::rendering::Heightmap::~Heightmap ( )
virtual

Destructor.

Member Function Documentation

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.

Parameters
[in]_cameraCamera associated with the mouse press.
[in]_mousePosPosition of the mouse in viewport coordinates.
[in]_outsideRadiusControls the radius of effect.
[in]_insideRadiusControls the size of the radius with the maximum effect (value between 0 and 1).
[in]_weightControls modification magnitude.
Returns
True if the terrain was modified
double gazebo::rendering::Heightmap::GetAvgHeight ( Ogre::Vector3  _pos,
double  _brushSize 
)

Get the average height around a point.

Parameters
[in]_posPosition in world coordinates.
[in]_brushSizeControls the radius of effect.
double gazebo::rendering::Heightmap::GetHeight ( double  _x,
double  _y,
double  _z = 1000 
)

Get the height at a location.

Parameters
[in]_xX location
[in]_yY location
[in]_zZ location
Returns
The height at the specified location
common::Image gazebo::rendering::Heightmap::GetImage ( ) const

Get the heightmap as an image.

Returns
An image that contains the terrain data.
Ogre::TerrainGroup::RayResult gazebo::rendering::Heightmap::GetMouseHit ( CameraPtr  _camera,
math::Vector2i  _mousePos 
)

Calculate a mouse ray hit on the terrain.

Parameters
[in]_cameraCamera associated with the mouse press.
[in]_mousePosPosition of the mouse in viewport coordinates.
Returns
The result of the mouse ray hit.
Ogre::TerrainGroup* gazebo::rendering::Heightmap::GetOgreTerrain ( ) const

Get a pointer to the OGRE terrain group object.

Returns
Pointer to the OGRE terrain.
void gazebo::rendering::Heightmap::Load ( )

Load the heightmap.

void gazebo::rendering::Heightmap::LoadFromMsg ( ConstVisualPtr &  _msg)

Load the heightmap from a visual message.

Parameters
[in]_msgThe 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.

Parameters
[in]_cameraCamera associated with the mouse press.
[in]_mousePosPosition of the mouse in viewport coordinates.
[in]_outsideRadiusControls the radius of effect.
[in]_insideRadiusControls the size of the radius with the maximum effect (value between 0 and 1).
[in]_weightControls modification magnitude.
Returns
True if the terrain was modified
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.

Parameters
[in]_cameraCamera associated with the mouse press.
[in]_mousePosPosition of the mouse in viewport coordinates.
[in]_outsideRadiusControls the radius of effect.
[in]_insideRadiusControls the size of the radius with the maximum effect (value between 0 and 1).
[in]_weightControls modification magnitude.
Returns
True if the terrain was modified
void gazebo::rendering::Heightmap::SetWireframe ( bool  _show)

Set the heightmap to render in wireframe mode.

Parameters
[in]_showTrue 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.

Parameters
[in]_cameraCamera associated with the mouse press.
[in]_mousePosPosition of the mouse in viewport coordinates.
[in]_outsideRadiusControls the radius of effect.
[in]_insideRadiusControls the size of the radius with the maximum effect (value between 0 and 1).
[in]_weightControls modification magnitude.
Returns
True if the terrain was modified
void gazebo::rendering::Heightmap::SplitHeights ( const std::vector< float > &  _heightmap,
int  _n,
std::vector< std::vector< float > > &  _v 
)

Split a terrain into subterrains.

Parameters
[in]_heightmapSource vector of floats with the heights.
[in]_nNumber of subterrains.
[out]_vDestination vector with the subterrains.

Member Data Documentation

const unsigned int gazebo::rendering::Heightmap::NumTerrainSubdivisions
static

Number of pieces in which a terrain is subdivided for paging.


The documentation for this class was generated from the following file: