Base class for most physics classes. More...
#include <physics/physics.hh>
Inherits enable_shared_from_this< Base >.
Inherited by Entity, Joint, Road, and Shape.
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 | |
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 | GetByIdRecursive (unsigned int _id) |
This is an internal function. 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 () |
Initialize the object. 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... | |
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... | |
ignition::math::Pose3d | SDFPoseRelativeToParent () const |
Get the SDF pose of the object according to the sdf 1.6 convention. More... | |
virtual std::optional< sdf::SemanticPose > | SDFSemanticPose () const |
Get the SDF SemanticPose object associated with the pose of this object. 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... | |
std::string | StripParentScopedName (const std::string &_name) const |
Return a short version of the name with "ParentScopedName::" removed. More... | |
std::string | StripScopedName (const std::string &_name) const |
Return a short version of the name with "ScopedName::" removed. 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... | |
std::vector< common::URI > | introspectionItems |
All the introspection items regsitered for this. 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... | |
Base class for most physics classes.
enum EntityType |
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. |
|
virtual |
Destructor.
void AddChild | ( | BasePtr | _child | ) |
Add a child to this entity.
[in] | _child | Child entity. |
void AddType | ( | EntityType | _type | ) |
Add a type specifier.
[in] | _type | New type to append to this objects type definition. |
|
protected |
Compute the scoped name of this object based on its parents.
|
virtual |
Finialize the object.
Reimplemented in ODEJoint, Model, Link, Joint, Collision, BulletJoint, SimbodyLink, Road, ODELink, ODECollision, Entity, DARTModel, DARTLink, DARTCollision, BulletLink, and Actor.
BasePtr GetByIdRecursive | ( | unsigned int | _id | ) |
This is an internal function.
Recursively get descendent or self by id.
[in] | _id | ID of the object to retreive. |
BasePtr GetByName | ( | const std::string & | _name | ) |
Get by name.
[in] | _name | Get a child (or self) object by name |
BasePtr GetChild | ( | const std::string & | _name | ) |
Get a child by name.
[in] | _name | Name of the child. |
BasePtr GetChild | ( | unsigned int | _i | ) | const |
Get a child by index.
[in] | _i | Index of the child to retreive. |
unsigned int GetChildCount | ( | ) | const |
Get the number of children.
uint32_t GetId | ( | ) | const |
Return the ID of this entity.
This id is unique.
std::string GetName | ( | ) | const |
Return the name of the entity.
BasePtr GetParent | ( | ) | const |
Get the parent.
int GetParentId | ( | ) | const |
Return the ID of the parent.
bool GetSaveable | ( | ) | const |
Get whether the object should be "saved", when the user selects to save the world to xml.
std::string GetScopedName | ( | bool | _prependWorldName = false | ) | const |
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. |
|
virtual |
unsigned int GetType | ( | ) | const |
Get the full type definition.
const WorldPtr& GetWorld | ( | ) | const |
bool HasType | ( | const EntityType & | _t | ) | const |
Returns true if this object's type definition has the given type.
[in] | _t | Type to check. |
|
inlinevirtual |
Initialize the object.
Reimplemented in Shape, Model, Link, Light, Joint, DARTScrewJoint, DARTJoint, Collision, BulletJoint, UniversalJoint< ODEJoint >, UniversalJoint< DARTJoint >, UniversalJoint< SimbodyJoint >, UniversalJoint< BulletJoint >, SphereShape, SimbodyPolylineShape, SimbodyModel, SimbodyMeshShape, SimbodyLink, SimbodyHeightmapShape, ScrewJoint< ODEJoint >, ScrewJoint< DARTJoint >, ScrewJoint< SimbodyJoint >, ScrewJoint< BulletJoint >, Road, RayShape, PolylineShape, PlaneShape, ODEPolylineShape, ODEMeshShape, ODELink, ODEHeightmapShape, ODEGearboxJoint, MultiRayShape, MeshShape, MapShape, HingeJoint< ODEJoint >, HingeJoint< DARTJoint >, HingeJoint< SimbodyJoint >, HingeJoint< BulletJoint >, HeightmapShape, GearboxJoint< ODEJoint >, FixedJoint< ODEJoint >, FixedJoint< DARTJoint >, FixedJoint< SimbodyJoint >, FixedJoint< BulletJoint >, DARTUniversalJoint, DARTSphereShape, DARTSliderJoint, DARTPolylineShape, DARTPlaneShape, DARTModel, DARTMeshShape, DARTLink, DARTHingeJoint, DARTHinge2Joint, DARTHeightmapShape, DARTFixedJoint, DARTCylinderShape, DARTCollision, DARTBoxShape, DARTBallJoint, CylinderShape, BulletUniversalJoint, BulletSliderJoint, BulletScrewJoint, BulletPolylineShape, BulletMeshShape, BulletLink, BulletHingeJoint, BulletHinge2Joint, BulletHeightmapShape, BulletFixedJoint, BulletBallJoint, BoxShape, BallJoint< ODEJoint >, BallJoint< DARTJoint >, BallJoint< SimbodyJoint >, BallJoint< BulletJoint >, and Actor.
bool IsSelected | ( | ) | const |
True if the entity is selected by the user.
|
virtual |
Load.
[in] | node | Pointer to an SDF parameters |
Reimplemented in SimbodyJoint, ODEJoint, Model, Link, Light, Joint, DARTScrewJoint, DARTJoint, Collision, BulletJoint, UniversalJoint< ODEJoint >, UniversalJoint< DARTJoint >, UniversalJoint< SimbodyJoint >, UniversalJoint< BulletJoint >, SliderJoint< ODEJoint >, SliderJoint< DARTJoint >, SliderJoint< SimbodyJoint >, SliderJoint< BulletJoint >, SimbodyUniversalJoint, SimbodySliderJoint, SimbodyScrewJoint, SimbodyPolylineShape, SimbodyModel, SimbodyMeshShape, SimbodyHingeJoint, SimbodyHinge2Joint, SimbodyFixedJoint, SimbodyBallJoint, ScrewJoint< ODEJoint >, ScrewJoint< DARTJoint >, ScrewJoint< SimbodyJoint >, ScrewJoint< BulletJoint >, Road, ODESliderJoint, ODEScrewJoint, ODEPolylineShape, ODEMeshShape, ODELink, ODEHingeJoint, ODEHinge2Joint, ODEGearboxJoint, ODEFixedJoint, ODECollision, MapShape, HingeJoint< ODEJoint >, HingeJoint< DARTJoint >, HingeJoint< SimbodyJoint >, HingeJoint< BulletJoint >, Hinge2Joint< ODEJoint >, Hinge2Joint< DARTJoint >, Hinge2Joint< SimbodyJoint >, Hinge2Joint< BulletJoint >, HeightmapShape, GearboxJoint< ODEJoint >, FixedJoint< ODEJoint >, FixedJoint< DARTJoint >, FixedJoint< SimbodyJoint >, FixedJoint< BulletJoint >, Entity, DARTUniversalJoint, DARTSliderJoint, DARTPolylineShape, DARTModel, DARTMeshShape, DARTHingeJoint, DARTHinge2Joint, DARTFixedJoint, DARTCollision, DARTBallJoint, BulletUniversalJoint, BulletSliderJoint, BulletScrewJoint, BulletPolylineShape, BulletMeshShape, BulletHingeJoint, BulletHinge2Joint, BulletFixedJoint, BulletBallJoint, BallJoint< ODEJoint >, BallJoint< DARTJoint >, BallJoint< SimbodyJoint >, BallJoint< BulletJoint >, Actor, SimbodyLink, SimbodyCollision, DARTLink, BulletLink, and BulletCollision.
bool operator== | ( | const Base & | _ent | ) | const |
Returns true if the entities are the same.
Checks only the name.
[in] | _ent | Base object to compare with. |
void Print | ( | const std::string & | _prefix | ) |
Print this object to screen via gzmsg.
[in] | _prefix | Usually a set of spaces. |
|
protectedvirtual |
void RemoveChild | ( | const std::string & | _name | ) |
Remove a child by name.
[in] | _name | Name of the child. |
void RemoveChild | ( | physics::BasePtr | _child | ) |
Remove a child by pointer.
[in] | _child | Pointer to the child. |
|
virtual |
Remove a child from this entity.
[in] | _id | ID of the child to remove. |
void RemoveChildren | ( | ) |
Remove all children.
|
virtual |
|
virtual |
Calls recursive Reset on one of the Base::EntityType's.
[in] | _resetType | The type of reset operation |
ignition::math::Pose3d SDFPoseRelativeToParent | ( | ) | const |
Get the SDF pose of the object according to the sdf 1.6 convention.
This convention is that the pose of an element is relative to its parent XML element, except for joints, whose pose is relative to the child link.
|
virtual |
|
virtual |
void SetParent | ( | BasePtr | _parent | ) |
Set the parent.
[in] | _parent | Parent object. |
void SetSaveable | ( | bool | _v | ) |
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. |
|
virtual |
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.
void SetWorld | ( | const WorldPtr & | _newWorld | ) |
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. |
std::string StripParentScopedName | ( | const std::string & | _name | ) | const |
Return a short version of the name with "ParentScopedName::" removed.
[in] | _scoped | name - Usually the scoped name of a new name this entity is to be set to. |
std::string StripScopedName | ( | const std::string & | _name | ) | const |
Return a short version of the name with "ScopedName::" removed.
[in] | _scoped | name - Usually the scoped name of a new name a child entity is to be set to. |
std::string TypeStr | ( | ) | const |
Get the string name for the entity type.
|
protectedvirtual |
Unregister items in the introspection service.
|
inlinevirtual |
Update the object.
Reimplemented in RayShape, Model, Joint, SimbodyRayShape, ODERayShape, ODEPolylineShape, ODEMeshShape, MultiRayShape, MeshShape, MapShape, Link, DARTRayShape, DARTModel, DARTMeshShape, BulletRayShape, and Actor.
|
virtual |
common::URI URI | ( | ) | const |
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.
|
protected |
Children of this entity.
|
protected |
All the introspection items regsitered for this.
|
protected |
Parent of this entity.
|
protected |
The SDF values for this object.
|
protected |
Pointer to the world.