FCL  0.6.0
Flexible Collision Library
fcl::BroadPhaseContinuousCollisionManager< S > Class Template Referenceabstract

Base class for broad phase continuous collision. It helps to accelerate the continuous collision/distance between N objects. Also support self collision, self distance and collision/distance with another M objects. More...

#include <broadphase_continuous_collision_manager.h>

Public Member Functions

virtual void registerObjects (const std::vector< ContinuousCollisionObject< S > * > &other_objs)
 add objects to the manager
 
virtual void registerObject (ContinuousCollisionObject< S > *obj)=0
 add one object to the manager
 
virtual void unregisterObject (ContinuousCollisionObject< S > *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 (ContinuousCollisionObject< S > *updated_obj)
 update the manager by explicitly given the object updated
 
virtual void update (const std::vector< ContinuousCollisionObject< S > * > &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< ContinuousCollisionObject< S > * > &objs) const =0
 return the objects managed by the manager
 
virtual void collide (ContinuousCollisionObject< S > *obj, void *cdata, CollisionCallBack< S > callback) const =0
 perform collision test between one object and all the objects belonging to the manager
 
virtual void distance (ContinuousCollisionObject< S > *obj, void *cdata, DistanceCallBack< S > callback) const =0
 perform distance computation between one object and all the objects belonging to the manager
 
virtual void collide (void *cdata, CollisionCallBack< S > callback) const =0
 perform collision test for the objects belonging to the manager (i.e., N^2 self collision)
 
virtual void distance (void *cdata, DistanceCallBack< S > callback) const =0
 perform distance test for the objects belonging to the manager (i.e., N^2 self distance)
 
virtual void collide (BroadPhaseContinuousCollisionManager< S > *other_manager, void *cdata, CollisionCallBack< S > callback) const =0
 perform collision test with objects belonging to another manager
 
virtual void distance (BroadPhaseContinuousCollisionManager< S > *other_manager, void *cdata, DistanceCallBack< S > 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
 

Detailed Description

template<typename S>
class fcl::BroadPhaseContinuousCollisionManager< S >

Base class for broad phase continuous collision. It helps to accelerate the continuous collision/distance between N objects. Also support self collision, self distance and collision/distance with another M objects.


The documentation for this class was generated from the following files: