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();
59 public:
virtual void UpdateParameters(sdf::ElementPtr _sdf);
64 public:
void SetCollision(
bool _placeable);
68 public:
void SetPlaceable(
const bool _placeable);
73 public:
bool IsPlaceable()
const;
77 public:
virtual void SetCategoryBits(
unsigned int _bits) = 0;
81 public:
virtual void SetCollideBits(
unsigned int _bits) = 0;
85 public:
void SetLaserRetro(
float _retro);
89 public:
float GetLaserRetro()
const;
93 public:
LinkPtr GetLink()
const;
101 public:
virtual ignition::math::Box BoundingBox()
const = 0;
106 public:
unsigned int GetShapeType()
const;
110 public:
void SetShape(
ShapePtr _shape);
118 public:
void SetScale(
const ignition::math::Vector3d &_scale);
122 public:
virtual ignition::math::Vector3d RelativeLinearVel()
const;
127 public:
virtual ignition::math::Vector3d WorldLinearVel()
const;
131 public:
virtual ignition::math::Vector3d RelativeAngularVel()
const;
135 public:
virtual ignition::math::Vector3d WorldAngularVel()
const;
139 public:
virtual ignition::math::Vector3d RelativeLinearAccel()
const;
144 public:
virtual ignition::math::Vector3d WorldLinearAccel()
const;
148 public:
virtual ignition::math::Vector3d RelativeAngularAccel()
const;
153 public:
virtual ignition::math::Vector3d WorldAngularAccel()
const;
165 public:
void FillMsg(msgs::Collision &_msg);
169 public:
void ProcessMsg(
const msgs::Collision &_msg);
174 {
return this->surface;}
179 public:
virtual void SetMaxContacts(
unsigned int _maxContacts);
184 public:
virtual unsigned int GetMaxContacts();
189 public:
void SetWorldPoseDirty();
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;
boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:109
Base class for all collision entities.
Definition: Collision.hh:38
ShapePtr shape
Pointer to physics::Shape.
Definition: Collision.hh:205
SurfaceParamsPtr surface
The surface parameters.
Definition: Collision.hh:208
LinkPtr link
The link this collision belongs to.
Definition: Collision.hh:199
bool placeable
Flag for placeable.
Definition: Collision.hh:202
default namespace for gazebo
boost::shared_ptr< SurfaceParams > SurfaceParamsPtr
Definition: PhysicsTypes.hh:169
SurfaceParamsPtr GetSurface() const
Get the surface parameters.
Definition: Collision.hh:173
Base class for all physics objects in Gazebo.
Definition: Entity.hh:52
boost::shared_ptr< Shape > ShapePtr
Definition: PhysicsTypes.hh:141
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:93
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:43