22 #ifndef _COLLISION_HH_
23 #define _COLLISION_HH_
54 public:
virtual void Fini();
58 public:
virtual void Load(sdf::ElementPtr _sdf);
61 public:
virtual void Init();
65 public:
virtual void UpdateParameters(sdf::ElementPtr _sdf);
69 public:
void SetCollision(
bool _placeable);
74 public:
bool IsPlaceable()
const;
78 public:
virtual void SetCategoryBits(
unsigned int _bits) = 0;
82 public:
virtual void SetCollideBits(
unsigned int _bits) = 0;
86 public:
void SetLaserRetro(
float _retro);
90 public:
float GetLaserRetro()
const;
94 public:
LinkPtr GetLink()
const;
102 public:
virtual math::Box GetBoundingBox()
const = 0;
107 public:
unsigned int GetShapeType()
const;
111 public:
void SetShape(
ShapePtr _shape);
140 public:
virtual math::Vector3 GetRelativeLinearAccel()
const;
149 public:
virtual math::Vector3 GetRelativeAngularAccel()
const;
166 public:
void FillMsg(msgs::Collision &_msg);
170 public:
void ProcessMsg(
const msgs::Collision &_msg);
175 {
return this->surface;}
180 public:
virtual void SetMaxContacts(
unsigned int _maxContacts);
185 public:
virtual unsigned int GetMaxContacts();
190 public:
void SetWorldPoseDirty();
193 public:
virtual const math::Pose &GetWorldPose()
const;
197 private: msgs::Visual CreateCollisionVisual();
212 private:
float laserRetro;
218 private:
unsigned int maxContacts;
221 private: uint32_t collisionVisualId;
224 private:
mutable bool worldPoseDirty;
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:88
ShapePtr shape
Pointer to physics::Shape.
Definition: Collision.hh:206
#define GZ_PHYSICS_VISIBLE
Definition: system.hh:259
Encapsulates a position and rotation in three space.
Definition: Pose.hh:37
Base class for all collision entities.
Definition: Collision.hh:44
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:39
Mathematical representation of a box and related functions.
Definition: Box.hh:35
boost::shared_ptr< Shape > ShapePtr
Definition: PhysicsTypes.hh:132
default namespace for gazebo
LinkPtr link
The link this collision belongs to.
Definition: Collision.hh:200
boost::shared_ptr< SurfaceParams > SurfaceParamsPtr
Definition: PhysicsTypes.hh:160
SurfaceParamsPtr surface
The surface parameters.
Definition: Collision.hh:209
Base class for all physics objects in Gazebo.
Definition: Entity.hh:58
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Store state information of a physics::Collision object.
Definition: CollisionState.hh:42
SurfaceParamsPtr GetSurface() const
Get the surface parameters.
Definition: Collision.hh:174
bool placeable
Flag for placeable.
Definition: Collision.hh:203
boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:100