Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
fcl::SSaPCollisionManager Class Reference

Simple SAP collision manager. More...

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

Inheritance diagram for fcl::SSaPCollisionManager:
[legend]
Collaboration diagram for fcl::SSaPCollisionManager:
[legend]

List of all members.

Public Member Functions

 SSaPCollisionManager ()
void registerObject (CollisionObject *obj)
 remove one object from the manager
void unregisterObject (CollisionObject *obj)
 add one object to 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 * > &objs) const
 return the objects managed by the manager
void collide (CollisionObject *obj, void *cdata, CollisionCallBack callback) const
 perform collision test between one object and all the objects belonging to the manager
void distance (CollisionObject *obj, void *cdata, DistanceCallBack callback) const
 perform distance computation between one object and all the objects belonging to the manager
void collide (void *cdata, CollisionCallBack callback) const
 perform collision test for the objects belonging to the manager (i.e., N^2 self collision)
void distance (void *cdata, DistanceCallBack callback) const
 perform distance test for the objects belonging to the manager (i.e., N^2 self distance)
void collide (BroadPhaseCollisionManager *other_manager, void *cdata, CollisionCallBack callback) const
 perform collision test with objects belonging to another manager
void distance (BroadPhaseCollisionManager *other_manager, void *cdata, DistanceCallBack 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

Protected Member Functions

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

Static Protected Member Functions

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

Protected Attributes

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

Detailed Description

Simple SAP collision manager.


Constructor & Destructor Documentation

fcl::SSaPCollisionManager::SSaPCollisionManager ( ) [inline]

Member Function Documentation

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

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

bool fcl::SSaPCollisionManager::checkDis ( std::vector< CollisionObject * >::const_iterator  pos_start,
std::vector< CollisionObject * >::const_iterator  pos_end,
CollisionObject obj,
void *  cdata,
DistanceCallBack  callback,
FCL_REAL min_dist 
) const [protected]

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

void fcl::SSaPCollisionManager::clear ( ) [virtual]

clear the manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::collide ( CollisionObject obj,
void *  cdata,
CollisionCallBack  callback 
) const [virtual]

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

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::collide ( void *  cdata,
CollisionCallBack  callback 
) const [virtual]

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

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::collide ( BroadPhaseCollisionManager other_manager,
void *  cdata,
CollisionCallBack  callback 
) const [virtual]

perform collision test with objects belonging to another manager

Implements fcl::BroadPhaseCollisionManager.

bool fcl::SSaPCollisionManager::collide_ ( CollisionObject obj,
void *  cdata,
CollisionCallBack  callback 
) const [protected]
void fcl::SSaPCollisionManager::distance ( CollisionObject obj,
void *  cdata,
DistanceCallBack  callback 
) const [virtual]

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

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::distance ( void *  cdata,
DistanceCallBack  callback 
) const [virtual]

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

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::distance ( BroadPhaseCollisionManager other_manager,
void *  cdata,
DistanceCallBack  callback 
) const [virtual]

perform distance test with objects belonging to another manager

Implements fcl::BroadPhaseCollisionManager.

bool fcl::SSaPCollisionManager::distance_ ( CollisionObject obj,
void *  cdata,
DistanceCallBack  callback,
FCL_REAL min_dist 
) const [protected]
bool fcl::SSaPCollisionManager::empty ( ) const [virtual]

whether the manager is empty

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::getObjects ( std::vector< CollisionObject * > &  objs) const [virtual]

return the objects managed by the manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::registerObject ( CollisionObject obj) [virtual]

remove one object from the manager

Implements fcl::BroadPhaseCollisionManager.

static size_t fcl::SSaPCollisionManager::selectOptimalAxis ( const std::vector< CollisionObject * > &  objs_x,
const std::vector< CollisionObject * > &  objs_y,
const std::vector< CollisionObject * > &  objs_z,
std::vector< CollisionObject * >::const_iterator &  it_beg,
std::vector< CollisionObject * >::const_iterator &  it_end 
) [inline, static, protected]

simple sweep and prune method

void fcl::SSaPCollisionManager::setup ( ) [virtual]

initialize the manager, related with the specific type of manager

Implements fcl::BroadPhaseCollisionManager.

size_t fcl::SSaPCollisionManager::size ( ) const [inline, virtual]

the number of objects managed by the manager

Implements fcl::BroadPhaseCollisionManager.

References objs_x.

void fcl::SSaPCollisionManager::unregisterObject ( CollisionObject obj) [virtual]

add one object to the manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::SSaPCollisionManager::update ( ) [virtual]

update the condition of manager

Implements fcl::BroadPhaseCollisionManager.


Member Data Documentation

Objects sorted according to lower x value.

Referenced by size().

Objects sorted according to lower y value.

Objects sorted according to lower z value.

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines