Triangle mesh collision. More...
#include <BulletMeshShape.hh>
Inherits MeshShape.
Public Types | |
| 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... | |
Public Member Functions | |
| BulletMeshShape (CollisionPtr _parent) | |
| Constructor.  More... | |
| virtual | ~BulletMeshShape () | 
| 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... | |
| void | FillMsg (msgs::Geometry &_msg) | 
| Populate a msgs::Geometry message with data from this shape.  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 | GetMeshURI () const | 
| Get the URI of the mesh data.  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... | |
| virtual math::Vector3 | GetScale () const | 
| Get the scale of the shape.  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... | |
| virtual math::Vector3 | GetSize () const | 
| Get the size of the triangle mesh.  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... | |
| bool | IsSelected () const | 
| True if the entity is selected by the user.  More... | |
| virtual void | Load (sdf::ElementPtr _sdf) | 
| Load the trimesh.  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) | 
| Update this shape from a message.  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 | RemoveChild (physics::BasePtr _child) | 
| Remove a child by pointer.  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... | |
| void | SetMesh (const std::string &_uri, const std::string &_submesh="", bool _center=false) | 
| Set the mesh uri and submesh name.  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... | |
| void | SetScale (const math::Vector3 &_scale) | 
| Set the scaling factor.  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 tri mesh.  More... | |
| virtual void | UpdateParameters (sdf::ElementPtr _sdf) | 
| Update the parameters using new sdf values.  More... | |
Protected Member Functions | |
| void | ComputeScopedName () | 
| Compute the scoped name of this object based on its parents.  More... | |
| virtual void | Init () | 
| Initialize the mesh shape.  More... | |
Protected Attributes | |
| Base_V | children | 
| Children of this entity.  More... | |
| CollisionPtr | collisionParent | 
| This shape's collision parent.  More... | |
| const common::Mesh * | mesh | 
| Pointer to the mesh data.  More... | |
| BasePtr | parent | 
| Parent of this entity.  More... | |
| math::Vector3 | scale | 
| This shape's scale;.  More... | |
| sdf::ElementPtr | sdf | 
| The SDF values for this object.  More... | |
| common::SubMesh * | submesh | 
| The submesh to use from within the parent mesh.  More... | |
| WorldPtr | world | 
| Pointer to the world.  More... | |
Triangle mesh collision.
      
  | 
  inherited | 
Unique identifiers for all entity types.
| Enumerator | |
|---|---|
| BASE | Base type.  | 
| ENTITY | Entity type.  | 
| MODEL | Model type.  | 
| LINK | Link type.  | 
| COLLISION | Collision type.  | 
| ACTOR | Actor 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.  | 
| 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.  | 
| BulletMeshShape | ( | CollisionPtr | _parent | ) | 
Constructor.
      
  | 
  virtual | 
Destructor.
      
  | 
  inherited | 
      
  | 
  inherited | 
Add a type specifier.
| [in] | _type | New type to append to this objects type definition. | 
Referenced by Base::Update().
      
  | 
  protectedinherited | 
Compute the scoped name of this object based on its parents.
Referenced by Base::Update().
      
  | 
  virtualinherited | 
Get the volume of this shape.
Implemented accurately for simple shapes; an approximation is used for meshes, polylines, etc.
Reimplemented in MultiRayShape, RayShape, HeightmapShape, PlaneShape, CylinderShape, SphereShape, and BoxShape.
      
  | 
  virtualinherited | 
Populate a msgs::Geometry message with data from this shape.
| [out] | _msg | Message to fill. | 
Implements Shape.
Referenced by MeshShape::Update().
      
  | 
  virtualinherited | 
Finialize the object.
Reimplemented in Joint, Actor, Link, Model, Entity, DARTModel, ODEJoint, BulletLink, Road, DARTCollision, DARTLink, ODECollision, Collision, SimbodyLink, BulletJoint, and ODELink.
      
  | 
  inherited | 
Get by name.
| [in] | _name | Get a child (or self) object by name | 
Referenced by Base::Update().
      
  | 
  inherited | 
Get a child by index.
| [in] | _i | Index of the child to retreive. | 
Referenced by Base::Update().
      
  | 
  inherited | 
Get a child by name.
| [in] | _name | Name of the child. | 
      
  | 
  inherited | 
      
  | 
  inherited | 
      
  | 
  inherited | 
      
  | 
  inherited | 
      
  | 
  inherited | 
      
  | 
  inherited | 
      
  | 
  inherited | 
Get whether the object should be "saved", when the user selects to save the world to xml.
Referenced by Base::Update().
      
  | 
  virtualinherited | 
      
  | 
  inherited | 
Return the name of this entity with the model scope model1::...::modelN::entityName.
| [in] | _prependWorldName | True to prended the returned string with the world name. The result will be world::model1::...::modelN::entityName. | 
Referenced by Base::Update().
      
  | 
  virtualinherited | 
Get the SDF values for the object.
Reimplemented in Actor, and Model.
Referenced by Base::Update().
      
  | 
  virtualinherited | 
Get the size of the triangle mesh.
Referenced by MeshShape::Update().
      
  | 
  inherited | 
      
  | 
  inherited | 
Get the World this object is in.
Referenced by Base::Update().
      
  | 
  inherited | 
Returns true if this object's type definition has the given type.
| [in] | _t | Type to check. | 
Referenced by Base::Update().
      
  | 
  protectedvirtual | 
Initialize the mesh shape.
Reimplemented from MeshShape.
      
  | 
  inherited | 
True if the entity is selected by the user.
Referenced by Base::Update().
      
  | 
  virtual | 
Load the trimesh.
Reimplemented from Base.
      
  | 
  inherited | 
Returns true if the entities are the same.
Checks only the name.
| [in] | _ent | Base object to compare with. | 
Referenced by Base::Update().
      
  | 
  inherited | 
Print this object to screen via gzmsg.
| [in] | _prefix | Usually a set of spaces. | 
Referenced by Base::Update().
      
  | 
  virtualinherited | 
Update this shape from a message.
| [in] | _msg | Message that contains triangle mesh info. | 
Implements Shape.
Referenced by MeshShape::Update().
      
  | 
  virtualinherited | 
Remove a child from this entity.
| [in] | _id | ID of the child to remove. | 
Referenced by Base::Update().
      
  | 
  inherited | 
Remove a child by name.
| [in] | _name | Name of the child. | 
      
  | 
  inherited | 
Remove a child by pointer.
| [in] | _child | Pointer to the child. | 
      
  | 
  inherited | 
Remove all children.
Referenced by Base::Update().
      
  | 
  virtualinherited | 
Reset the object.
Reimplemented in Joint, Model, Link, Entity, ODEJoint, DARTJoint, BulletJoint, and SimbodyJoint.
Referenced by Base::Init().
      
  | 
  virtualinherited | 
Calls recursive Reset on one of the Base::EntityType's.
| [in] | _resetType | The type of reset operation | 
      
  | 
  inherited | 
Set the mesh uri and submesh name.
| [in] | _uri | Filename of the mesh file to load from. | 
| [in] | _submesh | Name of the submesh to use within the mesh | 
| [in] | _center | True to center the submesh. specified in the _uri. | 
Referenced by MeshShape::Update().
      
  | 
  virtualinherited | 
Set the name of the entity.
| [in] | _name | New name. | 
Reimplemented in Entity.
Referenced by Base::Update().
      
  | 
  inherited | 
      
  | 
  inherited | 
Set whether the object should be "saved", when the user selects to save the world to xml.
| [in] | _v | Set to True if the object should be saved. | 
Referenced by Base::Update().
      
  | 
  virtualinherited | 
Set the scaling factor.
| [in] | _scale | Scaling factor. | 
Implements Shape.
Referenced by MeshShape::Update().
      
  | 
  virtualinherited | 
Set whether this entity has been selected by the user through the gui.
| [in] | _show | True to set this entity as selected. | 
Reimplemented in Link.
Referenced by Base::Update().
      
  | 
  inherited | 
Set the world this object belongs to.
This will also set the world for all children.
| [in] | _newWorld | The new World this object is part of. | 
Referenced by Base::Update().
      
  | 
  inlinevirtualinherited | 
Update the tri mesh.
Reimplemented from Base.
Reimplemented in DARTMeshShape, and ODEMeshShape.
References MeshShape::FillMsg(), MeshShape::GetMeshURI(), MeshShape::GetSize(), MeshShape::Init(), MeshShape::ProcessMsg(), MeshShape::SetMesh(), and MeshShape::SetScale().
      
  | 
  virtualinherited | 
      
  | 
  protectedinherited | 
Children of this entity.
      
  | 
  protectedinherited | 
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(), BulletBoxShape::SetSize(), ODEBoxShape::SetSize(), and BulletCylinderShape::SetSize().
      
  | 
  protectedinherited | 
Pointer to the mesh data.
      
  | 
  protectedinherited | 
Parent of this entity.
      
  | 
  protectedinherited | 
This shape's scale;.
      
  | 
  protectedinherited | 
The SDF values for this object.
      
  | 
  protectedinherited | 
The submesh to use from within the parent mesh.
      
  | 
  protectedinherited | 
Pointer to the world.