Laser collision contains a set of ray-collisions, structured to simulate a laser range scanner. More...
#include <physics/physics.hh>
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 WorldPtr & | GetWorld () 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< RayShapePtr > | rays |
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 |
Laser collision contains a set of ray-collisions, structured to simulate a laser range scanner.
|
explicit |
Constructor.
[in] | _parent | Parent collision shape. |
|
virtual |
Destructor.
|
protectedvirtual |
Add a ray to the collision.
[in] | _start | Start of the ray. |
[in] | _end | End of the ray. |
Reimplemented in gazebo::physics::ODEMultiRayShape, and gazebo::physics::BulletMultiRayShape.
|
inline |
Connect a to the new laser scan signal.
[in] | _subscriber | Callback function. |
References gazebo::event::EventT< T >::Connect(), and newLaserScans.
|
inline |
Disconnect from the new laser scans signal.
[in] | _conn | Connection to remove. |
References gazebo::event::EventT< T >::Disconnect(), and newLaserScans.
|
virtual |
This function is not implemented.
Fill a message with this shape's values.
[out] | _msg | Message that contains the shape's values. |
Implements gazebo::physics::Shape.
int gazebo::physics::MultiRayShape::GetFiducial | ( | int | _index | ) |
Get detected fiducial value for a ray.
[in] | _index | Index of the ray. |
math::Angle gazebo::physics::MultiRayShape::GetMaxAngle | ( | ) | const |
Get the maximum angle.
double gazebo::physics::MultiRayShape::GetMaxRange | ( | ) | const |
Get the maximum range.
math::Angle gazebo::physics::MultiRayShape::GetMinAngle | ( | ) | const |
Get the minimum angle.
double gazebo::physics::MultiRayShape::GetMinRange | ( | ) | const |
Get the minimum range.
double gazebo::physics::MultiRayShape::GetRange | ( | int | _index | ) |
Get detected range for a ray.
[in] | _index | Index of the ray. |
double gazebo::physics::MultiRayShape::GetResRange | ( | ) | const |
Get the range resolution.
double gazebo::physics::MultiRayShape::GetRetro | ( | int | _index | ) |
Get detected retro (intensity) value for a ray.
[in] | _index | Index of the ray. |
int gazebo::physics::MultiRayShape::GetSampleCount | ( | ) | const |
Get the horizontal sample count.
double gazebo::physics::MultiRayShape::GetScanResolution | ( | ) | const |
Get the horizontal resolution.
math::Angle gazebo::physics::MultiRayShape::GetVerticalMaxAngle | ( | ) | const |
Get the vertical max angle.
math::Angle gazebo::physics::MultiRayShape::GetVerticalMinAngle | ( | ) | const |
Get the vertical min angle.
int gazebo::physics::MultiRayShape::GetVerticalSampleCount | ( | ) | const |
Get the vertical sample count.
double gazebo::physics::MultiRayShape::GetVerticalScanResolution | ( | ) | const |
Get the vertical range resolution.
|
virtual |
Init the shape.
Implements gazebo::physics::Shape.
|
virtual |
This function is not implemented.
Update the ray based on a message.
[in] | _msg | Message to update from. |
Implements gazebo::physics::Shape.
|
virtual |
Update the ray collisions.
Reimplemented from gazebo::physics::Base.
|
protectedpure virtual |
Physics engine specific method for updating the rays.
Implemented in gazebo::physics::BulletMultiRayShape, and gazebo::physics::ODEMultiRayShape.
|
protected |
Horizontal SDF element pointer.
|
protected |
New laser scans event.
Referenced by ConnectNewLaserScans(), and DisconnectNewLaserScans().
|
protected |
Pose offset of all the rays.
|
protected |
Range SDF element pointer.
|
protected |
Ray SDF element pointer.
|
protected |
Ray data.
|
protected |
Scan SDF element pointer.
|
protected |
Vertical SDF element pointer.