FCL  0.6.0
Flexible Collision Library
fcl::DynamicAABBTreeCollisionManager< S > Class Template Reference
Inheritance diagram for fcl::DynamicAABBTreeCollisionManager< S >:
fcl::BroadPhaseCollisionManager< S >

Public Types

using DynamicAABBNode = detail::NodeBase< AABB< S >>
 
using DynamicAABBTable = std::unordered_map< CollisionObject< S > *, DynamicAABBNode * >
 

Public Member Functions

void registerObjects (const std::vector< CollisionObject< S > * > &other_objs)
 add objects to the manager
 
void registerObject (CollisionObject< S > *obj)
 add one object to the manager
 
void unregisterObject (CollisionObject< S > *obj)
 remove one object from the manager
 
void setup ()
 initialize the manager, related with the specific type of manager
 
void update ()
 update the condition of manager
 
void update (CollisionObject< S > *updated_obj)
 update the manager by explicitly given the object updated
 
void update (const std::vector< CollisionObject< S > * > &updated_objs)
 update the manager by explicitly given the set of objects update
 
void clear ()
 clear the manager
 
void getObjects (std::vector< CollisionObject< S > * > &objs) const
 return the objects managed by the manager
 
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
 
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
 
void collide (void *cdata, CollisionCallBack< S > callback) const
 perform collision test for the objects belonging to the manager (i.e., N^2 self collision)
 
void distance (void *cdata, DistanceCallBack< S > callback) const
 perform distance test for the objects belonging to the manager (i.e., N^2 self distance)
 
void collide (BroadPhaseCollisionManager< S > *other_manager_, void *cdata, CollisionCallBack< S > callback) const
 perform collision test with objects belonging to another manager
 
void distance (BroadPhaseCollisionManager< S > *other_manager_, void *cdata, DistanceCallBack< S > 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
 
const detail::HierarchyTree< AABB< S > > & getTree () const
 

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

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