Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
hpp::fcl::BroadPhaseCollisionManager Class Referenceabstract

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_collision_manager.h>

Inheritance diagram for hpp::fcl::BroadPhaseCollisionManager:
Inheritance graph
[legend]

Public Member Functions

 BroadPhaseCollisionManager ()
 
virtual void clear ()=0
 clear the manager More...
 
virtual void collide (CollisionObject *obj, CollisionCallBackBase *callback) const =0
 perform collision test between one object and all the objects belonging to the manager More...
 
virtual void collide (CollisionCallBackBase *callback) const =0
 perform collision test for the objects belonging to the manager (i.e., N^2 self collision) More...
 
virtual void collide (BroadPhaseCollisionManager *other_manager, CollisionCallBackBase *callback) const =0
 perform collision test with objects belonging to another manager More...
 
virtual void distance (CollisionObject *obj, DistanceCallBackBase *callback) const =0
 perform distance computation between one object and all the objects belonging to the manager More...
 
virtual void distance (DistanceCallBackBase *callback) const =0
 perform distance test for the objects belonging to the manager (i.e., N^2 self distance) More...
 
virtual void distance (BroadPhaseCollisionManager *other_manager, DistanceCallBackBase *callback) const =0
 perform distance test with objects belonging to another manager More...
 
virtual bool empty () const =0
 whether the manager is empty More...
 
virtual void getObjects (std::vector< CollisionObject *> &objs) const =0
 return the objects managed by the manager More...
 
virtual std::vector< CollisionObject * > getObjects () const
 return the objects managed by the manager More...
 
virtual void registerObject (CollisionObject *obj)=0
 add one object to the manager More...
 
virtual void registerObjects (const std::vector< CollisionObject *> &other_objs)
 add objects to the manager More...
 
virtual void setup ()=0
 initialize the manager, related with the specific type of manager More...
 
virtual size_t size () const =0
 the number of objects managed by the manager More...
 
virtual void unregisterObject (CollisionObject *obj)=0
 remove one object from the manager More...
 
virtual void update ()=0
 update the condition of manager More...
 
virtual void update (CollisionObject *updated_obj)
 update the manager by explicitly given the object updated More...
 
virtual void update (const std::vector< CollisionObject *> &updated_objs)
 update the manager by explicitly given the set of objects update More...
 
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. More...
 

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 54 of file broadphase_collision_manager.h.

Constructor & Destructor Documentation

◆ BroadPhaseCollisionManager()

hpp::fcl::BroadPhaseCollisionManager::BroadPhaseCollisionManager ( )

Definition at line 44 of file broadphase_collision_manager.cpp.

◆ ~BroadPhaseCollisionManager()

hpp::fcl::BroadPhaseCollisionManager::~BroadPhaseCollisionManager ( )
virtual

Definition at line 50 of file broadphase_collision_manager.cpp.

Member Function Documentation

◆ clear()

virtual void hpp::fcl::BroadPhaseCollisionManager::clear ( )
pure virtual

◆ collide() [1/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::collide ( CollisionObject obj,
CollisionCallBackBase callback 
) const
pure virtual

◆ collide() [2/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::collide ( CollisionCallBackBase callback) const
pure virtual

◆ collide() [3/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::collide ( BroadPhaseCollisionManager other_manager,
CollisionCallBackBase callback 
) const
pure virtual

◆ distance() [1/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::distance ( CollisionObject obj,
DistanceCallBackBase callback 
) const
pure virtual

◆ distance() [2/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::distance ( DistanceCallBackBase callback) const
pure virtual

◆ distance() [3/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::distance ( BroadPhaseCollisionManager other_manager,
DistanceCallBackBase callback 
) const
pure virtual

◆ empty()

virtual bool hpp::fcl::BroadPhaseCollisionManager::empty ( ) const
pure virtual

◆ getObjects() [1/2]

virtual void hpp::fcl::BroadPhaseCollisionManager::getObjects ( std::vector< CollisionObject *> &  objs) const
pure virtual

◆ getObjects() [2/2]

virtual std::vector<CollisionObject*> hpp::fcl::BroadPhaseCollisionManager::getObjects ( ) const
inlinevirtual

return the objects managed by the manager

Reimplemented in hpp::fcl::BroadPhaseCollisionManagerWrapper.

Definition at line 88 of file broadphase_collision_manager.h.

◆ insertTestedSet()

void hpp::fcl::BroadPhaseCollisionManager::insertTestedSet ( CollisionObject a,
CollisionObject b 
) const
protected

Definition at line 85 of file broadphase_collision_manager.cpp.

◆ inTestedSet()

bool hpp::fcl::BroadPhaseCollisionManager::inTestedSet ( CollisionObject a,
CollisionObject b 
) const
protected

Definition at line 76 of file broadphase_collision_manager.cpp.

◆ registerObject()

virtual void hpp::fcl::BroadPhaseCollisionManager::registerObject ( CollisionObject obj)
pure virtual

◆ registerObjects()

void hpp::fcl::BroadPhaseCollisionManager::registerObjects ( const std::vector< CollisionObject *> &  other_objs)
virtual

◆ setup()

virtual void hpp::fcl::BroadPhaseCollisionManager::setup ( )
pure virtual

◆ size()

virtual size_t hpp::fcl::BroadPhaseCollisionManager::size ( ) const
pure virtual

◆ unregisterObject()

virtual void hpp::fcl::BroadPhaseCollisionManager::unregisterObject ( CollisionObject obj)
pure virtual

◆ update() [1/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::update ( )
pure virtual

◆ update() [2/3]

void hpp::fcl::BroadPhaseCollisionManager::update ( CollisionObject updated_obj)
virtual

◆ update() [3/3]

void hpp::fcl::BroadPhaseCollisionManager::update ( const std::vector< CollisionObject *> &  updated_objs)
virtual

Member Data Documentation

◆ enable_tested_set_

bool hpp::fcl::BroadPhaseCollisionManager::enable_tested_set_
mutableprotected

Definition at line 131 of file broadphase_collision_manager.h.

◆ tested_set

std::set<std::pair<CollisionObject*, CollisionObject*> > hpp::fcl::BroadPhaseCollisionManager::tested_set
mutableprotected

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 130 of file broadphase_collision_manager.h.


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


hpp-fcl
Author(s):
autogenerated on Fri Jun 2 2023 02:39:03