UGDK  0.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
collisionclass.h
Go to the documentation of this file.
1 #ifndef PYRAMIDWORKS_COLLISION_COLLISIONMASK_H_
2 #define PYRAMIDWORKS_COLLISION_COLLISIONMASK_H_
3 
4 #include <string>
5 #include <list>
6 #include <set>
7 #include <ugdk/util.h>
9 
10 namespace pyramidworks {
11 namespace collision {
12 
16  public:
18  const CollisionClass* parent() const { return parent_; }
19  void set_parent(CollisionClass* parent) { parent_ = parent; }
20 
21  const CollisionObjectList FindCollidingObjects(const CollisionObject *target) const;
22 
23  void AddObject(const CollisionObject *obj);
24  void RemoveObject(const CollisionObject *obj);
25  void RefreshObject(const CollisionObject *obj);
26 
27 #ifdef DEBUG
28  void set_name(const std::string &name) { name_ = name; }
29 #endif
30  private:
31  friend class CollisionManager;
32  CollisionClass(const ugdk::ikdtree::Box<2>& tree_bounding_box);
33 
34 #ifdef DEBUG
35  // Unnecessary, used for debugging purposes.
36  std::string name_;
37 #endif
38  CollisionClass* parent_;
39  ObjectTree* objects_tree_;
40 };
41 
42 } // namespace collision
43 } // namespace pyramidworks
44 
45 #endif /* PYRAMIDWORKS_COLLISION_COLLISIONMASK_H_ */