All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Protected Attributes
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:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BroadPhaseCollisionManager ()
virtual void clear ()=0
 clear 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 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 collide (BroadPhaseCollisionManager *other_manager, void *cdata, CollisionCallBack callback) const =0
 perform collision test with objects belonging to another 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 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 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 void getObjects (std::vector< CollisionObject * > &objs) const =0
 return the objects managed by the manager
virtual void registerObject (CollisionObject *obj)=0
 add one object to the manager
virtual void registerObjects (const std::vector< CollisionObject * > &other_objs)
 add objects to the manager
virtual void setup ()=0
 initialize the manager, related with the specific type of manager
virtual size_t size () const =0
 the number of objects managed by the manager
virtual void unregisterObject (CollisionObject *obj)=0
 remove one object from the 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 ~BroadPhaseCollisionManager ()

Protected Member Functions

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

Protected Attributes

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

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.


Constructor & Destructor Documentation

Definition at line 61 of file broadphase.h.

Definition at line 65 of file broadphase.h.


Member Function Documentation

virtual void fcl::BroadPhaseCollisionManager::clear ( ) [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::collide ( CollisionObject obj,
void *  cdata,
CollisionCallBack  callback 
) const [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::collide ( void *  cdata,
CollisionCallBack  callback 
) const [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::collide ( BroadPhaseCollisionManager other_manager,
void *  cdata,
CollisionCallBack  callback 
) const [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::distance ( CollisionObject obj,
void *  cdata,
DistanceCallBack  callback 
) const [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::distance ( void *  cdata,
DistanceCallBack  callback 
) const [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::distance ( BroadPhaseCollisionManager other_manager,
void *  cdata,
DistanceCallBack  callback 
) const [pure virtual]
virtual bool fcl::BroadPhaseCollisionManager::empty ( ) const [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::getObjects ( std::vector< CollisionObject * > &  objs) const [pure virtual]
void fcl::BroadPhaseCollisionManager::insertTestedSet ( CollisionObject a,
CollisionObject b 
) const [inline, protected]

Definition at line 140 of file broadphase.h.

bool fcl::BroadPhaseCollisionManager::inTestedSet ( CollisionObject a,
CollisionObject b 
) const [inline, protected]

Definition at line 134 of file broadphase.h.

virtual void fcl::BroadPhaseCollisionManager::registerObject ( CollisionObject obj) [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::registerObjects ( const std::vector< CollisionObject * > &  other_objs) [inline, virtual]
virtual void fcl::BroadPhaseCollisionManager::setup ( ) [pure virtual]
virtual size_t fcl::BroadPhaseCollisionManager::size ( ) const [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::update ( ) [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::update ( CollisionObject updated_obj) [inline, virtual]
virtual void fcl::BroadPhaseCollisionManager::update ( const std::vector< CollisionObject * > &  updated_objs) [inline, virtual]

Member Data Documentation

Definition at line 132 of file broadphase.h.

std::set<std::pair<CollisionObject*, CollisionObject*> > fcl::BroadPhaseCollisionManager::tested_set [mutable, protected]

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.

Definition at line 131 of file broadphase.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


fcl
Author(s): Jia Pan
autogenerated on Tue Jan 15 2013 16:05:31