Public Member Functions | Protected Attributes | List of all members
fcl::NaiveCollisionManager< S > Class Template Reference

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

#include <broadphase_bruteforce.h>

Inheritance diagram for fcl::NaiveCollisionManager< S >:
Inheritance graph
[legend]

Public Member Functions

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

Protected Attributes

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

Additional Inherited Members

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

Detailed Description

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

Brute force N-body collision manager.

Definition at line 49 of file broadphase_bruteforce.h.

Constructor & Destructor Documentation

◆ NaiveCollisionManager()

Definition at line 53 of file broadphase_bruteforce-inl.h.

Member Function Documentation

◆ clear()

template<typename S >
void fcl::NaiveCollisionManager< S >::clear
virtual

clear the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 95 of file broadphase_bruteforce-inl.h.

◆ collide() [1/3]

template<typename S >
void fcl::NaiveCollisionManager< S >::collide ( BroadPhaseCollisionManager< S > *  other_manager,
void *  cdata,
CollisionCallBack< S >  callback 
) const
virtual

perform collision test with objects belonging to another manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 182 of file broadphase_bruteforce-inl.h.

◆ collide() [2/3]

template<typename S >
void fcl::NaiveCollisionManager< S >::collide ( CollisionObject< S > *  obj,
void *  cdata,
CollisionCallBack< S >  callback 
) const
virtual

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

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 110 of file broadphase_bruteforce-inl.h.

◆ collide() [3/3]

template<typename S >
void fcl::NaiveCollisionManager< S >::collide ( void *  cdata,
CollisionCallBack< S >  callback 
) const
virtual

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

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 140 of file broadphase_bruteforce-inl.h.

◆ distance() [1/3]

template<typename S >
void fcl::NaiveCollisionManager< S >::distance ( BroadPhaseCollisionManager< S > *  other_manager,
void *  cdata,
DistanceCallBack< S >  callback 
) const
virtual

perform distance test with objects belonging to another manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 209 of file broadphase_bruteforce-inl.h.

◆ distance() [2/3]

template<typename S >
void fcl::NaiveCollisionManager< S >::distance ( CollisionObject< S > *  obj,
void *  cdata,
DistanceCallBack< S >  callback 
) const
virtual

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

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 123 of file broadphase_bruteforce-inl.h.

◆ distance() [3/3]

template<typename S >
void fcl::NaiveCollisionManager< S >::distance ( void *  cdata,
DistanceCallBack< S >  callback 
) const
virtual

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

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 161 of file broadphase_bruteforce-inl.h.

◆ empty()

template<typename S >
bool fcl::NaiveCollisionManager< S >::empty
virtual

whether the manager is empty

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 237 of file broadphase_bruteforce-inl.h.

◆ getObjects()

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

return the objects managed by the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 102 of file broadphase_bruteforce-inl.h.

◆ registerObject()

template<typename S >
void fcl::NaiveCollisionManager< S >::registerObject ( CollisionObject< S > *  obj)
virtual

add one object to the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 74 of file broadphase_bruteforce-inl.h.

◆ registerObjects()

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

add objects to the manager

Reimplemented from fcl::BroadPhaseCollisionManager< S >.

Definition at line 60 of file broadphase_bruteforce-inl.h.

◆ setup()

template<typename S >
void fcl::NaiveCollisionManager< S >::setup
virtual

initialize the manager, related with the specific type of manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 81 of file broadphase_bruteforce-inl.h.

◆ size()

template<typename S >
size_t fcl::NaiveCollisionManager< S >::size
virtual

the number of objects managed by the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 244 of file broadphase_bruteforce-inl.h.

◆ unregisterObject()

template<typename S >
void fcl::NaiveCollisionManager< S >::unregisterObject ( CollisionObject< S > *  obj)
virtual

remove one object from the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 67 of file broadphase_bruteforce-inl.h.

◆ update()

template<typename S >
void fcl::NaiveCollisionManager< S >::update
virtual

update the condition of manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 88 of file broadphase_bruteforce-inl.h.

Member Data Documentation

◆ objs

template<typename S >
std::list<CollisionObject<S>*> fcl::NaiveCollisionManager< S >::objs
protected

objects belonging to the manager are stored in a list structure

Definition at line 102 of file broadphase_bruteforce.h.


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


fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:50