##

Shape Class Referenceabstract
Physics

Base class for all shapes. More...

`#include <physics/physics.hh>`

Inherits Base.

Inherited by BoxShape, CylinderShape, HeightmapShape, MapShape, MeshShape, MultiRayShape, PlaneShape, PolylineShape, RayShape, and SphereShape.

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

| Shape (CollisionPtr _parent)
| Constructor. More...
virtual | ~Shape ()
| 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
| Get the volume of this shape. More...
virtual void | FillMsg (msgs::Geometry &_msg)=0
| Fill in the values for a geometry message. 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...
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 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 ()=0
| Initialize the shape. More...
bool | IsSelected () const
| True if the entity is selected by the user. More...
virtual void | Load (sdf::ElementPtr _sdf)
| Load. 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 | ProcessMsg (const msgs::Geometry &_msg)=0
| Process a geometry 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)=0
| Set the scale of the 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...
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...

## 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...
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...
WorldPtr | world
| Pointer to the world. More...

## Detailed Description

Base class for all shapes.

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

## Shape()

Shape | ( | CollisionPtr | _parent | ) |

explicit

Constructor.

Parameters

  [in] | _parent | Parent of the shape.

## ~Shape()

virtual ~Shape | ( |  | ) |

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

Get the volume of this shape.

Implemented accurately for simple shapes; an approximation is used for meshes, polylines, etc.

Returns
  The shape volume in kg/m^3.

Reimplemented in MultiRayShape, RayShape, HeightmapShape, PlaneShape, CylinderShape, BoxShape, and SphereShape.

## FillMsg()

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

pure virtual

Fill in the values for a geometry message.

Parameters

  [out] | _msg | The geometry message to fill.

Implemented in MultiRayShape, RayShape, HeightmapShape, PlaneShape, MeshShape, CylinderShape, MapShape, BoxShape, PolylineShape, and SphereShape.

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

## GetId()

uint32_t GetId | ( |  | ) | const

inherited

Return the ID of this entity.

This id is unique.

Returns
  Integer ID.

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

## GetType()

unsigned int GetType | ( |  | ) | const

inherited

Get the full type definition.

Returns
  The full type definition.

## 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 | ( |  | ) |

pure virtual

Initialize the shape.

Reimplemented from Base.

Implemented in RayShape, MapShape, MultiRayShape, HeightmapShape, BulletHeightmapShape, DARTHeightmapShape, MeshShape, DARTMeshShape, DARTPolylineShape, DARTSphereShape, ODEMeshShape, PlaneShape, SimbodyMeshShape, BulletMeshShape, BulletPolylineShape, DARTCylinderShape, ODEPolylineShape, SimbodyHeightmapShape, SimbodyPolylineShape, DARTBoxShape, DARTPlaneShape, ODEHeightmapShape, BoxShape, SphereShape, CylinderShape, and PolylineShape.

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

Parameters

  [in] | node | Pointer to an SDF parameters

Reimplemented in ODEJoint, DARTJoint, BulletJoint, SimbodyJoint, DARTScrewJoint, Joint, Actor, Model, SimbodySliderJoint, Entity, Link, BallJoint< ODEJoint >, BallJoint< DARTJoint >, BallJoint< SimbodyJoint >, BallJoint< BulletJoint >, UniversalJoint< ODEJoint >, UniversalJoint< DARTJoint >, UniversalJoint< SimbodyJoint >, UniversalJoint< BulletJoint >, MapShape, Hinge2Joint< ODEJoint >, Hinge2Joint< DARTJoint >, Hinge2Joint< SimbodyJoint >, Hinge2Joint< BulletJoint >, HeightmapShape, BulletScrewJoint, GearboxJoint< ODEJoint >, HingeJoint< ODEJoint >, HingeJoint< DARTJoint >, HingeJoint< SimbodyJoint >, HingeJoint< BulletJoint >, Collision, ScrewJoint< ODEJoint >, ScrewJoint< DARTJoint >, ScrewJoint< SimbodyJoint >, ScrewJoint< BulletJoint >, Road, SliderJoint< ODEJoint >, SliderJoint< DARTJoint >, SliderJoint< SimbodyJoint >, SliderJoint< BulletJoint >, BulletBallJoint, BulletHinge2Joint, DARTModel, ODECollision, FixedJoint< ODEJoint >, FixedJoint< DARTJoint >, FixedJoint< SimbodyJoint >, FixedJoint< BulletJoint >, BulletUniversalJoint, DARTCollision, ODEHinge2Joint, ODEHingeJoint, ODESliderJoint, SimbodyFixedJoint, SimbodyUniversalJoint, ODEGearboxJoint, SimbodyScrewJoint, BulletFixedJoint, BulletHingeJoint, BulletSliderJoint, SimbodyHinge2Joint, SimbodyHingeJoint, DARTMeshShape, ODELink, DARTPolylineShape, DARTUniversalJoint, ODEFixedJoint, ODEMeshShape, ODEScrewJoint, SimbodyBallJoint, SimbodyMeshShape, BulletMeshShape, BulletPolylineShape, DARTBallJoint, DARTFixedJoint, DARTHinge2Joint, DARTHingeJoint, DARTSliderJoint, ODEPolylineShape, SimbodyModel, SimbodyPolylineShape, BulletCollision, SimbodyCollision, DARTLink, SimbodyLink, and BulletLink.

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

## 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 | ) |

pure virtual

Process a geometry message.

Parameters

  [in] | _msg | The message to set values from.

Implemented in MultiRayShape, RayShape, HeightmapShape, PlaneShape, MeshShape, CylinderShape, MapShape, BoxShape, PolylineShape, and SphereShape.

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

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

pure virtual

Set the scale of the shape.

Parameters

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

Implemented in RayShape, MapShape, PlaneShape, MeshShape, CylinderShape, MultiRayShape, HeightmapShape, SphereShape, and BoxShape.

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

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

## Member Data Documentation

## children

Base_V children

protected inherited

Children of this entity.

## collisionParent

CollisionPtr collisionParent

protected

This shape's collision parent.

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

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

This shape's scale;.

## sdf

sdf::ElementPtr sdf

protected inherited

The SDF values for this object.

## world

WorldPtr world

protected inherited

Pointer to the world.

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

- Shape.hh