Public Member Functions | List of all members
fcl::BroadPhaseContinuousCollisionManager< S > Class Template Referenceabstract

Base class for broad phase continuous collision. It helps to accelerate the continuous collision/distance between N objects. Also support self collision, self distance and collision/distance with another M objects. More...

#include <broadphase_continuous_collision_manager.h>

Public Member Functions

 BroadPhaseContinuousCollisionManager ()
 
virtual void clear ()=0
 clear the manager More...
 
virtual void collide (BroadPhaseContinuousCollisionManager< S > *other_manager, void *cdata, CollisionCallBack< S > callback) const =0
 perform collision test with objects belonging to another manager More...
 
virtual void collide (ContinuousCollisionObject< S > *obj, void *cdata, CollisionCallBack< S > callback) const =0
 perform collision test between one object and all the objects belonging to the manager More...
 
virtual void collide (void *cdata, CollisionCallBack< S > callback) const =0
 perform collision test for the objects belonging to the manager (i.e., N^2 self collision) More...
 
virtual void distance (BroadPhaseContinuousCollisionManager< S > *other_manager, void *cdata, DistanceCallBack< S > callback) const =0
 perform distance test with objects belonging to another manager More...
 
virtual void distance (ContinuousCollisionObject< S > *obj, void *cdata, DistanceCallBack< S > callback) const =0
 perform distance computation between one object and all the objects belonging to the manager More...
 
virtual void distance (void *cdata, DistanceCallBack< S > callback) const =0
 perform distance test for the objects belonging to the manager (i.e., N^2 self distance) More...
 
virtual bool empty () const =0
 whether the manager is empty More...
 
virtual void getObjects (std::vector< ContinuousCollisionObject< S > * > &objs) const =0
 return the objects managed by the manager More...
 
virtual void registerObject (ContinuousCollisionObject< S > *obj)=0
 add one object to the manager More...
 
virtual void registerObjects (const std::vector< ContinuousCollisionObject< S > * > &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 (ContinuousCollisionObject< S > *obj)=0
 remove one object from the manager More...
 
virtual void update ()=0
 update the condition of manager More...
 
virtual void update (const std::vector< ContinuousCollisionObject< S > * > &updated_objs)
 update the manager by explicitly given the set of objects update More...
 
virtual void update (ContinuousCollisionObject< S > *updated_obj)
 update the manager by explicitly given the object updated More...
 
virtual ~BroadPhaseContinuousCollisionManager ()
 

Detailed Description

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

Base class for broad phase continuous collision. It helps to accelerate the continuous collision/distance between N objects. Also support self collision, self distance and collision/distance with another M objects.

Definition at line 66 of file broadphase_continuous_collision_manager.h.

Constructor & Destructor Documentation

◆ BroadPhaseContinuousCollisionManager()

◆ ~BroadPhaseContinuousCollisionManager()

Member Function Documentation

◆ clear()

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::clear ( )
pure virtual

clear the manager

◆ collide() [1/3]

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

perform collision test with objects belonging to another manager

◆ collide() [2/3]

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::collide ( ContinuousCollisionObject< S > *  obj,
void *  cdata,
CollisionCallBack< S >  callback 
) const
pure virtual

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

◆ collide() [3/3]

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

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

◆ distance() [1/3]

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

perform distance test with objects belonging to another manager

◆ distance() [2/3]

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::distance ( ContinuousCollisionObject< S > *  obj,
void *  cdata,
DistanceCallBack< S >  callback 
) const
pure virtual

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

◆ distance() [3/3]

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

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

◆ empty()

template<typename S >
virtual bool fcl::BroadPhaseContinuousCollisionManager< S >::empty ( ) const
pure virtual

whether the manager is empty

◆ getObjects()

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::getObjects ( std::vector< ContinuousCollisionObject< S > * > &  objs) const
pure virtual

return the objects managed by the manager

◆ registerObject()

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::registerObject ( ContinuousCollisionObject< S > *  obj)
pure virtual

add one object to the manager

◆ registerObjects()

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

add objects to the manager

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

◆ setup()

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::setup ( )
pure virtual

initialize the manager, related with the specific type of manager

◆ size()

template<typename S >
virtual size_t fcl::BroadPhaseContinuousCollisionManager< S >::size ( ) const
pure virtual

the number of objects managed by the manager

◆ unregisterObject()

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::unregisterObject ( ContinuousCollisionObject< S > *  obj)
pure virtual

remove one object from the manager

◆ update() [1/3]

template<typename S >
virtual void fcl::BroadPhaseContinuousCollisionManager< S >::update ( )
pure virtual

update the condition of manager

◆ update() [2/3]

template<typename S >
void fcl::BroadPhaseContinuousCollisionManager< S >::update ( const std::vector< ContinuousCollisionObject< S > * > &  updated_objs)
virtual

update the manager by explicitly given the set of objects update

Definition at line 86 of file broadphase_continuous_collision_manager-inl.h.

◆ update() [3/3]

template<typename S >
void fcl::BroadPhaseContinuousCollisionManager< S >::update ( ContinuousCollisionObject< S > *  updated_obj)
virtual

update the manager by explicitly given the object updated

Definition at line 76 of file broadphase_continuous_collision_manager-inl.h.


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


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