RayShape Class Referenceabstract

Base class for Ray collision geometry. More...

#include <physics/physics.hh>

Inherits Shape.

Inherited by BulletRayShape, DARTRayShape, ODERayShape, and SimbodyRayShape.

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

 RayShape (PhysicsEnginePtr _physicsEngine)
 Constructor for a global ray. More...
 
 RayShape (CollisionPtr _parent)
 Constructor. More...
 
virtual ~RayShape ()
 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 FillMsg (msgs::Geometry &_msg)
 Fill a message with data from this object. 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...
 
int GetFiducial () const
 Get the fiducial id detected by this ray. More...
 
virtual void GetGlobalPoints (math::Vector3 &_posA, math::Vector3 &_posB)
 Get the global starting and ending points. More...
 
uint32_t GetId () const
 Return the ID of this entity. More...
 
virtual void GetIntersection (double &_dist, std::string &_entity)=0
 Get the nearest intersection. More...
 
double GetLength () const
 Get the length of the ray. 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...
 
virtual void GetRelativePoints (math::Vector3 &_posA, math::Vector3 &_posB)
 Get the relative starting and ending points. More...
 
float GetRetro () const
 Get the retro-reflectivness detected by this ray. 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...
 
unsigned int GetType () const
 Get the full type definition. More...
 
const WorldPtrGetWorld () 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 ()
 In the ray. 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)
 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 SetFiducial (int _fid)
 Set the fiducial id detected by this ray. More...
 
virtual void SetLength (double _len)
 Set the length of the ray. More...
 
virtual void SetName (const std::string &_name)
 Set the name of the entity. More...
 
void SetParent (BasePtr _parent)
 Set the parent. More...
 
virtual void SetPoints (const math::Vector3 &_posStart, const math::Vector3 &_posEnd)
 Set the ray based on starting and ending points relative to the body. More...
 
void SetRetro (float _retro)
 Set the retro-reflectivness detected by this ray. 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 math::Vector3 &_scale)
 Set the scale of the ray. 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 ()=0
 Update the ray collision. 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...
 
CollisionPtr collisionParent
 This shape's collision parent. More...
 
int contactFiducial
 Fiducial ID value. More...
 
double contactLen
 Length of the ray. More...
 
double contactRetro
 Retro reflectance value. More...
 
math::Vector3 globalEndPos
 End position of the ray in global cs. More...
 
math::Vector3 globalStartPos
 Start position of the ray in global cs. More...
 
BasePtr parent
 Parent of this entity. More...
 
math::Vector3 relativeEndPos
 End position of the ray, relative to the body. More...
 
math::Vector3 relativeStartPos
 Start position of the ray, relative to the body. More...
 
math::Vector3 scale
 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 Ray collision geometry.

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.

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.

Constructor & Destructor Documentation

§ RayShape() [1/2]

RayShape ( PhysicsEnginePtr  _physicsEngine)
explicit

Constructor for a global ray.

Parameters
[in]_physicsEnginePointer to the physics engine.

§ RayShape() [2/2]

RayShape ( CollisionPtr  _parent)
explicit

Constructor.

Parameters
[in]_parentCollision parent of the shape.

§ ~RayShape()

virtual ~RayShape ( )
virtual

Destructor.

Member Function Documentation

§ AddChild()

void AddChild ( BasePtr  _child)
inherited

Add a child to this entity.

Parameters
[in]_childChild entity.

Referenced by Base::Update().

§ AddType()

void AddType ( EntityType  _type)
inherited

Add a type specifier.

Parameters
[in]_typeNew type to append to this objects type definition.

Referenced by Base::Update().

§ ComputeScopedName()

void ComputeScopedName ( )
protectedinherited

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

See also
Base::GetScopedName

Referenced by Base::Update().

§ ComputeVolume()

virtual double ComputeVolume ( ) const
virtual

Documentation inherited.

Reimplemented from Shape.

§ FillMsg()

void FillMsg ( msgs::Geometry &  _msg)
virtual

Fill a message with data from this object.

Parameters
[out]_msgMessage to fill. Implement this function.

Implements Shape.

§ Fini()

virtual void Fini ( )
virtualinherited

§ GetByName()

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

Get by name.

Parameters
[in]_nameGet a child (or self) object by name
Returns
A pointer to the object, NULL if not found

Referenced by Base::Update().

