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();
111 public:
void SetShape(
ShapePtr _shape);
156 public:
virtual math::Vector3 GetRelativeLinearAccel()
const;
165 public:
virtual math::Vector3 GetRelativeAngularAccel()
const;
182 public:
void FillMsg(msgs::Collision &_msg);
186 public:
void ProcessMsg(
const msgs::Collision &_msg);
191 {
return this->surface;}
196 public:
virtual void SetMaxContacts(
unsigned int _maxContacts);
201 public:
virtual unsigned int GetMaxContacts();
205 private: msgs::Visual CreateCollisionVisual();
220 private:
float laserRetro;
226 private:
unsigned int maxContacts;
229 private: uint32_t collisionVisualId;