Laser collision contains a set of ray-collisions, structured to simulate a laser range scanner. More...
#include <physics/physics.hh>
Inherits Shape.
Inherited by BulletMultiRayShape, DARTMultiRayShape, ODEMultiRayShape, and SimbodyMultiRayShape.
Public Types | |
| enum | EntityType { BASE = 0x00000000, ENTITY = 0x00000001, MODEL = 0x00000002, LINK = 0x00000004, COLLISION = 0x00000008, 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, ACTOR = 0x00008000, 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 | |
| MultiRayShape (CollisionPtr _parent) | |
| Constructor. More... | |
| MultiRayShape (PhysicsEnginePtr _physicsEngine) | |
| Constructor for a stand alone multiray shape. More... | |
| virtual | ~MultiRayShape () |
| Destructor. More... | |
| void | AddChild (BasePtr _child) |
| Add a child to this entity. More... | |
| virtual void | AddRay (const math::Vector3 &_start, const math::Vector3 &_end) |
| Add a ray to the collision. More... | |
| void | AddType (EntityType _type) |
| Add a type specifier. More... | |
| virtual double | ComputeVolume () const |
| Documentation inherited. 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... | |
| 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 (unsigned int _index) |
| Get detected fiducial value for a ray. More... | |
| uint32_t | GetId () const |
| Return the ID of this entity. 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... | |
| 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... | |
| 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... | |
| 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... | |
| double | GetScanResolution () const |
| Get the horizontal resolution. 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... | |
| 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... | |
| 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 () |
| Init the shape. 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) |
| This function is not implemented. More... | |
| RayShapePtr | Ray (const unsigned int _rayIndex) const |
| Get a pointer to a ray. More... | |
| unsigned int | RayCount () const |
| Get the number of rays. 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... | |
| bool | SetRay (const unsigned int _rayIndex, const ignition::math::Vector3d &_start, const ignition::math::Vector3d &_end) |
| Set the points of a 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 multi ray shape. 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... | |
| std::string | TypeStr () const |
| Get the string name for the entity type. More... | |
| void | Update () |
| Update the ray collisions. More... | |
| virtual void | UpdateParameters (sdf::ElementPtr _sdf) |
| Update the parameters using new sdf values. More... | |
| virtual void | UpdateRays ()=0 |
| Method for updating the rays. More... | |
| common::URI | URI () const |
| Return the common::URI of this entity. 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... | |
| 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... | |
| BasePtr | parent |
| Parent of this entity. More... | |
| sdf::ElementPtr | rangeElem |
| Range SDF element pointer. More... | |
| sdf::ElementPtr | rayElem |
| Ray SDF element pointer. More... | |
| std::vector< RayShapePtr > | rays |
| Ray data. More... | |
| math::Vector3 | scale |
| This shape's scale;. More... | |
| sdf::ElementPtr | scanElem |
| Scan SDF element pointer. More... | |
| sdf::ElementPtr | sdf |
| The SDF values for this object. More... | |
| sdf::ElementPtr | vertElem |
| Vertical SDF element pointer. More... | |
| WorldPtr | world |
| Pointer to the world. More... | |
Laser collision contains a set of ray-collisions, structured to simulate a laser range scanner.
|
inherited |
Unique identifiers for all entity types.
| Enumerator | |
|---|---|
| BASE |
Base type. |
| ENTITY |
Entity type. |
| MODEL |
Model type. |
| LINK |
Link type. |
| COLLISION |
Collision 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. |
| ACTOR |
Actor 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. |
|
explicit |
Constructor.
| [in] | _parent | Parent collision shape. |
|
explicit |
Constructor for a stand alone multiray shape.
Stand alone means the multiray shape is not attached to a Collision object.
Example:
gazebo::physics::MultiRayShapePtr rays = boost::dynamic_pointer_cast<gazebo::physics::MultiRayShape>( world->GetPhysicsEngine()->CreateShape("multiray", gazebo::physics::CollisionPtr()));
| [in] | _physicsEngine | Pointer to the physics engine. |
|
virtual |
Destructor.
|
inherited |
Add a child to this entity.
| [in] | _child | Child entity. |
|
virtual |
Add a ray to the collision.
| [in] | _start | Start of the ray. |
| [in] | _end | End of the ray. |
Reimplemented in ODEMultiRayShape, DARTMultiRayShape, SimbodyMultiRayShape, and BulletMultiRayShape.
|
inherited |
Add a type specifier.
| [in] | _type | New type to append to this objects type definition. |
|
protectedinherited |
Compute the scoped name of this object based on its parents.
|
virtual |
Documentation inherited.
Reimplemented from Shape.
|
inline |
Connect a to the new laser scan signal.
| [in] | _subscriber | Callback function. |
References EventT< T >::Connect(), and MultiRayShape::newLaserScans.
|
inline |
Disconnect from the new laser scans signal.
| [in] | _conn | Connection to remove. |
References EventT< T >::Disconnect(), and MultiRayShape::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 Shape.
|
virtualinherited |
Finialize the object.
Reimplemented in Joint, Actor, Link, Model, Entity, DARTModel, ODEJoint, BulletLink, DARTCollision, DARTLink, Collision, ODECollision, SimbodyLink, BulletJoint, and ODELink.
|
inherited |
Get by name.
| [in] | _name | Get a child (or self) object by name |
|
inherited |
Get a child by index.
| [in] | _i | Index of the child to retreive. |
|
inherited |
Get a child by name.
| [in] | _name | Name of the child. |
|
inherited |
Get the number of children.
| int GetFiducial | ( | unsigned int | _index | ) |
Get detected fiducial value for a ray.
| [in] | _index | Index of the ray. |
|
inherited |
Return the ID of this entity.
This id is unique.
| 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.
|
inherited |
Return the name of the entity.
|
inherited |
Get the parent.
|
inherited |
Return the ID of the parent.
| double GetRange | ( | unsigned int | _index | ) |
Get detected range for a ray.
| [in] | _index | Index of the ray. |
| double GetResRange | ( | ) | const |
Get the range resolution.
| double GetRetro | ( | unsigned int | _index | ) |
Get detected retro (intensity) value for a ray.
| [in] | _index | Index of the ray. |
| int GetSampleCount | ( | ) | const |
Get the horizontal sample count.
|
inherited |
Get whether the object should be "saved", when the user selects to save the world to xml.
|
virtualinherited |
| double GetScanResolution | ( | ) | const |
Get the horizontal resolution.
|
inherited |
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. |
|
virtualinherited |
|
inherited |
Get the full type definition.
| 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.
|
inherited |
|
inherited |
Returns true if this object's type definition has the given type.
| [in] | _t | Type to check. |
|
virtual |
Init the shape.
Implements Shape.
|
inherited |
True if the entity is selected by the user.
|
virtualinherited |
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, ScrewJoint< ODEJoint >, ScrewJoint< DARTJoint >, ScrewJoint< SimbodyJoint >, ScrewJoint< BulletJoint >, BulletLink, DARTJoint, ODECollision, 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.
|
inherited |
Returns true if the entities are the same.
Checks only the name.
| [in] | _ent | Base object to compare with. |
|
inherited |
Print this object to screen via gzmsg.
| [in] | _prefix | Usually a set of spaces. |
|
virtual |
This function is not implemented.
Update the ray based on a message.
| [in] | _msg | Message to update from. |
Implements Shape.
| RayShapePtr Ray | ( | const unsigned int | _rayIndex | ) | const |
Get a pointer to a ray.
| [in] | _rayIndex | index to the ray |
| unsigned int RayCount | ( | ) | const |
Get the number of rays.
|
virtualinherited |
Remove a child from this entity.
| [in] | _id | ID of the child to remove. |
|
inherited |
Remove a child by name.
| [in] | _name | Name of the child. |
|
inherited |
Remove all children.
|
virtualinherited |
Reset the object.
Reimplemented in Joint, Model, Link, Entity, ODEJoint, DARTJoint, BulletJoint, and SimbodyJoint.
|
virtualinherited |
Calls recursive Reset on one of the Base::EntityType's.
| [in] | _resetType | The type of reset operation |
|
virtualinherited |
|
inherited |
Set the parent.
| [in] | _parent | Parent object. |
| bool SetRay | ( | const unsigned int | _rayIndex, |
| const ignition::math::Vector3d & | _start, | ||
| const ignition::math::Vector3d & | _end | ||
| ) |
Set the points of a ray.
| [in] | _rayIndex | Index of the ray to set. |
| [in] | _start | Start of the ray. |
| [in] | _end | End of the ray. |
|
inherited |
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. |
|
virtual |
Set the scale of the multi ray shape.
Implements Shape.
|
virtualinherited |
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.
|
inherited |
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. |
|
inherited |
Get the string name for the entity type.
|
virtual |
Update the ray collisions.
Reimplemented from Base.
|
virtualinherited |
|
pure virtual |
Method for updating the rays.
This function is normally called automatically, such as when a laser sensor is updated. Only call this function on a standalone multiray shape.
Implemented in DARTMultiRayShape, ODEMultiRayShape, SimbodyMultiRayShape, and BulletMultiRayShape.
|
inherited |
Return the common::URI of this entity.
The URI includes the world where the entity is contained and all the hierarchy of sub-entities that can compose this entity. E.g.: A link entity contains the name of the link and the model where the link is contained.
|
protectedinherited |
Children of this entity.
|
protectedinherited |
This shape's collision parent.
Referenced by ODEPlaneShape::CreatePlane(), BulletPlaneShape::CreatePlane(), ODEPlaneShape::SetAltitude(), SimbodySphereShape::SetRadius(), ODESphereShape::SetRadius(), BulletSphereShape::SetRadius(), ODECylinderShape::SetSize(), SimbodyBoxShape::SetSize(), SimbodyCylinderShape::SetSize(), BulletBoxShape::SetSize(), ODEBoxShape::SetSize(), and BulletCylinderShape::SetSize().
|
protected |
Horizontal SDF element pointer.
|
protected |
New laser scans event.
Referenced by MultiRayShape::ConnectNewLaserScans(), and MultiRayShape::DisconnectNewLaserScans().
|
protected |
Pose offset of all the rays.
|
protectedinherited |
Parent of this entity.
|
protected |
Range SDF element pointer.
|
protected |
Ray SDF element pointer.
|
protected |
Ray data.
|
protectedinherited |
This shape's scale;.
|
protected |
Scan SDF element pointer.
|
protectedinherited |
The SDF values for this object.
|
protected |
Vertical SDF element pointer.
|
protectedinherited |
Pointer to the world.