§ GetChild() [1/2]

BasePtr GetChild ( unsigned int  _i) const
inherited

Get a child by index.

Parameters
[in]_iIndex of the child to retreive.
Returns
A pointer to the object, NULL if the index is invalid.

Referenced by Base::Update().

§ GetChild() [2/2]

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

Get a child by name.

Parameters
[in]_nameName of the child.
Returns
A pointer to the object, NULL if not found

§ GetChildCount()

unsigned int GetChildCount ( ) const
inherited

Get the number of children.

Returns
The number of children.

Referenced by Base::Update().

§ GetFiducial()

int GetFiducial ( ) const

Get the fiducial id detected by this ray.

Returns
Fiducial id detected.

§ GetGlobalPoints()

virtual void GetGlobalPoints ( math::Vector3 _posA,
math::Vector3 _posB 
)
virtual

Get the global starting and ending points.

Parameters
[out]_posAReturns the starting point.
[out]_posBReturns the ending point.

§ GetId()

uint32_t GetId ( ) const
inherited

Return the ID of this entity.

This id is unique.

Returns
Integer ID.

Referenced by Base::Update().

§ GetIntersection()

virtual void GetIntersection ( double &  _dist,
std::string &  _entity 
)
pure virtual

Get the nearest intersection.

Parameters
[out]_distDistance to the intersection.
[out]_entityName of the entity the ray intersected with.

Implemented in DARTRayShape, ODERayShape, BulletRayShape, and SimbodyRayShape.

§ GetLength()

double GetLength ( ) const

Get the length of the ray.

Returns
The ray length.

§ GetName()

std::string GetName ( ) const
inherited

Return the name of the entity.

Returns
Name of the entity.

Referenced by Base::Update().

§ GetParent()

BasePtr GetParent ( ) const
inherited

Get the parent.

Returns
Pointer to the parent entity.

Referenced by Base::Update().

§ GetParentId()

int GetParentId ( ) const
inherited

Return the ID of the parent.

Returns
Integer ID.

Referenced by Base::Update().

§ GetRelativePoints()

virtual void GetRelativePoints ( math::Vector3 _posA,
math::Vector3 _posB 
)
virtual

Get the relative starting and ending points.

Parameters
[in]_posAReturns the starting point.
[in]_posBReturns the ending point.

§ GetRetro()

float GetRetro ( ) const

Get the retro-reflectivness detected by this ray.

Returns
Retro reflectance value.

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

Referenced by Base::Update().

§ GetScale()

virtual math::Vector3 GetScale ( ) const
virtualinherited

Get the scale of the shape.

Returns
Scale of the shape.

Reimplemented in MapShape.

§ GetScopedName()

std::string GetScopedName ( bool  _prependWorldName = false) const
inherited

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

Parameters
[in]_prependWorldNameTrue to prended the returned string with the world name. The result will be world::model1::...::modelN::entityName.
Returns
The scoped name.

Referenced by Base::Update().

§ GetSDF()

virtual const sdf::ElementPtr GetSDF ( )
virtualinherited

Get the SDF values for the object.

Returns
The SDF values for the object.

Reimplemented in Actor, and Model.

Referenced by Base::Update().

§ GetType()

unsigned int GetType ( ) const
inherited

Get the full type definition.

Returns
The full type definition.

Referenced by Base::Update().

§ GetWorld()

const WorldPtr& GetWorld ( ) const
inherited

Get the World this object is in.

Returns
The World this object is part of.

Referenced by Base::Update().

§ HasType()

bool HasType ( const EntityType _t) const
inherited

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

Parameters
[in]_tType to check.
Returns
True if this object's type definition has the.

Referenced by Base::Update().

§ Init()

virtual void Init ( )
virtual

In the ray.

Implements Shape.

§ IsSelected()

bool IsSelected ( ) const
inherited

True if the entity is selected by the user.

Returns
True if the entity is selected.

Referenced by Base::Update().

§ Load()

virtual void Load ( sdf::ElementPtr  _sdf)
virtualinherited

Load.

Parameters
[in]nodePointer 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.

§ operator==()

bool operator== ( const Base _ent) const
inherited

Returns true if the entities are the same.

Checks only the name.

Parameters
[in]_entBase object to compare with.
Returns
True if the entities are the same.

Referenced by Base::Update().

§ Print()

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

Print this object to screen via gzmsg.

