##

SimbodyHeightmapShape Class Reference
Physics » Simbody Physics

Height map collision. More...

`#include <SimbodyHeightmapShape.hh>`

Inherits HeightmapShape.

## Public Types

enum

EntityType {
BASE = 0x00000000, ENTITY = 0x00000001, MODEL = 0x00000002, LINK = 0x00000004,
COLLISION = 0x00000008, 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,
ACTOR = 0x00008000, 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...

## Public Member Functions

| SimbodyHeightmapShape (CollisionPtr _parent)
| Constructor. More...
virtual | ~SimbodyHeightmapShape ()
| Destructor. More...
void | AddChild (BasePtr _child)
| Add a child to this entity. More...
void | AddType (EntityType _type)
| Add a type specifier. More...
virtual double | ComputeVolume () const
| Documentation inherited. More...
void | FillHeights (msgs::Geometry &_msg) const
| Fill a geometry message with this shape's height data. More...
void | FillMsg (msgs::Geometry &_msg)
| Fill a geometry message with this shape's data. More...
virtual void | Fini ()
| Finialize the object. More...
BasePtr | GetByName (const std::string &_name)
| Get by name. More...
BasePtr | GetChild (const std::string &_name)
| Get a child by name. More...
BasePtr | GetChild (unsigned int _i) const
| Get a child by index. More...
unsigned int | GetChildCount () const
| Get the number of children. More...
float | GetHeight (int _x, int _y) const
| Get a height at a position. More...
uint32_t | GetId () const
| Return the ID of this entity. 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...
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...
int | GetSubSampling () const
| Get the amount of subsampling. More...
unsigned int | GetType () const
| Get the full type definition. More...
std::string | GetURI () const
| Get the URI of the heightmap image. More...
const WorldPtr & | GetWorld () 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...
virtual void | Init ()
| Initialize the heightmap. More...
bool | IsSelected () const
| True if the entity is selected by the user. More...
virtual void | Load (sdf::ElementPtr _sdf)
| Load the heightmap. More...
bool | operator== (const Base &_ent) const
| Returns true if the entities are the same. More...
ignition::math::Vector3d | Pos () const
| Get the origin in world coordinate frame. More...
void | Print (const std::string &_prefix)
| Print this object to screen via gzmsg. More...
virtual void | ProcessMsg (const msgs::Geometry &_msg)
| Update the heightmap from a message. More...
void | RemoveChild (const std::string &_name)
| Remove a child by name. More...
void | RemoveChild (physics::BasePtr _child)
| Remove a child by pointer. More...
virtual void | RemoveChild (unsigned int _id)
| Remove a child from this entity. 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 ignition::math::Vector3d | Scale () const
| Get the scale of the shape. 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 void | SetScale (const ignition::math::Vector3d &_scale)
| Set the scale of the heightmap shape. 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...
ignition::math::Vector3d | Size () const
| Get the size in meters. More...
std::string | TypeStr () const
| Get the string name for the entity type. More...
virtual void | Update ()
| Update the object. More...
virtual void | UpdateParameters (sdf::ElementPtr _sdf)
| Update the parameters using new sdf values. More...
common::URI | URI () const
| Return the common::URI of this entity. More...
ignition::math::Vector2i | VertexCount () const
| Return the number of vertices, which equals the size of the image used to load the heightmap. More...

## Protected Member Functions

void | ComputeScopedName ()
| Compute the scoped name of this object based on its parents. More...
virtual void | RegisterIntrospectionItems ()
| Register items in the introspection service. More...
virtual void | UnregisterIntrospectionItems ()
| Unregister items in the introspection service. More...

## Protected Attributes

Base_V | children
| Children of this entity. More...
CollisionPtr | collisionParent
| This shape's collision parent. More...
bool | flipY
| True to flip the heights along the y direction. More...
common::HeightmapData * | heightmapData
| 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...
std::vector< common::URI > | introspectionItems
| All the introspection items regsitered for this. More...
BasePtr | parent
| Parent of this entity. More...
ignition::math::Vector3d | scale = ignition::math::Vector3d::One
| This shape's scale;. More...
sdf::ElementPtr | sdf
| The SDF values for this object. More...
int | subSampling
| The amount of subsampling. Default is 2. More...
unsigned int | vertSize
| Size of the height lookup table. More...
WorldPtr | world
| Pointer to the world. More...

## Detailed Description

Height map collision.

## Member Enumeration Documentation

## EntityType

enum EntityType

inherited

Unique identifiers for all entity types.

Enumerator
BASE | Base type.
ENTITY | Entity type.
MODEL | Model type.
LINK | Link type.
COLLISION | Collision type.
LIGHT | Light type.
VISUAL | Visual type.
JOINT | Joint type.
BALL_JOINT | BallJoint type.
HINGE2_JOINT | Hing2Joint type.
HINGE_JOINT | HingeJoint type.
SLIDER_JOINT | SliderJoint type.
SCREW_JOINT | ScrewJoint type.
UNIVERSAL_JOINT | UniversalJoint type.
GEARBOX_JOINT | GearboxJoint type.
FIXED_JOINT | FixedJoint type.
ACTOR | Actor type.
SHAPE | Shape type.
BOX_SHAPE | BoxShape type.
CYLINDER_SHAPE | CylinderShape type.
HEIGHTMAP_SHAPE | HeightmapShape type.
MAP_SHAPE | MapShape type.
MULTIRAY_SHAPE | MultiRayShape type.
RAY_SHAPE | RayShape type.
PLANE_SHAPE | PlaneShape type.
SPHERE_SHAPE | SphereShape type.
MESH_SHAPE | MeshShape type.
POLYLINE_SHAPE | PolylineShape type.
SENSOR_COLLISION | Indicates a collision shape used for sensing.

## Constructor & Destructor Documentation

## SimbodyHeightmapShape()

SimbodyHeightmapShape | ( | CollisionPtr | _parent | ) |

explicit

Constructor.

## ~SimbodyHeightmapShape()

virtual ~SimbodyHeightmapShape | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## AddChild()

void AddChild | ( | BasePtr | _child | ) |

inherited

Add a child to this entity.

Parameters

  [in] | _child | Child entity.

## AddType()

void AddType | ( | EntityType | _type | ) |

inherited

Add a type specifier.

Parameters

  [in] | _type | New type to append to this objects type definition.

## ComputeScopedName()

void ComputeScopedName | ( |  | ) |

protected inherited

Compute the scoped name of this object based on its parents.

See also
  Base::GetScopedName

## ComputeVolume()

virtual double ComputeVolume | ( |  | ) | const

virtual inherited

Documentation inherited.

Reimplemented from Shape.

## FillHeights()

void FillHeights | ( | msgs::Geometry & | _msg | ) | const

inherited

Fill a geometry message with this shape's height data.

Parameters

  [in] | _msg | Message to fill.

## FillMsg()

void FillMsg | ( | msgs::Geometry & | _msg | ) |

virtual inherited

Fill a geometry message with this shape's data.

Raw height data are not packed in this message to minimize packet size.

Parameters

  [in] | _msg | Message to fill.

See also
  FillHeights

Implements Shape.

## Fini()

virtual void Fini | ( |  | ) |

virtual inherited

Finialize the object.

Reimplemented in ODEJoint, BulletJoint, Joint, Actor, Model, Link, Entity, DARTModel, Road, DARTCollision, DARTLink, ODECollision, SimbodyLink, BulletLink, ODELink, and Collision.

## GetByName()

BasePtr GetByName | ( | const std::string & | _name | ) |

inherited

Get by name.

Parameters

  [in] | _name | Get a child (or self) object by name

Returns
  A pointer to the object, NULL if not found

## GetChild() [1/2]

BasePtr GetChild | ( | const std::string & | _name | ) |

inherited

Get a child by name.

Parameters

  [in] | _name | Name of the child.

Returns
  A pointer to the object, NULL if not found

## GetChild() [2/2]

BasePtr GetChild | ( | unsigned int | _i | ) | const

inherited

Get a child by index.

Parameters

  [in] | _i | Index of the child to retreive.

Returns
  A pointer to the object, NULL if the index is invalid.

## GetChildCount()

unsigned int GetChildCount | ( |  | ) | const

inherited

Get the number of children.

Returns
  The number of children.

## GetHeight()

float GetHeight | ( | int | _x,
|  | int | _y
| ) |  | const

inherited

Get a height at a position.

Parameters

  [in] | _x | X position.
  [in] | _y | Y position.

Returns
  The height at a the specified location.

## GetId()

uint32_t GetId | ( |  | ) | const

inherited

Return the ID of this entity.

This id is unique.

Returns
  Integer ID.

## GetImage()

common::Image GetImage | ( |  | ) | const

inherited

Return an image representation of the heightmap.

Returns
  Image where white pixels represents the highest locations, and black pixels the lowest.

## GetMaxHeight()

float GetMaxHeight | ( |  | ) | const

inherited

Get the maximum height.

Returns
  The maximum height.

## GetMinHeight()

float GetMinHeight | ( |  | ) | const

inherited

Get the minimum height.

Returns
  The minimum height.

## GetName()

std::string GetName | ( |  | ) | const

inherited

Return the name of the entity.

Returns
  Name of the entity.

## GetParent()

BasePtr GetParent | ( |  | ) | const

inherited

Get the parent.

Returns
  Pointer to the parent entity.

## GetParentId()

int GetParentId | ( |  | ) | const

inherited

Return the ID of the parent.

Returns
  Integer ID.

## GetSaveable()

bool GetSaveable | ( |  | ) | const

inherited

Get whether the object should be "saved", when the user selects to save the world to xml.

Returns
  True if the object is saveable.

## GetScopedName()

std::string GetScopedName | ( | bool | _prependWorldName = `false` | ) | const

inherited

Return the name of this entity with the model scope model1::...::modelN::entityName.

Parameters

  [in] | _prependWorldName | True to prended the returned string with the world name. The result will be world::model1::...::modelN::entityName.

Returns
  The scoped name.

## GetSDF()

virtual const sdf::ElementPtr GetSDF | ( |  | ) |

virtual inherited

Get the SDF values for the object.

Returns
  The SDF values for the object.

Reimplemented in Actor, and Model.

## GetSubSampling()

int GetSubSampling | ( |  | ) | const

inherited

Get the amount of subsampling.

Returns
  Amount of subsampling.

## GetType()

unsigned int GetType | ( |  | ) | const

inherited

Get the full type definition.

Returns
  The full type definition.

## GetURI()

std::string GetURI | ( |  | ) | const

inherited

Get the URI of the heightmap image.

Returns
  The heightmap image URI.

## GetWorld()

const WorldPtr& GetWorld | ( |  | ) | const

inherited

Get the World this object is in.

Returns
  The World this object is part of.

## HasType()

bool HasType | ( | const EntityType & | _t | ) | const

inherited

Returns true if this object's type definition has the given type.

Parameters

  [in] | _t | Type to check.

Returns
  True if this object's type definition has the.

## Init()

virtual void Init | ( |  | ) |

virtual

Initialize the heightmap.

Reimplemented from HeightmapShape.

## IsSelected()

bool IsSelected | ( |  | ) | const

inherited

True if the entity is selected by the user.

Returns
  True if the entity is selected.

## Load()

virtual void Load | ( | sdf::ElementPtr | _sdf | ) |

virtual inherited

Load the heightmap.

Parameters

  [in] | _sdf | SDF value to load from.

Reimplemented from Base.

## operator==()

bool operator== | ( | const Base & | _ent | ) | const

inherited

Returns true if the entities are the same.

Checks only the name.

Parameters

  [in] | _ent | Base object to compare with.

Returns
  True if the entities are the same.

## Pos()

ignition::math::Vector3d Pos | ( |  | ) | const

inherited

Get the origin in world coordinate frame.

Returns
  The origin in world coordinate frame.

## Print()

void Print | ( | const std::string & | _prefix | ) |

inherited

Print this object to screen via gzmsg.

Parameters

  [in] | _prefix | Usually a set of spaces.

## ProcessMsg()

virtual void ProcessMsg | ( | const msgs::Geometry & | _msg | ) |

virtual inherited

Update the heightmap from a message.

Parameters

  [in] | _msg | Message to update from.

Implements Shape.

## RegisterIntrospectionItems()

virtual void RegisterIntrospectionItems | ( |  | ) |

protected virtual inherited

Register items in the introspection service.

Reimplemented in Link, Joint, and Model.

## RemoveChild() [1/3]

void RemoveChild | ( | const std::string & | _name | ) |

inherited

Remove a child by name.

Parameters

  [in] | _name | Name of the child.

## RemoveChild() [2/3]

void RemoveChild | ( | physics::BasePtr | _child | ) |

inherited

Remove a child by pointer.

Parameters

  [in] | _child | Pointer to the child.

## RemoveChild() [3/3]

virtual void RemoveChild | ( | unsigned int | _id | ) |

virtual inherited

Remove a child from this entity.

Parameters

  [in] | _id | ID of the child to remove.

## RemoveChildren()

void RemoveChildren | ( |  | ) |

inherited

Remove all children.

## Reset() [1/2]

virtual void Reset | ( |  | ) |

virtual inherited

Reset the object.

Reimplemented in ODEJoint, DARTJoint, BulletJoint, SimbodyJoint, Joint, Actor, Model, Link, and Entity.

## Reset() [2/2]

virtual void Reset | ( | Base::EntityType | _resetType | ) |

virtual inherited

Calls recursive Reset on one of the Base::EntityType's.

Parameters

  [in] | _resetType | The type of reset operation

## Scale()

virtual ignition::math::Vector3d Scale | ( |  | ) | const

virtual inherited

Get the scale of the shape.

Returns
  Scale of the shape.

Reimplemented in MapShape.

## SetName()

virtual void SetName | ( | const std::string & | _name | ) |

virtual inherited

Set the name of the entity.

Parameters

  [in] | _name | New name.

Reimplemented in Entity.

## SetParent()

void SetParent | ( | BasePtr | _parent | ) |

inherited

Set the parent.

Parameters

  [in] | _parent | Parent object.

## SetSaveable()

void SetSaveable | ( | bool | _v | ) |

inherited

Set whether the object should be "saved", when the user selects to save the world to xml.

Parameters

  [in] | _v | Set to True if the object should be saved.

## SetScale()

virtual void SetScale | ( | const ignition::math::Vector3d & | _scale | ) |

virtual inherited

Set the scale of the heightmap shape.

Parameters

  [in] | _scale | Scale to set the heightmap shape to.

Implements Shape.

## SetSelected()

virtual bool SetSelected | ( | bool | _show | ) |

virtual inherited

Set whether this entity has been selected by the user through the gui.

Parameters

  [in] | _show | True to set this entity as selected.

Reimplemented in Link.

## SetWorld()

void SetWorld | ( | const WorldPtr & | _newWorld | ) |

inherited

Set the world this object belongs to.

This will also set the world for all children.

Parameters

  [in] | _newWorld | The new World this object is part of.

## Size()

ignition::math::Vector3d Size | ( |  | ) | const

inherited

Get the size in meters.

Returns
  The size in meters.

## TypeStr()

std::string TypeStr | ( |  | ) | const

inherited

Get the string name for the entity type.

Returns
  The string name for this entity.

## UnregisterIntrospectionItems()

virtual void UnregisterIntrospectionItems | ( |  | ) |

protected virtual inherited

Unregister items in the introspection service.

## Update()

virtual void Update | ( |  | ) |

inline virtual inherited

Update the object.

Reimplemented in RayShape, MultiRayShape, Joint, Actor, Model, DARTModel, MapShape, DARTRayShape, ODERayShape, DARTMeshShape, ODEMeshShape, ODEPolylineShape, SimbodyRayShape, BulletRayShape, and MeshShape.

## UpdateParameters()

virtual void UpdateParameters | ( | sdf::ElementPtr | _sdf | ) |

virtual inherited

Update the parameters using new sdf values.

Parameters

  [in] | _sdf | Update the object's parameters based on SDF values.

Reimplemented in Joint, Actor, Model, Link, Entity, and Collision.

## URI()

common::URI URI | ( |  | ) | const

inherited

Return the common::URI of this entity.

The URI includes the world where the entity is contained and all the hierarchy of sub-entities that can compose this entity. E.g.: A link entity contains the name of the link and the model where the link is contained.

Returns
  The URI of this entity.

## VertexCount()

ignition::math::Vector2i VertexCount | ( |  | ) | const

inherited

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

Returns
  ignition::math::Vector2i, result.X() == width, result.Y() == length/height.

## Member Data Documentation

## children

Base_V children

protected inherited

Children of this entity.

## collisionParent

CollisionPtr collisionParent

protected inherited

This shape's collision parent.

Referenced by ODEPlaneShape::CreatePlane(), BulletPlaneShape::CreatePlane(), ODEPlaneShape::SetAltitude(), SimbodySphereShape::SetRadius(), ODESphereShape::SetRadius(), BulletSphereShape::SetRadius(), ODECylinderShape::SetSize(), SimbodyBoxShape::SetSize(), SimbodyCylinderShape::SetSize(), BulletCylinderShape::SetSize(), ODEBoxShape::SetSize(), and BulletBoxShape::SetSize().

## flipY

bool flipY

protected inherited

True to flip the heights along the y direction.

## heightmapData

common::HeightmapData* heightmapData

protected inherited

HeightmapData used to generate the heights.

## heights

std::vector<float> heights

protected inherited

Lookup table of heights.

## img

common::ImageHeightmap img

protected inherited

Image used to generate the heights.

## introspectionItems

std::vector<common::URI> introspectionItems

protected inherited

All the introspection items regsitered for this.

## parent

BasePtr parent

protected inherited

Parent of this entity.

## scale

ignition::math::Vector3d scale = ignition::math::Vector3d::One

protected inherited

This shape's scale;.

## sdf

sdf::ElementPtr sdf

protected inherited

The SDF values for this object.

## subSampling

int subSampling

protected inherited

The amount of subsampling. Default is 2.

## vertSize

unsigned int vertSize

protected inherited

Size of the height lookup table.

## world

WorldPtr world

protected inherited

Pointer to the world.

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

- SimbodyHeightmapShape.hh