Class BroadPhaseCollisionManager
Defined in File broadphase_collision_manager.h
Inheritance Relationships
Derived Types
public hpp::fcl::DynamicAABBTreeArrayCollisionManager
(Class DynamicAABBTreeArrayCollisionManager)public hpp::fcl::DynamicAABBTreeCollisionManager
(Class DynamicAABBTreeCollisionManager)public hpp::fcl::IntervalTreeCollisionManager
(Class IntervalTreeCollisionManager)public hpp::fcl::NaiveCollisionManager
(Class NaiveCollisionManager)public hpp::fcl::SSaPCollisionManager
(Class SSaPCollisionManager)public hpp::fcl::SaPCollisionManager
(Class SaPCollisionManager)public hpp::fcl::SpatialHashingCollisionManager< HashTable >
(Template Class SpatialHashingCollisionManager)
Class Documentation
-
class BroadPhaseCollisionManager
Base class for broad phase collision. It helps to accelerate the collision/distance between N objects. Also support self collision, self distance and collision/distance with another M objects.
Subclassed by hpp::fcl::DynamicAABBTreeArrayCollisionManager, hpp::fcl::DynamicAABBTreeCollisionManager, hpp::fcl::IntervalTreeCollisionManager, hpp::fcl::NaiveCollisionManager, hpp::fcl::SSaPCollisionManager, hpp::fcl::SaPCollisionManager, hpp::fcl::SpatialHashingCollisionManager< HashTable >
Public Functions
-
BroadPhaseCollisionManager()
-
virtual ~BroadPhaseCollisionManager()
-
virtual void registerObjects(const std::vector<CollisionObject*> &other_objs)
add objects to the manager
-
virtual void registerObject(CollisionObject *obj) = 0
add one object to the manager
-
virtual void unregisterObject(CollisionObject *obj) = 0
remove one object from the manager
-
virtual void setup() = 0
initialize the manager, related with the specific type of manager
-
virtual void update() = 0
update the condition of manager
-
virtual void update(CollisionObject *updated_obj)
update the manager by explicitly given the object updated
-
virtual void update(const std::vector<CollisionObject*> &updated_objs)
update the manager by explicitly given the set of objects update
-
virtual void clear() = 0
clear the manager
-
virtual void getObjects(std::vector<CollisionObject*> &objs) const = 0
return the objects managed by the manager
-
inline virtual std::vector<CollisionObject*> getObjects() const
return the objects managed by the manager
-
virtual void collide(CollisionObject *obj, CollisionCallBackBase *callback) const = 0
perform collision test between one object and all the objects belonging to the manager
-
virtual void distance(CollisionObject *obj, DistanceCallBackBase *callback) const = 0
perform distance computation between one object and all the objects belonging to the manager
-
virtual void collide(CollisionCallBackBase *callback) const = 0
perform collision test for the objects belonging to the manager (i.e., N^2 self collision)
-
virtual void distance(DistanceCallBackBase *callback) const = 0
perform distance test for the objects belonging to the manager (i.e., N^2 self distance)
-
virtual void collide(BroadPhaseCollisionManager *other_manager, CollisionCallBackBase *callback) const = 0
perform collision test with objects belonging to another manager
-
virtual void distance(BroadPhaseCollisionManager *other_manager, DistanceCallBackBase *callback) const = 0
perform distance test with objects belonging to another manager
-
virtual bool empty() const = 0
whether the manager is empty
-
virtual size_t size() const = 0
the number of objects managed by the manager
Protected Functions
-
bool inTestedSet(CollisionObject *a, CollisionObject *b) const
-
void insertTestedSet(CollisionObject *a, CollisionObject *b) const
Protected Attributes
-
mutable std::set<std::pair<CollisionObject*, CollisionObject*>> tested_set
tools help to avoid repeating collision or distance callback for the pairs of objects tested before. It can be useful for some of the broadphase algorithms.
-
mutable bool enable_tested_set_
-
BroadPhaseCollisionManager()