Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gazebo::physics::MultiRayShape Class Referenceabstract

Laser collision contains a set of ray-collisions, structured to simulate a laser range scanner. More...

#include <physics/physics.hh>

Inheritance diagram for gazebo::physics::MultiRayShape:
Inheritance graph

Public Member Functions

 MultiRayShape (CollisionPtr _parent)
 Constructor. More...
virtual ~MultiRayShape ()
 Destructor. More...
template<typename T >
event::ConnectionPtr ConnectNewLaserScans (T _subscriber)
 Connect a to the new laser scan signal. More...
void DisconnectNewLaserScans (event::ConnectionPtr &_conn)
 Disconnect from the new laser scans signal. More...
void FillMsg (msgs::Geometry &_msg)
 This function is not implemented. More...
int GetFiducial (unsigned int _index)
 Get detected fiducial value for a ray. More...
math::Angle GetMaxAngle () const
 Get the maximum angle. More...
double GetMaxRange () const
 Get the maximum range. More...
math::Angle GetMinAngle () const
 Get the minimum angle. More...
double GetMinRange () const
 Get the minimum range. More...
double GetRange (unsigned int _index)
 Get detected range for a ray. More...
double GetResRange () const
 Get the range resolution. More...
double GetRetro (unsigned int _index)
 Get detected retro (intensity) value for a ray. More...
int GetSampleCount () const
 Get the horizontal sample count. More...
double GetScanResolution () const
 Get the horizontal resolution. More...
math::Angle GetVerticalMaxAngle () const
 Get the vertical max angle. More...
math::Angle GetVerticalMinAngle () const
 Get the vertical min angle. More...
int GetVerticalSampleCount () const
 Get the vertical sample count. More...
double GetVerticalScanResolution () const
 Get the vertical range resolution. More...
virtual void Init ()
 Init the shape. More...
virtual void ProcessMsg (const msgs::Geometry &_msg)
 This function is not implemented. More...
virtual void SetScale (const math::Vector3 &_scale)
 Set the scale of the multi ray shape. More...
void Update ()
 Update the ray collisions. More...
- Public Member Functions inherited from gazebo::physics::Shape
 Shape (CollisionPtr _parent)
 Constructor. More...
virtual ~Shape ()
 Destructor. More...
virtual math::Vector3 GetScale () const
 Get the scale of the shape. More...
- Public Member Functions inherited from gazebo::physics::Base
 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 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...
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 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 UpdateParameters (sdf::ElementPtr _sdf)
 Update the parameters using new sdf values. More...

Protected Member Functions

virtual void AddRay (const math::Vector3 &_start, const math::Vector3 &_end)
 Add a ray to the collision. More...
virtual void UpdateRays ()=0
 Physics engine specific method for updating the rays. More...
- Protected Member Functions inherited from gazebo::physics::Base
void ComputeScopedName ()
 Compute the scoped name of this object based on its parents. More...

Protected Attributes

sdf::ElementPtr horzElem
 Horizontal SDF element pointer. More...
event::EventT< void()> newLaserScans
 New laser scans event. More...
math::Pose offset
 Pose offset of all the rays. More...
sdf::ElementPtr rangeElem
 Range SDF element pointer. More...
sdf::ElementPtr rayElem
 Ray SDF element pointer. More...
std::vector< RayShapePtrrays
 Ray data. More...
sdf::ElementPtr scanElem
 Scan SDF element pointer. More...
sdf::ElementPtr vertElem
 Vertical SDF element pointer. More...
- Protected Attributes inherited from gazebo::physics::Shape
CollisionPtr collisionParent
 This shape's collision parent. More...
math::Vector3 scale
 This shape's scale;. More...
- Protected Attributes inherited from gazebo::physics::Base
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...

Additional Inherited Members

- Public Types inherited from gazebo::physics::Base
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,
  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...

Detailed Description

Laser collision contains a set of ray-collisions, structured to simulate a laser range scanner.

Constructor & Destructor Documentation

gazebo::physics::MultiRayShape::MultiRayShape ( CollisionPtr  _parent)


[in]_parentParent collision shape.
virtual gazebo::physics::MultiRayShape::~MultiRayShape ( )


Member Function Documentation

virtual void gazebo::physics::MultiRayShape::AddRay ( const math::Vector3 _start,
const math::Vector3 _end 

Add a ray to the collision.

[in]_startStart of the ray.
[in]_endEnd of the ray.

Reimplemented in gazebo::physics::ODEMultiRayShape, gazebo::physics::DARTMultiRayShape, gazebo::physics::SimbodyMultiRayShape, and gazebo::physics::BulletMultiRayShape.

template<typename T >
event::ConnectionPtr gazebo::physics::MultiRayShape::ConnectNewLaserScans ( _subscriber)

Connect a to the new laser scan signal.

[in]_subscriberCallback function.
The connection, which must be kept in scope.
void gazebo::physics::MultiRayShape::DisconnectNewLaserScans ( event::ConnectionPtr _conn)

Disconnect from the new laser scans signal.

[in]_connConnection to remove.
void gazebo::physics::MultiRayShape::FillMsg ( msgs::Geometry &  _msg)

This function is not implemented.

Fill a message with this shape's values.

[out]_msgMessage that contains the shape's values.

Implements gazebo::physics::Shape.

int gazebo::physics::MultiRayShape::GetFiducial ( unsigned int  _index)

Get detected fiducial value for a ray.

[in]_indexIndex of the ray.
Fiducial value for the ray.
math::Angle gazebo::physics::MultiRayShape::GetMaxAngle ( ) const

Get the maximum angle.

Maximum angle of ray scan.
double gazebo::physics::MultiRayShape::GetMaxRange ( ) const

Get the maximum range.

Maximum range of all the rays.
math::Angle gazebo::physics::MultiRayShape::GetMinAngle ( ) const

Get the minimum angle.

Minimum angle of ray scan.
double gazebo::physics::MultiRayShape::GetMinRange ( ) const

Get the minimum range.

Minimum range of all the rays.
double gazebo::physics::MultiRayShape::GetRange ( unsigned int  _index)

Get detected range for a ray.

[in]_indexIndex of the ray.
Returns DBL_MAX for no detection.
double gazebo::physics::MultiRayShape::GetResRange ( ) const

Get the range resolution.

Range resolution of all the rays.
double gazebo::physics::MultiRayShape::GetRetro ( unsigned int  _index)

Get detected retro (intensity) value for a ray.

[in]_indexIndex of the ray.
Retro value for the ray.
int gazebo::physics::MultiRayShape::GetSampleCount ( ) const

Get the horizontal sample count.

Horizontal sample count.
double gazebo::physics::MultiRayShape::GetScanResolution ( ) const

Get the horizontal resolution.

Horizontal resolution.
math::Angle gazebo::physics::MultiRayShape::GetVerticalMaxAngle ( ) const

Get the vertical max angle.

Vertical max angle.
math::Angle gazebo::physics::MultiRayShape::GetVerticalMinAngle ( ) const

Get the vertical min angle.

Vertical min angle.
int gazebo::physics::MultiRayShape::GetVerticalSampleCount ( ) const

Get the vertical sample count.

Verical sample count.
double gazebo::physics::MultiRayShape::GetVerticalScanResolution ( ) const

Get the vertical range resolution.

Vertical range resolution.
virtual void gazebo::physics::MultiRayShape::Init ( )

Init the shape.

Implements gazebo::physics::Shape.

virtual void gazebo::physics::MultiRayShape::ProcessMsg ( const msgs::Geometry &  _msg)

This function is not implemented.

Update the ray based on a message.

[in]_msgMessage to update from.

Implements gazebo::physics::Shape.

virtual void gazebo::physics::MultiRayShape::SetScale ( const math::Vector3 _scale)

Set the scale of the multi ray shape.

_scale Scale to set the multi ray shape to.

Implements gazebo::physics::Shape.

void gazebo::physics::MultiRayShape::Update ( )

Update the ray collisions.

Reimplemented from gazebo::physics::Base.

virtual void gazebo::physics::MultiRayShape::UpdateRays ( )
protectedpure virtual

Member Data Documentation

sdf::ElementPtr gazebo::physics::MultiRayShape::horzElem

Horizontal SDF element pointer.

event::EventT<void()> gazebo::physics::MultiRayShape::newLaserScans

New laser scans event.

math::Pose gazebo::physics::MultiRayShape::offset

Pose offset of all the rays.

sdf::ElementPtr gazebo::physics::MultiRayShape::rangeElem

Range SDF element pointer.

sdf::ElementPtr gazebo::physics::MultiRayShape::rayElem

Ray SDF element pointer.

std::vector<RayShapePtr> gazebo::physics::MultiRayShape::rays

Ray data.

sdf::ElementPtr gazebo::physics::MultiRayShape::scanElem

Scan SDF element pointer.

sdf::ElementPtr gazebo::physics::MultiRayShape::vertElem

Vertical SDF element pointer.

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