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

Simple SAP collision manager. More...

#include <broadphase_SSaP.h>

Inheritance diagram for fcl::SSaPCollisionManager< 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...
 
void registerObject (CollisionObject< S > *obj)
 remove one object from 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...
 
 SSaPCollisionManager ()
 
void unregisterObject (CollisionObject< S > *obj)
 add one object to the manager More...
 
void update ()
 update the condition of manager More...
 
- Public Member Functions inherited from fcl::BroadPhaseCollisionManager< S >
 BroadPhaseCollisionManager ()
 
virtual void registerObjects (const std::vector< CollisionObject< S > * > &other_objs)
 add objects to the manager More...
 
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 Member Functions

bool checkColl (typename std::vector< CollisionObject< S > * >::const_iterator pos_start, typename std::vector< CollisionObject< S > * >::const_iterator pos_end, CollisionObject< S > *obj, void *cdata, CollisionCallBack< S > callback) const
 check collision between one object and a list of objects, return value is whether stop is possible More...
 
bool checkDis (typename std::vector< CollisionObject< S > * >::const_iterator pos_start, typename std::vector< CollisionObject< S > * >::const_iterator pos_end, CollisionObject< S > *obj, void *cdata, DistanceCallBack< S > callback, S &min_dist) const
 check distance between one object and a list of objects, return value is whether stop is possible More...
 
bool collide_ (CollisionObject< S > *obj, void *cdata, CollisionCallBack< S > callback) const
 
bool distance_ (CollisionObject< S > *obj, void *cdata, DistanceCallBack< S > callback, S &min_dist) const
 
- 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
 

Static Protected Member Functions

static size_t selectOptimalAxis (const std::vector< CollisionObject< S > * > &objs_x, const std::vector< CollisionObject< S > * > &objs_y, const std::vector< CollisionObject< S > * > &objs_z, typename std::vector< CollisionObject< S > * >::const_iterator &it_beg, typename std::vector< CollisionObject< S > * >::const_iterator &it_end)
 

Protected Attributes

std::vector< CollisionObject< S > * > objs_x
 Objects sorted according to lower x value. More...
 
std::vector< CollisionObject< S > * > objs_y
 Objects sorted according to lower y value. More...
 
std::vector< CollisionObject< S > * > objs_z
 Objects sorted according to lower z value. More...
 
bool setup_
 tag about whether the environment is maintained suitably (i.e., the objs_x, objs_y, objs_z are sorted correctly 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...
 

Detailed Description

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

Simple SAP collision manager.

Definition at line 49 of file broadphase_SSaP.h.

Constructor & Destructor Documentation

◆ SSaPCollisionManager()

template<typename S >
fcl::SSaPCollisionManager< S >::SSaPCollisionManager

Definition at line 149 of file broadphase_SSaP-inl.h.

Member Function Documentation

◆ checkColl()

template<typename S >
bool fcl::SSaPCollisionManager< S >::checkColl ( typename std::vector< CollisionObject< S > * >::const_iterator  pos_start,
typename std::vector< CollisionObject< S > * >::const_iterator  pos_end,
CollisionObject< S > *  obj,
void *  cdata,
CollisionCallBack< S >  callback 
) const
protected

check collision between one object and a list of objects, return value is whether stop is possible

Definition at line 205 of file broadphase_SSaP-inl.h.

◆ checkDis()

template<typename S >
bool fcl::SSaPCollisionManager< S >::checkDis ( typename std::vector< CollisionObject< S > * >::const_iterator  pos_start,
typename std::vector< CollisionObject< S > * >::const_iterator  pos_end,
CollisionObject< S > *  obj,
void *  cdata,
DistanceCallBack< S >  callback,
S &  min_dist 
) const
protected

check distance between one object and a list of objects, return value is whether stop is possible

Definition at line 225 of file broadphase_SSaP-inl.h.

◆ clear()

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

clear the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 187 of file broadphase_SSaP-inl.h.

◆ collide() [1/3]

template<typename S >
void fcl::SSaPCollisionManager< 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 525 of file broadphase_SSaP-inl.h.

◆ collide() [2/3]

template<typename S >
void fcl::SSaPCollisionManager< 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 245 of file broadphase_SSaP-inl.h.

◆ collide() [3/3]

template<typename S >
void fcl::SSaPCollisionManager< 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 451 of file broadphase_SSaP-inl.h.

◆ collide_()

template<typename S >
bool fcl::SSaPCollisionManager< S >::collide_ ( CollisionObject< S > *  obj,
void *  cdata,
CollisionCallBack< S >  callback 
) const
protected

Definition at line 254 of file broadphase_SSaP-inl.h.

◆ distance() [1/3]

template<typename S >
void fcl::SSaPCollisionManager< 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 553 of file broadphase_SSaP-inl.h.

◆ distance() [2/3]

template<typename S >
void fcl::SSaPCollisionManager< 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 303 of file broadphase_SSaP-inl.h.

◆ distance() [3/3]

template<typename S >
void fcl::SSaPCollisionManager< 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 508 of file broadphase_SSaP-inl.h.

◆ distance_()

template<typename S >
bool fcl::SSaPCollisionManager< S >::distance_ ( CollisionObject< S > *  obj,
void *  cdata,
DistanceCallBack< S >  callback,
S &  min_dist 
) const
protected

Definition at line 313 of file broadphase_SSaP-inl.h.

◆ empty()

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

whether the manager is empty

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 581 of file broadphase_SSaP-inl.h.

◆ getObjects()

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

return the objects managed by the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 197 of file broadphase_SSaP-inl.h.

◆ registerObject()

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

remove one object from the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 156 of file broadphase_SSaP-inl.h.

◆ selectOptimalAxis()

template<typename S >
size_t fcl::SSaPCollisionManager< S >::selectOptimalAxis ( const std::vector< CollisionObject< S > * > &  objs_x,
const std::vector< CollisionObject< S > * > &  objs_y,
const std::vector< CollisionObject< S > * > &  objs_z,
typename std::vector< CollisionObject< S > * >::const_iterator &  it_beg,
typename std::vector< CollisionObject< S > * >::const_iterator &  it_end 
)
staticprotected

simple sweep and prune method

Definition at line 412 of file broadphase_SSaP-inl.h.

◆ setup()

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

initialize the manager, related with the specific type of manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 166 of file broadphase_SSaP-inl.h.

◆ size()

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

the number of objects managed by the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 588 of file broadphase_SSaP-inl.h.

◆ unregisterObject()

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

add one object to the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 101 of file broadphase_SSaP-inl.h.

◆ update()

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

update the condition of manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 179 of file broadphase_SSaP-inl.h.

Member Data Documentation

◆ objs_x

template<typename S >
std::vector<CollisionObject<S>*> fcl::SSaPCollisionManager< S >::objs_x
protected

Objects sorted according to lower x value.

Definition at line 117 of file broadphase_SSaP.h.

◆ objs_y

template<typename S >
std::vector<CollisionObject<S>*> fcl::SSaPCollisionManager< S >::objs_y
protected

Objects sorted according to lower y value.

Definition at line 120 of file broadphase_SSaP.h.

◆ objs_z

template<typename S >
std::vector<CollisionObject<S>*> fcl::SSaPCollisionManager< S >::objs_z
protected

Objects sorted according to lower z value.

Definition at line 123 of file broadphase_SSaP.h.

◆ setup_

template<typename S >
bool fcl::SSaPCollisionManager< S >::setup_
protected

tag about whether the environment is maintained suitably (i.e., the objs_x, objs_y, objs_z are sorted correctly

Definition at line 126 of file broadphase_SSaP.h.


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


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