All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
[legend]

Public Member Functions

 MultiRayShape (CollisionPtr _parent)
 Constructor.
 
virtual ~MultiRayShape ()
 Destructor.
 
template<typename T >
event::ConnectionPtr ConnectNewLaserScans (T _subscriber)
 Connect a to the new laser scan signal.
 
void DisconnectNewLaserScans (event::ConnectionPtr &_conn)
 Disconnect from the new laser scans signal.
 
void FillMsg (msgs::Geometry &_msg)
 This function is not implemented.
 
int GetFiducial (int _index)
 Get detected fiducial value for a ray.
 
math::Angle GetMaxAngle () const
 Get the maximum angle.
 
double GetMaxRange () const
 Get the maximum range.
 
math::Angle GetMinAngle () const
 Get the minimum angle.
 
double GetMinRange () const
 Get the minimum range.
 
double GetRange (int _index)
 Get detected range for a ray.
 
double GetResRange () const
 Get the range resolution.
 
double GetRetro (int _index)
 Get detected retro (intensity) value for a ray.
 
int GetSampleCount () const
 Get the horizontal sample count.
 
double GetScanResolution () const
 Get the horizontal resolution.
 
math::Angle GetVerticalMaxAngle () const
 Get the vertical max angle.
 
math::Angle GetVerticalMinAngle () const
 Get the vertical min angle.
 
int GetVerticalSampleCount () const
 Get the vertical sample count.
 
double GetVerticalScanResolution () const
 Get the vertical range resolution.
 
virtual void Init ()
 Init the shape.
 
virtual void ProcessMsg (const msgs::Geometry &_msg)
 This function is not implemented.
 
void Update ()
 Update the ray collisions.
 
- Public Member Functions inherited from gazebo::physics::Shape
 Shape (CollisionPtr p)
 Constructor.
 
virtual ~Shape ()
 Destructor.
 
virtual void FillShapeMsg (msgs::Geometry &_msg) GAZEBO_DEPRECATED
 
virtual void GetInertial (double _mass, InertialPtr _inertial) const
 Get inertial for a shape.
 
virtual double GetMass (double _density) const
 Get the mass of a shape.
 
- Public Member Functions inherited from gazebo::physics::Base
 Base (BasePtr parent)
 Constructor.
 
virtual ~Base ()
 Destructor.
 
void AddChild (BasePtr _child)
 Add a child to this entity.
 
void AddType (EntityType _type)
 Add a type specifier.
 
virtual void Fini ()
 Finialize the object.
 
BasePtr GetById (unsigned int _id) const
 Get a child or self by id.
 
BasePtr GetByName (const std::string &_name)
 Get by name.
 
BasePtr GetChild (unsigned int _i) const
 Get a child by index.
 
BasePtr GetChild (const std::string &_name)
 Get a child by name.
 
unsigned int GetChildCount () const
 Get the number of children.
 
unsigned int GetId () const
 Return the ID of this entity.
 
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 () const
 Return the name of this entity with the model scope world::model1::...::modelN::entityName.
 
virtual const sdf::ElementPtr GetSDF ()
 Get the SDF values for the object.
 
unsigned int GetType () const
 Get the full type definition.
 
const WorldPtrGetWorld () const
 Get the World this object is in.
 
bool HasType (const EntityType &_t) const
 Returns true if this object's type definition has the given type.
 
bool IsSelected () const
 True if the entity is selected by the user.
 
virtual void Load (sdf::ElementPtr _sdf)
 Load.
 
bool operator== (const Base &_ent) const
 Returns true if the entities are the same.
 
void Print (const std::string &_prefix)
 Print this object to screen via gzmsg.
 
virtual void RemoveChild (unsigned int _id)
 Remove a child from this entity.
 
void RemoveChild (const std::string &_name)
 Remove a child by name.
 
void RemoveChildren ()
 Remove all children.
 
virtual void Reset ()
 Reset the object.
 
virtual void Reset (Base::EntityType _resetType)
 Calls recursive Reset on one of the Base::EntityType's.
 
