All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::DynamicAABBTreeCollisionManager_Array Class Reference

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

Inheritance diagram for fcl::DynamicAABBTreeCollisionManager_Array:
Collaboration diagram for fcl::DynamicAABBTreeCollisionManager_Array:

Public Types

typedef
implementation_array::NodeBase
< AABB
DynamicAABBNode
 
typedef boost::unordered_map
< CollisionObject *, size_t > 
DynamicAABBTable
 

Public Member Functions

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

Public Attributes

int max_tree_nonbalanced_level
 
int tree_incremental_balance_pass
 
int & tree_topdown_balance_threshold
 
int & tree_topdown_level
 
int tree_init_level
 
bool octree_as_geometry_collide
 
bool octree_as_geometry_distance
 

Additional Inherited Members

- Protected Member Functions inherited from fcl::BroadPhaseCollisionManager
bool inTestedSet (CollisionObject *a, CollisionObject *b) const
 
void insertTestedSet (CollisionObject *a, CollisionObject *b) const
 
- Protected Attributes inherited from fcl::BroadPhaseCollisionManager
std::set< std::pair
< CollisionObject
*, CollisionObject * > > 
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...
 
bool enable_tested_set_
 

Member Typedef Documentation

Constructor & Destructor Documentation

fcl::DynamicAABBTreeCollisionManager_Array::DynamicAABBTreeCollisionManager_Array ( )
inline

Member Function Documentation

void fcl::DynamicAABBTreeCollisionManager_Array::clear ( )
inlinevirtual

clear the manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::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::DynamicAABBTreeCollisionManager_Array::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::DynamicAABBTreeCollisionManager_Array::collide ( BroadPhaseCollisionManager other_manager_,
void *  cdata,
CollisionCallBack  callback 
) const
virtual

perform collision test with objects belonging to another manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::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::DynamicAABBTreeCollisionManager_Array::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::DynamicAABBTreeCollisionManager_Array::distance ( BroadPhaseCollisionManager other_manager_,
void *  cdata,
DistanceCallBack  callback 
) const
virtual

perform distance test with objects belonging to another manager

Implements fcl::BroadPhaseCollisionManager.

bool fcl::DynamicAABBTreeCollisionManager_Array::empty ( ) const
inlinevirtual

whether the manager is empty

Implements fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::getObjects ( std::vector< CollisionObject * > &  objs) const
inlinevirtual

return the objects managed by the manager

Implements fcl::BroadPhaseCollisionManager.

References size(), and fcl::transform().

const implementation_array::HierarchyTree<AABB>& fcl::DynamicAABBTreeCollisionManager_Array::getTree ( ) const
inline
void fcl::DynamicAABBTreeCollisionManager_Array::registerObject ( CollisionObject obj)
virtual

add one object to the manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::registerObjects ( const std::vector< CollisionObject * > &  other_objs)
virtual

add objects to the manager

Reimplemented from fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::setup ( )
virtual

initialize the manager, related with the specific type of manager

Implements fcl::BroadPhaseCollisionManager.

size_t fcl::DynamicAABBTreeCollisionManager_Array::size ( ) const
inlinevirtual

the number of objects managed by the manager

Implements fcl::BroadPhaseCollisionManager.

Referenced by getObjects().

void fcl::DynamicAABBTreeCollisionManager_Array::unregisterObject ( CollisionObject obj)
virtual

remove one object from the manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::update ( )
virtual

update the condition of manager

Implements fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::update ( CollisionObject updated_obj)
virtual

update the manager by explicitly given the object updated

Reimplemented from fcl::BroadPhaseCollisionManager.

void fcl::DynamicAABBTreeCollisionManager_Array::update ( const std::vector< CollisionObject * > &  updated_objs)
virtual

update the manager by explicitly given the set of objects update

Reimplemented from fcl::BroadPhaseCollisionManager.

Member Data Documentation

int fcl::DynamicAABBTreeCollisionManager_Array::max_tree_nonbalanced_level
bool fcl::DynamicAABBTreeCollisionManager_Array::octree_as_geometry_collide
bool fcl::DynamicAABBTreeCollisionManager_Array::octree_as_geometry_distance
int fcl::DynamicAABBTreeCollisionManager_Array::tree_incremental_balance_pass
int fcl::DynamicAABBTreeCollisionManager_Array::tree_init_level
int& fcl::DynamicAABBTreeCollisionManager_Array::tree_topdown_balance_threshold
int& fcl::DynamicAABBTreeCollisionManager_Array::tree_topdown_level