Parameters
[in]_prefixUsually a set of spaces.

Referenced by Base::Update().

§ ProcessMsg()

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

Update this shape from a message.

Parameters
[in]_msgMessage to update from. Implement this function.

Implements Shape.

§ RemoveChild() [1/3]

virtual void RemoveChild ( unsigned int  _id)
virtualinherited

Remove a child from this entity.

Parameters
[in]_idID of the child to remove.

Referenced by Base::Update().

§ RemoveChild() [2/3]

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

Remove a child by name.

Parameters
[in]_nameName of the child.

§ RemoveChild() [3/3]

void RemoveChild ( physics::BasePtr  _child)
inherited

Remove a child by pointer.

Parameters
[in]_childPointer to the child.

§ RemoveChildren()

void RemoveChildren ( )
inherited

Remove all children.

Referenced by Base::Update().

§ Reset() [1/2]

virtual void Reset ( )
virtualinherited

Reset the object.

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

Referenced by Base::Init().

§ Reset() [2/2]

virtual void Reset ( Base::EntityType  _resetType)
virtualinherited

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

Parameters
[in]_resetTypeThe type of reset operation

§ SetFiducial()

void SetFiducial ( int  _fid)

Set the fiducial id detected by this ray.

Parameters
[in]_fidFiducial id detected by this ray.

§ SetLength()

virtual void SetLength ( double  _len)
virtual

Set the length of the ray.

Parameters
[in]_lenLength of the array.

§ SetName()

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

Set the name of the entity.

Parameters
[in]_nameNew name.

Reimplemented in Entity.

Referenced by Base::Update().

§ SetParent()

void SetParent ( BasePtr  _parent)
inherited

Set the parent.

Parameters
[in]_parentParent object.

Referenced by Base::Update().

§ SetPoints()

virtual void SetPoints ( const math::Vector3 _posStart,
const math::Vector3 _posEnd 
)
virtual

Set the ray based on starting and ending points relative to the body.

Parameters
[in]_posStartStart position, relative the body.
[in]_posEndEnd position, relative to the body.

Reimplemented in DARTRayShape, ODERayShape, BulletRayShape, and SimbodyRayShape.

§ SetRetro()

void SetRetro ( float  _retro)

Set the retro-reflectivness detected by this ray.

Parameters
[in]_retroRetro reflectance value.

§ 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]_vSet to True if the object should be saved.

Referenced by Base::Update().

§ SetScale()

virtual void SetScale ( const math::Vector3 _scale)
virtual

Set the scale of the ray.

Implements Shape.

§ SetSelected()

virtual bool SetSelected ( bool  _show)
virtualinherited

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

Parameters
[in]_showTrue to set this entity as selected.

Reimplemented in Link.

Referenced by Base::Update().

§ 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]_newWorldThe new World this object is part of.

Referenced by Base::Update().

§ Update()

virtual void Update ( )
pure virtual

Update the ray collision.

Reimplemented from Base.

Implemented in DARTRayShape, ODERayShape, BulletRayShape, and SimbodyRayShape.

§ UpdateParameters()

virtual void UpdateParameters ( sdf::ElementPtr  _sdf)
virtualinherited

Update the parameters using new sdf values.

Parameters
[in]_sdfUpdate the object's parameters based on SDF values.

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

Referenced by Base::Update().

Member Data Documentation

§ children

Base_V children
protectedinherited

Children of this entity.

§ collisionParent

§ contactFiducial

int contactFiducial
protected

Fiducial ID value.

§ contactLen

double contactLen
protected

Length of the ray.

§ contactRetro

double contactRetro
protected

Retro reflectance value.

§ globalEndPos

math::Vector3 globalEndPos
protected

End position of the ray in global cs.

§ globalStartPos

math::Vector3 globalStartPos
protected

Start position of the ray in global cs.

§ parent

BasePtr parent
protectedinherited

Parent of this entity.

§ relativeEndPos

math::Vector3 relativeEndPos
protected

End position of the ray, relative to the body.

§ relativeStartPos

math::Vector3 relativeStartPos
protected

Start position of the ray, relative to the body.

§ scale

math::Vector3 scale
protectedinherited

This shape's scale;.

§ sdf

sdf::ElementPtr sdf
protectedinherited

The SDF values for this object.

§ world

WorldPtr world
protectedinherited

Pointer to the world.


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