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, 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 | |
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 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... | |
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... | |
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 Member Functions | |
void | ComputeScopedName () |
Compute the scoped name of this object based on its parents. More... | |
Protected Attributes | |
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... | |
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. |
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. |
|
virtual |
Destructor.
void AddChild | ( | BasePtr | _child | ) |
void AddType | ( | EntityType | _type | ) |
Add a type specifier.
[in] | _type | New type to append to this objects type definition. |
Referenced by Base::Update().
|
protected |
Compute the scoped name of this object based on its parents.
Referenced by Base::Update().
|
virtual |
Finialize the object.
Reimplemented in Joint, Actor, Link, Model, Entity, DARTModel, ODEJoint, BulletLink, Road, DARTCollision, DARTLink, ODECollision, Collision, SimbodyLink, BulletJoint, and ODELink.
BasePtr GetByName | ( | const std::string & | _name | ) |
Get by name.
[in] | _name | Get a child (or self) object by name |
Referenced by Base::Update().
BasePtr GetChild | ( | unsigned int | _i | ) | const |
Get a child by index.
[in] | _i | Index of the child to retreive. |
Referenced by Base::Update().
BasePtr GetChild | ( | const std::string & | _name | ) |
Get a child by name.
[in] | _name | Name of the child. |
unsigned int GetChildCount | ( | ) | const |
uint32_t GetId | ( | ) | const |
std::string GetName | ( | ) | const |
BasePtr GetParent | ( | ) | const |
int GetParentId | ( | ) | const |
bool GetSaveable | ( | ) | const |
Get whether the object should be "saved", when the user selects to save the world to xml.
Referenced by Base::Update().
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. |
Referenced by Base::Update().
|
virtual |
Get the SDF values for the object.
Reimplemented in Actor, and Model.
Referenced by Base::Update().
unsigned int GetType | ( | ) | const |
const WorldPtr& GetWorld | ( | ) | const |
Get the World this object is in.
Referenced by Base::Update().
bool HasType | ( | const EntityType & | _t | ) | const |
Returns true if this object's type definition has the given type.
[in] | _t | Type to check. |
Referenced by Base::Update().
|
inlinevirtual |
Initialize the object.
Reimplemented in BulletJoint, RayShape, Joint, GearboxJoint< ODEJoint >, ScrewJoint< ODEJoint >, ScrewJoint< DARTJoint >, ScrewJoint< SimbodyJoint >, ScrewJoint< BulletJoint >, Actor, Link, UniversalJoint< ODEJoint >, UniversalJoint< DARTJoint >, UniversalJoint< SimbodyJoint >, UniversalJoint< BulletJoint >, Model, BallJoint< ODEJoint >, BallJoint< DARTJoint >, BallJoint< SimbodyJoint >, BallJoint< BulletJoint >, BulletScrewJoint, MapShape, HeightmapShape, Collision, HingeJoint< ODEJoint >, HingeJoint< DARTJoint >, HingeJoint< SimbodyJoint >, HingeJoint< BulletJoint >, Shape, BulletHinge2Joint, DARTScrewJoint, FixedJoint< ODEJoint >, FixedJoint< DARTJoint >, FixedJoint< SimbodyJoint >, FixedJoint< BulletJoint >, BulletLink, DARTJoint, MeshShape, SphereShape, BulletBallJoint, CylinderShape, DARTModel, Road, DARTCollision, DARTLink, PlaneShape, BulletFixedJoint, BulletHeightmapShape, BulletHingeJoint, BulletSliderJoint, BulletUniversalJoint, MultiRayShape, ODEGearboxJoint, SimbodyLink, ODEHeightmapShape, ODELink, DARTFixedJoint, DARTHeightmapShape, DARTHinge2Joint, DARTHingeJoint, DARTMeshShape, PolylineShape, BoxShape, DARTPolylineShape, DARTUniversalJoint, ODEMeshShape, SimbodyMeshShape, BulletMeshShape, BulletPolylineShape, DARTBallJoint, DARTSliderJoint, ODEPolylineShape, SimbodyHeightmapShape, SimbodyModel, SimbodyPolylineShape, and Light.
References Base::Reset().
bool IsSelected | ( | ) | const |
True if the entity is selected by the user.
Referenced by Base::Update().
|
virtual |
Load.
[in] | node | Pointer to an SDF parameters |
Reimplemented in Joint, Actor, Link, Entity, SimbodySliderJoint, Model, BulletCollision, BallJoint< ODEJoint >, BallJoint< DARTJoint >, BallJoint< SimbodyJoint >, BallJoint< BulletJoint >, UniversalJoint< ODEJoint >, UniversalJoint< DARTJoint >, UniversalJoint< SimbodyJoint >, UniversalJoint< BulletJoint >, MapShape, GearboxJoint< ODEJoint >, HeightmapShape, Hinge2Joint< ODEJoint >, Hinge2Joint< DARTJoint >, Hinge2Joint< SimbodyJoint >, Hinge2Joint< BulletJoint >, Collision, ODEJoint, HingeJoint< ODEJoint >, HingeJoint< DARTJoint >, HingeJoint< SimbodyJoint >, HingeJoint< BulletJoint >, BulletScrewJoint, BulletHinge2Joint, ODECollision, ScrewJoint< ODEJoint >, ScrewJoint< DARTJoint >, ScrewJoint< SimbodyJoint >, ScrewJoint< BulletJoint >, BulletLink, DARTJoint, ODEHinge2Joint, ODEHingeJoint, SliderJoint< ODEJoint >, SliderJoint< DARTJoint >, SliderJoint< SimbodyJoint >, SliderJoint< BulletJoint >, BulletBallJoint, BulletJoint, DARTModel, Road, SimbodyCollision, SimbodyFixedJoint, DARTCollision, DARTLink, FixedJoint< ODEJoint >, FixedJoint< DARTJoint >, FixedJoint< SimbodyJoint >, FixedJoint< BulletJoint >, BulletFixedJoint, BulletHingeJoint, BulletSliderJoint, BulletUniversalJoint, ODEGearboxJoint, ODESliderJoint, SimbodyHinge2Joint, SimbodyHingeJoint, SimbodyLink, SimbodyUniversalJoint, ODEFixedJoint, ODELink, SimbodyScrewJoint, DARTFixedJoint, DARTHinge2Joint, DARTHingeJoint, SimbodyJoint, DARTMeshShape, DARTScrewJoint, DARTPolylineShape, DARTUniversalJoint, ODEMeshShape, ODEScrewJoint, SimbodyBallJoint, SimbodyMeshShape, BulletMeshShape, BulletPolylineShape, DARTBallJoint, DARTSliderJoint, ODEPolylineShape, SimbodyModel, and SimbodyPolylineShape.
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. |
Referenced by Base::Update().
void Print | ( | const std::string & | _prefix | ) |
Print this object to screen via gzmsg.
[in] | _prefix | Usually a set of spaces. |
Referenced by Base::Update().
|
virtual |
Remove a child from this entity.
[in] | _id | ID of the child to remove. |
Referenced by Base::Update().
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. |
void RemoveChildren | ( | ) |
Remove all children.
Referenced by Base::Update().
|
virtual |
Reset the object.
Reimplemented in Joint, Model, Link, Entity, ODEJoint, DARTJoint, BulletJoint, and SimbodyJoint.
Referenced by Base::Init().
|
virtual |
Calls recursive Reset on one of the Base::EntityType's.
[in] | _resetType | The type of reset operation |
|
virtual |
Set the name of the entity.
[in] | _name | New name. |
Reimplemented in Entity.
Referenced by Base::Update().
void SetParent | ( | BasePtr | _parent | ) |
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. |
Referenced by Base::Update().
|
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.
Referenced by Base::Update().
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. |
Referenced by Base::Update().
|
inlinevirtual |
Update the object.
Reimplemented in MultiRayShape, Joint, Actor, RayShape, Model, DARTModel, MapShape, DARTRayShape, ODERayShape, DARTMeshShape, MeshShape, BulletRayShape, ODEMeshShape, ODEPolylineShape, and SimbodyRayShape.
References Base::AddChild(), Base::AddType(), Base::ComputeScopedName(), Base::GetByName(), Base::GetChild(), Base::GetChildCount(), Base::GetId(), Base::GetName(), Base::GetParent(), Base::GetParentId(), Base::GetSaveable(), Base::GetScopedName(), Base::GetSDF(), Base::GetType(), Base::GetWorld(), Base::HasType(), Base::IsSelected(), Base::operator==(), Base::Print(), Base::RemoveChild(), Base::RemoveChildren(), Base::SetName(), Base::SetParent(), Base::SetSaveable(), Base::SetSelected(), Base::SetWorld(), and Base::UpdateParameters().
|
virtual |
|
protected |
Children of this entity.
|
protected |
Parent of this entity.
|
protected |
The SDF values for this object.
|
protected |
Pointer to the world.