virtual void SetName (const std::string &_name)
 Set the name of the entity.
 
void SetParent (BasePtr _parent)
 Set the parent.
 
void SetSaveable (bool _v)
 Set whether the object should be "saved", when the user selects to save the world to xml.
 
virtual bool SetSelected (bool _show)
 Set whether this entity has been selected by the user through the gui.
 
void SetWorld (const WorldPtr &_newWorld)
 Set the world this object belongs to.
 
virtual void UpdateParameters (sdf::ElementPtr _sdf)
 Update the parameters using new sdf values.
 

Protected Member Functions

virtual void AddRay (const math::Vector3 &_start, const math::Vector3 &_end)
 Add a ray to the collision.
 
virtual void UpdateRays ()=0
 Physics engine specific method for updating the rays.
 

Protected Attributes

sdf::ElementPtr horzElem
 Horizontal SDF element pointer.
 
event::EventT< void()> newLaserScans
 New laser scans event.
 
math::Pose offset
 Pose offset of all the rays.
 
sdf::ElementPtr rangeElem
 Range SDF element pointer.
 
sdf::ElementPtr rayElem
 Ray SDF element pointer.
 
std::vector< RayShapePtrrays
 Ray data.
 
sdf::ElementPtr scanElem
 Scan SDF element pointer.
 
sdf::ElementPtr vertElem
 Vertical SDF element pointer.
 

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, SHAPE = 0x00002000,
  BOX_SHAPE = 0x00004000, CYLINDER_SHAPE = 0x00008000, HEIGHTMAP_SHAPE = 0x00010000, MAP_SHAPE = 0x00020000,
  MULTIRAY_SHAPE = 0x00040000, RAY_SHAPE = 0x00080000, PLANE_SHAPE = 0x00100000, SPHERE_SHAPE = 0x00200000,
  TRIMESH_SHAPE = 0x00400000
}
 Unique identifiers for all entity types. More...
 
- Public Attributes inherited from gazebo::physics::Shape
CollisionPtr collisionParent
 

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)
explicit

Constructor.

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

Destructor.

Member Function Documentation

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

Add a ray to the collision.

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

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

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

Connect a to the new laser scan signal.

Parameters
[in]_subscriberCallback function.
Returns
The connection, which must be kept in scope.

References gazebo::event::EventT< T >::Connect(), and newLaserScans.

void gazebo::physics::MultiRayShape::DisconnectNewLaserScans ( event::ConnectionPtr _conn)
inline

Disconnect from the new laser scans signal.

Parameters
[in]_connConnection to remove.

References gazebo::event::EventT< T >::Disconnect(), and newLaserScans.

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

This function is not implemented.

Fill a message with this shape's values.

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

Implements gazebo::physics::Shape.

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

Get detected fiducial value for a ray.

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

Get the maximum angle.

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

Get the maximum range.

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

Get the minimum angle.

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

Get the minimum range.

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

Get detected range for a ray.

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

Get the range resolution.

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

Get detected retro (intensity) value for a ray.

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

Get the horizontal sample count.

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

Get the horizontal resolution.

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

Get the vertical max angle.

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

Get the vertical min angle.

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

Get the vertical sample count.

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

Get the vertical range resolution.

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

Init the shape.

Implements gazebo::physics::Shape.

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

This function is not implemented.

Update the ray based on a message.

Parameters
[in]_msgMessage to update from.

Implements gazebo::physics::Shape.

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

Update the ray collisions.

Reimplemented from gazebo::physics::Base.

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

Physics engine specific method for updating the rays.

Implemented in gazebo::physics::BulletMultiRayShape, and gazebo::physics::ODEMultiRayShape.

Member Data Documentation

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

Horizontal SDF element pointer.

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

New laser scans event.

Referenced by ConnectNewLaserScans(), and DisconnectNewLaserScans().

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

Pose offset of all the rays.

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

Range SDF element pointer.

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

Ray SDF element pointer.

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

Ray data.

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

Scan SDF element pointer.

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

Vertical SDF element pointer.


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