Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
fcl::DynamicAABBTreeCollisionManager_Array< S > Class Template Reference

#include <broadphase_dynamic_AABB_tree_array.h>

Inheritance diagram for fcl::DynamicAABBTreeCollisionManager_Array< S >:
Inheritance graph
[legend]

Public Types

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

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...
 
 DynamicAABBTreeCollisionManager_Array ()
 
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...
 
const detail::implementation_array::HierarchyTree< AABB< S > > & getTree () const
 
void registerObject (CollisionObject< S > *obj)
 add one object to the manager More...
 
void registerObjects (const std::vector< CollisionObject< S > * > &other_objs)
 add objects to 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...
 
void unregisterObject (CollisionObject< S > *obj)
 remove one object from the manager More...
 
void update ()
 update the condition of manager More...
 
void update (CollisionObject< S > *updated_obj)
 update the manager by explicitly given the object updated More...
 
void update (const std::vector< CollisionObject< S > * > &updated_objs)
 update the manager by explicitly given the set of objects update More...
 
- Public Member Functions inherited from fcl::BroadPhaseCollisionManager< S >
 BroadPhaseCollisionManager ()
 
virtual ~BroadPhaseCollisionManager ()
 

Public Attributes

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

Private Member Functions

void update_ (CollisionObject< S > *updated_obj)
 

Private Attributes

detail::implementation_array::HierarchyTree< AABB< S > > dtree
 
bool setup_
 
std::unordered_map< CollisionObject< S > *, size_t > table
 

Additional Inherited Members

- 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
 
- 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::DynamicAABBTreeCollisionManager_Array< S >

Definition at line 55 of file broadphase_dynamic_AABB_tree_array.h.

Member Typedef Documentation

◆ DynamicAABBNode

Definition at line 59 of file broadphase_dynamic_AABB_tree_array.h.

◆ DynamicAABBTable

template<typename S >
using fcl::DynamicAABBTreeCollisionManager_Array< S >::DynamicAABBTable = std::unordered_map<CollisionObject<S>*, size_t>

Definition at line 60 of file broadphase_dynamic_AABB_tree_array.h.

Constructor & Destructor Documentation

◆ DynamicAABBTreeCollisionManager_Array()

Definition at line 733 of file broadphase_dynamic_AABB_tree_array-inl.h.

Member Function Documentation

◆ clear()

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< S >::clear
virtual

clear the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 882 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ collide() [1/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< 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 972 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ collide() [2/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< 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 900 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ collide() [3/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< 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 953 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ distance() [1/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< 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 982 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ distance() [2/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< 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 926 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ distance() [3/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< 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 962 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ empty()

template<typename S >
FCL_EXPORT bool fcl::DynamicAABBTreeCollisionManager_Array< S >::empty
virtual

whether the manager is empty

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 993 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ getObjects()

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

return the objects managed by the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 891 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ getTree()

template<typename S >
const FCL_EXPORT detail::implementation_array::HierarchyTree< AABB< S > > & fcl::DynamicAABBTreeCollisionManager_Array< S >::getTree

Definition at line 1010 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ registerObject()

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

add one object to the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 785 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ registerObjects()

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

add objects to the manager

Reimplemented from fcl::BroadPhaseCollisionManager< S >.

Definition at line 752 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ setup()

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< S >::setup
virtual

initialize the manager, related with the specific type of manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 804 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ size()

template<typename S >
FCL_EXPORT size_t fcl::DynamicAABBTreeCollisionManager_Array< S >::size
virtual

the number of objects managed by the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 1001 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ unregisterObject()

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

remove one object from the manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 794 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ update() [1/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< S >::update
virtual

update the condition of manager

Implements fcl::BroadPhaseCollisionManager< S >.

Definition at line 830 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ update() [2/3]

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< S >::update ( CollisionObject< S > *  updated_obj)
virtual

update the manager by explicitly given the object updated

Reimplemented from fcl::BroadPhaseCollisionManager< S >.

Definition at line 863 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ update() [3/3]

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

update the manager by explicitly given the set of objects update

Reimplemented from fcl::BroadPhaseCollisionManager< S >.

Definition at line 872 of file broadphase_dynamic_AABB_tree_array-inl.h.

◆ update_()

template<typename S >
FCL_EXPORT void fcl::DynamicAABBTreeCollisionManager_Array< S >::update_ ( CollisionObject< S > *  updated_obj)
private

Definition at line 848 of file broadphase_dynamic_AABB_tree_array-inl.h.

Member Data Documentation

◆ dtree

Definition at line 127 of file broadphase_dynamic_AABB_tree_array.h.

◆ max_tree_nonbalanced_level

template<typename S >
int fcl::DynamicAABBTreeCollisionManager_Array< S >::max_tree_nonbalanced_level

Definition at line 62 of file broadphase_dynamic_AABB_tree_array.h.

◆ octree_as_geometry_collide

template<typename S >
bool fcl::DynamicAABBTreeCollisionManager_Array< S >::octree_as_geometry_collide

Definition at line 68 of file broadphase_dynamic_AABB_tree_array.h.

◆ octree_as_geometry_distance

template<typename S >
bool fcl::DynamicAABBTreeCollisionManager_Array< S >::octree_as_geometry_distance

Definition at line 69 of file broadphase_dynamic_AABB_tree_array.h.

◆ setup_

template<typename S >
bool fcl::DynamicAABBTreeCollisionManager_Array< S >::setup_
private

Definition at line 130 of file broadphase_dynamic_AABB_tree_array.h.

◆ table

template<typename S >
std::unordered_map<CollisionObject<S>*, size_t> fcl::DynamicAABBTreeCollisionManager_Array< S >::table
private

Definition at line 128 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_incremental_balance_pass

template<typename S >
int fcl::DynamicAABBTreeCollisionManager_Array< S >::tree_incremental_balance_pass

Definition at line 63 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_init_level

template<typename S >
int fcl::DynamicAABBTreeCollisionManager_Array< S >::tree_init_level

Definition at line 66 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_topdown_balance_threshold

template<typename S >
int& fcl::DynamicAABBTreeCollisionManager_Array< S >::tree_topdown_balance_threshold

Definition at line 64 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_topdown_level

template<typename S >
int& fcl::DynamicAABBTreeCollisionManager_Array< S >::tree_topdown_level

Definition at line 65 of file broadphase_dynamic_AABB_tree_array.h.


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


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