Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
hpp::fcl::DynamicAABBTreeArrayCollisionManager Class Reference

#include <broadphase_dynamic_AABB_tree_array.h>

Inheritance diagram for hpp::fcl::DynamicAABBTreeArrayCollisionManager:
Inheritance graph
[legend]

Public Types

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

Public Member Functions

void clear ()
 clear the manager More...
 
void collide (CollisionObject *obj, CollisionCallBackBase *callback) const
 perform collision test between one object and all the objects belonging to the manager More...
 
void collide (CollisionCallBackBase *callback) const
 perform collision test for the objects belonging to the manager (i.e., N^2 self collision) More...
 
void collide (BroadPhaseCollisionManager *other_manager_, CollisionCallBackBase *callback) const
 perform collision test with objects belonging to another manager More...
 
void distance (CollisionObject *obj, DistanceCallBackBase *callback) const
 perform distance computation between one object and all the objects belonging to the manager More...
 
void distance (DistanceCallBackBase *callback) const
 perform distance test for the objects belonging to the manager (i.e., N^2 self distance) More...
 
void distance (BroadPhaseCollisionManager *other_manager_, DistanceCallBackBase *callback) const
 perform distance test with objects belonging to another manager More...
 
 DynamicAABBTreeArrayCollisionManager ()
 
bool empty () const
 whether the manager is empty More...
 
void getObjects (std::vector< CollisionObject *> &objs) const
 return the objects managed by the manager More...
 
const detail::implementation_array::HierarchyTree< AABB > & getTree () const
 
void registerObject (CollisionObject *obj)
 add one object to the manager More...
 
void registerObjects (const std::vector< CollisionObject *> &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 *obj)
 remove one object from the manager More...
 
virtual 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...
 
- Public Member Functions inherited from hpp::fcl::BroadPhaseCollisionManager
 BroadPhaseCollisionManager ()
 
virtual std::vector< CollisionObject * > getObjects () const
 return the objects managed by the manager More...
 
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 {nullptr}
 
int * tree_topdown_level {nullptr}
 

Private Member Functions

void update_ (CollisionObject *updated_obj)
 

Private Attributes

detail::implementation_array::HierarchyTree< AABBdtree {}
 
bool setup_
 
std::unordered_map< CollisionObject *, size_t > table
 

Additional Inherited Members

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

Detailed Description

Definition at line 55 of file broadphase_dynamic_AABB_tree_array.h.

Member Typedef Documentation

◆ Base

Definition at line 58 of file broadphase_dynamic_AABB_tree_array.h.

◆ DynamicAABBNode

Definition at line 61 of file broadphase_dynamic_AABB_tree_array.h.

◆ DynamicAABBTable

Definition at line 62 of file broadphase_dynamic_AABB_tree_array.h.

Constructor & Destructor Documentation

◆ DynamicAABBTreeArrayCollisionManager()

hpp::fcl::DynamicAABBTreeArrayCollisionManager::DynamicAABBTreeArrayCollisionManager ( )

Definition at line 482 of file broadphase_dynamic_AABB_tree_array.cpp.

Member Function Documentation

◆ clear()

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::clear ( )
virtual

clear the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 601 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ collide() [1/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::collide ( CollisionObject obj,
CollisionCallBackBase callback 
) const
virtual

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

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 616 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ collide() [2/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::collide ( CollisionCallBackBase callback) const
virtual

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

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 667 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ collide() [3/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::collide ( BroadPhaseCollisionManager other_manager_,
CollisionCallBackBase callback 
) const
virtual

perform collision test with objects belonging to another manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 686 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ distance() [1/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::distance ( CollisionObject obj,
DistanceCallBackBase callback 
) const
virtual

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

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 641 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ distance() [2/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::distance ( DistanceCallBackBase callback) const
virtual

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

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 676 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ distance() [3/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::distance ( BroadPhaseCollisionManager other_manager_,
DistanceCallBackBase callback 
) const
virtual

perform distance test with objects belonging to another manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 699 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ empty()

bool hpp::fcl::DynamicAABBTreeArrayCollisionManager::empty ( ) const
virtual

whether the manager is empty

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 713 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ getObjects()

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::getObjects ( std::vector< CollisionObject *> &  objs) const
virtual

return the objects managed by the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 607 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ getTree()

const detail::implementation_array::HierarchyTree< AABB > & hpp::fcl::DynamicAABBTreeArrayCollisionManager::getTree ( ) const

Definition at line 724 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ registerObject()

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::registerObject ( CollisionObject obj)
virtual

add one object to the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 524 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ registerObjects()

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

add objects to the manager

Reimplemented from hpp::fcl::BroadPhaseCollisionManager.

Definition at line 498 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ setup()

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::setup ( )
virtual

initialize the manager, related with the specific type of manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 539 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ size()

size_t hpp::fcl::DynamicAABBTreeArrayCollisionManager::size ( ) const
virtual

the number of objects managed by the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 718 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ unregisterObject()

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::unregisterObject ( CollisionObject obj)
virtual

remove one object from the manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 531 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ update() [1/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::update ( )
virtual

update the condition of manager

Implements hpp::fcl::BroadPhaseCollisionManager.

Definition at line 560 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ update() [2/3]

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::update ( CollisionObject updated_obj)
virtual

update the manager by explicitly given the object updated

Reimplemented from hpp::fcl::BroadPhaseCollisionManager.

Definition at line 586 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ update() [3/3]

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

update the manager by explicitly given the set of objects update

Reimplemented from hpp::fcl::BroadPhaseCollisionManager.

Definition at line 593 of file broadphase_dynamic_AABB_tree_array.cpp.

◆ update_()

void hpp::fcl::DynamicAABBTreeArrayCollisionManager::update_ ( CollisionObject updated_obj)
private

Definition at line 574 of file broadphase_dynamic_AABB_tree_array.cpp.

Member Data Documentation

◆ dtree

detail::implementation_array::HierarchyTree<AABB> hpp::fcl::DynamicAABBTreeArrayCollisionManager::dtree {}
private

Definition at line 135 of file broadphase_dynamic_AABB_tree_array.h.

◆ max_tree_nonbalanced_level

int hpp::fcl::DynamicAABBTreeArrayCollisionManager::max_tree_nonbalanced_level

Definition at line 64 of file broadphase_dynamic_AABB_tree_array.h.

◆ octree_as_geometry_collide

bool hpp::fcl::DynamicAABBTreeArrayCollisionManager::octree_as_geometry_collide

Definition at line 70 of file broadphase_dynamic_AABB_tree_array.h.

◆ octree_as_geometry_distance

bool hpp::fcl::DynamicAABBTreeArrayCollisionManager::octree_as_geometry_distance

Definition at line 71 of file broadphase_dynamic_AABB_tree_array.h.

◆ setup_

bool hpp::fcl::DynamicAABBTreeArrayCollisionManager::setup_
private

Definition at line 138 of file broadphase_dynamic_AABB_tree_array.h.

◆ table

std::unordered_map<CollisionObject*, size_t> hpp::fcl::DynamicAABBTreeArrayCollisionManager::table
private

Definition at line 136 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_incremental_balance_pass

int hpp::fcl::DynamicAABBTreeArrayCollisionManager::tree_incremental_balance_pass

Definition at line 65 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_init_level

int hpp::fcl::DynamicAABBTreeArrayCollisionManager::tree_init_level

Definition at line 68 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_topdown_balance_threshold

int* hpp::fcl::DynamicAABBTreeArrayCollisionManager::tree_topdown_balance_threshold {nullptr}

Definition at line 66 of file broadphase_dynamic_AABB_tree_array.h.

◆ tree_topdown_level

int* hpp::fcl::DynamicAABBTreeArrayCollisionManager::tree_topdown_level {nullptr}

Definition at line 67 of file broadphase_dynamic_AABB_tree_array.h.


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


hpp-fcl
Author(s):
autogenerated on Fri Jun 2 2023 02:39:03