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 <hpp/fcl/broadphase/broadphase.h>

Inheritance diagram for fcl::BroadPhaseCollisionManager:
[legend]
Collaboration 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 *)
 update the manager by explicitly given the object updated
virtual void update (const std::vector< CollisionObject * > &)
 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.


Constructor & Destructor Documentation

fcl::BroadPhaseCollisionManager::BroadPhaseCollisionManager ( ) [inline]
virtual fcl::BroadPhaseCollisionManager::~BroadPhaseCollisionManager ( ) [inline, virtual]

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]

References tested_set.

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

References tested_set.

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::unregisterObject ( CollisionObject obj) [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::update ( ) [pure virtual]
virtual void fcl::BroadPhaseCollisionManager::update ( CollisionObject ) [inline, virtual]
virtual void fcl::BroadPhaseCollisionManager::update ( const std::vector< CollisionObject * > &  ) [inline, virtual]

Member Data Documentation

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.

Referenced by insertTestedSet(), and inTestedSet().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines