hpp-fcl  2.4.1
HPP fork of FCL -- The Flexible Collision Library
hpp::fcl::NaiveCollisionManager Class Reference

Brute force N-body collision manager. More...

#include <hpp/fcl/broadphase/broadphase_bruteforce.h>

Inheritance diagram for hpp::fcl::NaiveCollisionManager:
Collaboration diagram for hpp::fcl::NaiveCollisionManager:

Public Types

typedef BroadPhaseCollisionManager Base
 

Public Member Functions

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

Protected Attributes

std::list< CollisionObject * > objs
 objects belonging to the manager are stored in a list structure More...
 
- Protected Attributes inherited from hpp::fcl::BroadPhaseCollisionManager
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...
 
bool enable_tested_set_
 

Additional Inherited Members

- Protected Member Functions inherited from hpp::fcl::BroadPhaseCollisionManager
bool inTestedSet (CollisionObject *a, CollisionObject *b) const
 
void insertTestedSet (CollisionObject *a, CollisionObject *b) const
 

Detailed Description

Brute force N-body collision manager.

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ NaiveCollisionManager()

hpp::fcl::NaiveCollisionManager::NaiveCollisionManager ( )

Member Function Documentation

◆ clear()

void hpp::fcl::NaiveCollisionManager::clear ( )
virtual

clear the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ collide() [1/3]

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

perform collision test with objects belonging to another manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ collide() [2/3]

void hpp::fcl::NaiveCollisionManager::collide ( CollisionCallBackBase callback) const
virtual

perform collision test for the objects belonging to the manager (i.e., N^2 self collision)

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ collide() [3/3]

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

perform collision test between one object and all the objects belonging to the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ distance() [1/3]

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

perform distance test with objects belonging to another manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ distance() [2/3]

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

perform distance computation between one object and all the objects belonging to the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ distance() [3/3]

void hpp::fcl::NaiveCollisionManager::distance ( DistanceCallBackBase callback) const
virtual

perform distance test for the objects belonging to the manager (i.e., N^2 self distance)

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ empty()

bool hpp::fcl::NaiveCollisionManager::empty ( ) const
virtual

whether the manager is empty

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ getObjects() [1/3]

virtual std::vector<CollisionObject*> hpp::fcl::BroadPhaseCollisionManager::getObjects
inline

return the objects managed by the manager

◆ getObjects() [2/3]

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

return the objects managed by the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ getObjects() [3/3]

virtual void hpp::fcl::BroadPhaseCollisionManager::getObjects

return the objects managed by the manager

◆ registerObject()

void hpp::fcl::NaiveCollisionManager::registerObject ( CollisionObject obj)
virtual

add one object to the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ registerObjects()

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

add objects to the manager

Reimplemented from hpp::fcl::BroadPhaseCollisionManager.

◆ setup()

void hpp::fcl::NaiveCollisionManager::setup ( )
virtual

initialize the manager, related with the specific type of manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ size()

size_t hpp::fcl::NaiveCollisionManager::size ( ) const
virtual

the number of objects managed by the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ unregisterObject()

void hpp::fcl::NaiveCollisionManager::unregisterObject ( CollisionObject obj)
virtual

remove one object from the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

◆ update()

virtual void hpp::fcl::NaiveCollisionManager::update ( )
virtual

update the condition of manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Member Data Documentation

◆ objs

std::list<CollisionObject*> hpp::fcl::NaiveCollisionManager::objs
protected

objects belonging to the manager are stored in a list structure


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