All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends

fcl::BroadPhaseCollisionManager Class Reference

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. More...

#include <broadphase.h>

Inheritance diagram for fcl::BroadPhaseCollisionManager:

[legend]
List of all members.

Public Member 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
virtual void collide (CollisionObject *obj, void *cdata, CollisionCallBack callback) const =0
 perform collision test between one object and all the objects belonging to the manager
virtual void distance (CollisionObject *obj, void *cdata, DistanceCallBack callback) const =0
 perform distance computation between one object and all the objects belonging to the manager
virtual void collide (void *cdata, CollisionCallBack 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 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, void *cdata, CollisionCallBack callback) const =0
 perform collision test with objects belonging to another manager
virtual void distance (BroadPhaseCollisionManager *other_manager, void *cdata, DistanceCallBack 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 Member Functions

bool inTestedSet (CollisionObject *a, CollisionObject *b) const
void insertTestedSet (CollisionObject *a, CollisionObject *b) const

Protected Attributes

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.
bool enable_tested_set_

Detailed Description

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.

Definition at line 58 of file broadphase.h.


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