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;