FCL  0.6.0
Flexible Collision Library
fcl::NaiveCollisionManager< S > Class Template Reference

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

#include <broadphase_bruteforce.h>

Inheritance diagram for fcl::NaiveCollisionManager< S >:
fcl::BroadPhaseCollisionManager< S >

Public Member Functions

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

Protected Attributes

std::list< CollisionObject< S > * > objs
 objects belonging to the manager are stored in a list structure
 
- Protected Attributes inherited from fcl::BroadPhaseCollisionManager< S >
std::set< std::pair< CollisionObject< S > *, CollisionObject< S > * > > 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_
 

Additional Inherited Members

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

Detailed Description

template<typename S>
class fcl::NaiveCollisionManager< S >

Brute force N-body collision manager.


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