Public Member Functions | Protected Attributes | List of all members
gazebo::physics::HeightmapShape Class Reference

HeightmapShape collision shape builds a heightmap from an image. More...

#include <physics/physics.hh>

Inheritance diagram for gazebo::physics::HeightmapShape:
Inheritance graph
[legend]

Public Member Functions

 HeightmapShape (CollisionPtr _parent)
 Constructor. More...
 
virtual ~HeightmapShape ()
 Destructor. More...
 
virtual double ComputeVolume () const
 Documentation inherited. More...
 
void FillMsg (msgs::Geometry &_msg)
 Fill a geometry message with this shape's data. More...
 
float GetHeight (int _x, int _y) const
 Get a height at a position. More...
 
common::Image GetImage () const
 Return an image representation of the heightmap. More...
 
float GetMaxHeight () const
 Get the maximum height. More...
 
float GetMinHeight () const
 Get the minimum height. More...
 
math::Vector3 GetPos () const
 Get the origin in world coordinate frame. More...
 
math::Vector3 GetSize () const
 Get the size in meters. More...
 
int GetSubSampling () const
 Get the amount of subsampling. More...
 
std::string GetURI () const
 Get the URI of the heightmap image. More...
 
math::Vector2i GetVertexCount () const
 Return the number of vertices, which equals the size of the image used to load the heightmap. More...
 
virtual void Init ()
 Initialize the heightmap. More...
 
virtual void Load (sdf::ElementPtr _sdf)
 Load the heightmap. More...
 
virtual void ProcessMsg (const msgs::Geometry &_msg)
 Update the heightmap from a message. More...
 
virtual void SetScale (const math::Vector3 &_scale)
 Set the scale of the heightmap shape. More...
 
- Public Member Functions inherited from gazebo::physics::Shape
 Shape (CollisionPtr _parent)
 Constructor. More...
 
virtual ~Shape ()
 Destructor. More...
 
virtual math::Vector3 GetScale () const
 Get the scale of the shape. More...
 
- Public Member Functions inherited from gazebo::physics::Base
 Base (BasePtr _parent)
 Constructor. More...
 
virtual ~Base ()
 Destructor. More...
 
void AddChild (BasePtr _child)
 Add a child to this entity. More...
 
void AddType (EntityType _type)
 Add a type specifier. More...
 
virtual void Fini ()
 Finialize the object. More...
 
BasePtr GetByName (const std::string &_name)
 Get by name. More...
 
BasePtr GetChild (unsigned int _i) const
 Get a child by index. More...
 
BasePtr GetChild (const std::string &_name)
 Get a child by name. More...
 
unsigned int GetChildCount () const
 Get the number of children. More...
 
uint32_t GetId () const
 Return the ID of this entity. More...
 
std::string GetName () const
 Return the name of the entity. More...
 
BasePtr GetParent () const
 Get the parent. More...
 
int GetParentId () const
 Return the ID of the parent. More...
 
bool GetSaveable () const
 Get whether the object should be "saved", when the user selects to save the world to xml. More...
 
std::string GetScopedName (bool _prependWorldName=false) const
 Return the name of this entity with the model scope model1::...::modelN::entityName. More...
 
virtual const sdf::ElementPtr GetSDF ()
 Get the SDF values for the object. More...
 
unsigned int GetType () const
 Get the full type definition. More...
 
const WorldPtrGetWorld () const
 Get the World this object is in. More...
 
bool HasType (const EntityType &_t) const
 Returns true if this object's type definition has the given type. More...
 
bool IsSelected () const
 True if the entity is selected by the user. More...
 
bool operator== (const Base &_ent) const
 Returns true if the entities are the same. More...
 
void Print (const std::string &_prefix)
 Print this object to screen via gzmsg. More...
 
virtual void RemoveChild (unsigned int _id)
 Remove a child from this entity. More...
 
void RemoveChild (const std::string &_name)
 Remove a child by name. More...
 
void RemoveChildren ()
 Remove all children. More...
 
virtual void Reset ()
 Reset the object. More...
 
virtual void Reset (Base::EntityType _resetType)
 Calls recursive Reset on one of the Base::EntityType's. More...
 
virtual void SetName (const std::string &_name)
 Set the name of the entity. More...
 
void SetParent (BasePtr _parent)
 Set the parent. More...
 
void SetSaveable (bool _v)
 Set whether the object should be "saved", when the user selects to save the world to xml. More...
 
virtual bool SetSelected (bool _show)
 Set whether this entity has been selected by the user through the gui. More...
 
void SetWorld (const WorldPtr &_newWorld)
 Set the world this object belongs to. More...
 
virtual void Update ()
 Update the object. More...
 
virtual void UpdateParameters (sdf::ElementPtr _sdf)
 Update the parameters using new sdf values. More...
 

Protected Attributes

bool flipY
 True to flip the heights along the y direction. More...
 
common::HeightmapDataheightmapData
 HeightmapData used to generate the heights. More...
 
std::vector< float > heights
 Lookup table of heights. More...
 
common::ImageHeightmap img
 Image used to generate the heights. More...
 
int subSampling
 The amount of subsampling. Default is 2. More...
 
unsigned int vertSize
 Size of the height lookup table. More...
 
- Protected Attributes inherited from gazebo::physics::Shape
CollisionPtr collisionParent
 This shape's collision parent. More...
 
math::Vector3 scale
 This shape's scale;. More...
 
- Protected Attributes inherited from gazebo::physics::Base
Base_V children
 Children of this entity. More...
 
