18 #ifndef _CONTACTMANAGER_HH_
19 #define _CONTACTMANAGER_HH_
25 #include <boost/unordered/unordered_set.hpp>
26 #include <boost/unordered/unordered_map.hpp>
27 #include <boost/thread/recursive_mutex.hpp>
97 public:
unsigned int GetContactCount()
const;
103 public:
Contact *GetContact(
unsigned int _index)
const;
110 public:
const std::vector<Contact *> &GetContacts()
const;
113 public:
void Clear();
116 public:
void PublishContacts();
119 public:
void ResetCount();
126 public: std::string CreateFilter(
const std::string &_topic,
127 const std::vector<std::string> &_collisions);
134 public: std::string CreateFilter(
const std::string &_topic,
135 const std::string &_collision);
143 public: std::string CreateFilter(
const std::string &_name,
144 const std::map<std::string, physics::CollisionPtr>
149 public:
void RemoveFilter(
const std::string &_name);
153 public:
unsigned int GetFilterCount();
158 public:
bool HasFilter(
const std::string &_name);
160 private: std::vector<Contact*> contacts;
162 private:
unsigned int contactIndex;
175 private: boost::unordered_map<std::string, ContactPublisher *>
176 customContactPublishers;
179 private: boost::recursive_mutex *customMutex;
#define GZ_PHYSICS_VISIBLE
Definition: system.hh:259
Base class for all collision entities.
Definition: Collision.hh:44
Forward declarations for transport.
default namespace for gazebo
boost::shared_ptr< World > WorldPtr
Definition: PhysicsTypes.hh:84
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:49
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:44