17#ifndef GAZEBO_PHYSICS_COLLISION_HH_
18#define GAZEBO_PHYSICS_COLLISION_HH_
48 public:
virtual void Fini();
52 public:
virtual void Load(sdf::ElementPtr _sdf);
55 public:
virtual void Init();
118 public:
void SetScale(
const ignition::math::Vector3d &_scale);
174 {
return this->surface;}
192 public:
virtual const ignition::math::Pose3d &
WorldPose()
const;
196 private: msgs::Visual CreateCollisionVisual();
211 private:
float laserRetro = 0.0;
217 private:
unsigned int maxContacts;
220 private: uint32_t collisionVisualId;
223 private:
mutable bool worldPoseDirty;
default namespace for gazebo
Store state information of a physics::Collision object.
Definition CollisionState.hh:44
Base class for all collision entities.
Definition Collision.hh:39
ModelPtr GetModel() const
Get the model this collision belongs to.
void SetState(const CollisionState &_state)
Set the current collision state.
CollisionState GetState()
Get the collision state.
bool placeable
Flag for placeable.
Definition Collision.hh:202
virtual ignition::math::Vector3d RelativeAngularVel() const
Get the angular velocity of the collision.
ShapePtr shape
Pointer to physics::Shape.
Definition Collision.hh:205
virtual void Fini()
Finalize the collision.
unsigned int GetShapeType() const
Get the shape type.
void FillMsg(msgs::Collision &_msg)
Fill a collision message.
virtual void Init()
Initialize the collision.
LinkPtr GetLink() const
Get the link this collision belongs to.
virtual ~Collision()
Destructor.
void SetPlaceable(const bool _placeable)
Set if this object is moveable.
virtual ignition::math::Vector3d WorldAngularVel() const
Get the angular velocity of the collision in the world frame.
virtual void SetCategoryBits(unsigned int _bits)=0
Set the category bits, used during collision detection.
virtual const ignition::math::Pose3d & WorldPose() const
Get the absolute pose of the entity.
virtual ignition::math::Box BoundingBox() const =0
Get the bounding box for this collision.
SurfaceParamsPtr surface
The surface parameters.
Definition Collision.hh:208
SurfaceParamsPtr GetSurface() const
Get the surface parameters.
Definition Collision.hh:173
virtual ignition::math::Vector3d RelativeLinearVel() const
Get the linear velocity of the collision.
LinkPtr link
The link this collision belongs to.
Definition Collision.hh:199
virtual ignition::math::Vector3d RelativeAngularAccel() const
Get the angular acceleration of the collision.
virtual ignition::math::Vector3d RelativeLinearAccel() const
Get the linear acceleration of the collision.
virtual ignition::math::Vector3d WorldLinearAccel() const
Get the linear acceleration of the collision in the world frame.
bool IsPlaceable() const
Return whether this collision is movable.
void SetCollision(bool _placeable)
Set the encapsulated collision object.
virtual void Load(sdf::ElementPtr _sdf)
Load the collision.
void SetShape(ShapePtr _shape)
Set the shape for this collision.
void SetLaserRetro(float _retro)
Set the laser retro reflectiveness.
virtual void SetCollideBits(unsigned int _bits)=0
Set the collide bits, used during collision detection.
virtual void UpdateParameters(sdf::ElementPtr _sdf)
Update the parameters using new sdf values.
virtual unsigned int GetMaxContacts()
returns number of contacts allowed for this collision.
virtual ignition::math::Vector3d WorldAngularAccel() const
Get the angular acceleration of the collision in the world frame.
float GetLaserRetro() const
Get the laser retro reflectiveness.
virtual ignition::math::Vector3d WorldLinearVel() const
Get the linear velocity of the collision in the world frame.
ShapePtr GetShape() const
Get the collision shape.
Collision(LinkPtr _link)
Constructor.
virtual void SetMaxContacts(unsigned int _maxContacts)
Number of contacts allowed for this collision.
void SetWorldPoseDirty()
Indicate that the world pose should be recalculated.
void SetScale(const ignition::math::Vector3d &_scale)
Set the scale of the collision.
void ProcessMsg(const msgs::Collision &_msg)
Update parameters from a message.
Base class for all physics objects in Gazebo.
Definition Entity.hh:53
boost::shared_ptr< Link > LinkPtr
Definition PhysicsTypes.hh:109
boost::shared_ptr< SurfaceParams > SurfaceParamsPtr
Definition PhysicsTypes.hh:169
boost::shared_ptr< Shape > ShapePtr
Definition PhysicsTypes.hh:141
boost::shared_ptr< Model > ModelPtr
Definition PhysicsTypes.hh:93
Forward declarations for the common classes.
Definition Animation.hh:27