BasePtr parent
 Parent of this entity. More...
 
sdf::ElementPtr sdf
 The SDF values for this object. More...
 
WorldPtr world
 Pointer to the world. More...
 

Additional Inherited Members

- Public Types inherited from gazebo::physics::Base
enum  EntityType {
  BASE = 0x00000000, ENTITY = 0x00000001, MODEL = 0x00000002, LINK = 0x00000004,
  COLLISION = 0x00000008, ACTOR = 0x00000016, LIGHT = 0x00000010, VISUAL = 0x00000020,
  JOINT = 0x00000040, BALL_JOINT = 0x00000080, HINGE2_JOINT = 0x00000100, HINGE_JOINT = 0x00000200,
  SLIDER_JOINT = 0x00000400, SCREW_JOINT = 0x00000800, UNIVERSAL_JOINT = 0x00001000, GEARBOX_JOINT = 0x00002000,
  FIXED_JOINT = 0x00004000, SHAPE = 0x00010000, BOX_SHAPE = 0x00020000, CYLINDER_SHAPE = 0x00040000,
  HEIGHTMAP_SHAPE = 0x00080000, MAP_SHAPE = 0x00100000, MULTIRAY_SHAPE = 0x00200000, RAY_SHAPE = 0x00400000,
  PLANE_SHAPE = 0x00800000, SPHERE_SHAPE = 0x01000000, MESH_SHAPE = 0x02000000, POLYLINE_SHAPE = 0x04000000,
  SENSOR_COLLISION = 0x10000000
}
 Unique identifiers for all entity types. More...
 
- Protected Member Functions inherited from gazebo::physics::Base
void ComputeScopedName ()
 Compute the scoped name of this object based on its parents. More...
 

Detailed Description

HeightmapShape collision shape builds a heightmap from an image.

The supplied image must be square with N*N+1 pixels per side, where N is an integer.

Constructor & Destructor Documentation

gazebo::physics::HeightmapShape::HeightmapShape ( CollisionPtr  _parent)
explicit

Constructor.

Parameters
[in]_parentParent Collision object.
virtual gazebo::physics::HeightmapShape::~HeightmapShape ( )
virtual

Destructor.

Member Function Documentation

virtual double gazebo::physics::HeightmapShape::ComputeVolume ( ) const
virtual

Documentation inherited.

Reimplemented from gazebo::physics::Shape.

void gazebo::physics::HeightmapShape::FillMsg ( msgs::Geometry &  _msg)
virtual

Fill a geometry message with this shape's data.

Parameters
[in]_msgMessage to fill.

Implements gazebo::physics::Shape.

float gazebo::physics::HeightmapShape::GetHeight ( int  _x,
int  _y 
) const

Get a height at a position.

Parameters
[in]_xX position.
[in]_yY position.
Returns
The height at a the specified location.
common::Image gazebo::physics::HeightmapShape::GetImage ( ) const

Return an image representation of the heightmap.

Returns
Image where white pixels represents the highest locations, and black pixels the lowest.
float gazebo::physics::HeightmapShape::GetMaxHeight ( ) const

Get the maximum height.

Returns
The maximum height.
float gazebo::physics::HeightmapShape::GetMinHeight ( ) const

Get the minimum height.

Returns
The minimum height.
math::Vector3 gazebo::physics::HeightmapShape::GetPos ( ) const

Get the origin in world coordinate frame.

Returns
The origin in world coordinate frame.
math::Vector3 gazebo::physics::HeightmapShape::GetSize ( ) const

Get the size in meters.

Returns
The size in meters.
int gazebo::physics::HeightmapShape::GetSubSampling ( ) const

Get the amount of subsampling.

Returns
Amount of subsampling.
std::string gazebo::physics::HeightmapShape::GetURI ( ) const

Get the URI of the heightmap image.

Returns
The heightmap image URI.
math::Vector2i gazebo::physics::HeightmapShape::GetVertexCount ( ) const

Return the number of vertices, which equals the size of the image used to load the heightmap.

Returns
math::Vector2i, result.x = width, result.y = length/height.
virtual void gazebo::physics::HeightmapShape::Init ( )
virtual
virtual void gazebo::physics::HeightmapShape::Load ( sdf::ElementPtr  _sdf)
virtual

Load the heightmap.

Parameters
[in]_sdfSDF value to load from.

Reimplemented from gazebo::physics::Base.

virtual void gazebo::physics::HeightmapShape::ProcessMsg ( const msgs::Geometry &  _msg)
virtual

Update the heightmap from a message.

Parameters
[in]_msgMessage to update from.

Implements gazebo::physics::Shape.

virtual void gazebo::physics::HeightmapShape::SetScale ( const math::Vector3 _scale)
virtual

Set the scale of the heightmap shape.

Parameters
[in]_scaleScale to set the heightmap shape to.

Implements gazebo::physics::Shape.

Member Data Documentation

bool gazebo::physics::HeightmapShape::flipY
protected

True to flip the heights along the y direction.

common::HeightmapData* gazebo::physics::HeightmapShape::heightmapData
protected

HeightmapData used to generate the heights.

std::vector<float> gazebo::physics::HeightmapShape::heights
protected

Lookup table of heights.

common::ImageHeightmap gazebo::physics::HeightmapShape::img
protected

Image used to generate the heights.

int gazebo::physics::HeightmapShape::subSampling
protected

The amount of subsampling. Default is 2.

unsigned int gazebo::physics::HeightmapShape::vertSize
protected

Size of the height lookup table.


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