moveit2
The MoveIt Motion Planning Framework for ROS 2.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
collision_detection_bullet::BulletDiscreteBVHManager Class Reference

A bounding volume hierarchy (BVH) implementation of a discrete bullet manager. More...

#include <bullet_discrete_bvh_manager.h>

Inheritance diagram for collision_detection_bullet::BulletDiscreteBVHManager:
Inheritance graph
[legend]
Collaboration diagram for collision_detection_bullet::BulletDiscreteBVHManager:
Collaboration graph
[legend]

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW BulletDiscreteBVHManager ()=default
 Constructor.
 
 ~BulletDiscreteBVHManager () override=default
 
BulletDiscreteBVHManagerPtr clone () const
 Clone the manager.
 
void contactTest (collision_detection::CollisionResult &collisions, const collision_detection::CollisionRequest &req, const collision_detection::AllowedCollisionMatrix *acm, bool self) override
 Perform a contact test for all objects in the manager.
 
void addCollisionObject (const CollisionObjectWrapperPtr &cow) override
 Add a bullet collision object to the manager.
 
- Public Member Functions inherited from collision_detection_bullet::BulletBVHManager
EIGEN_MAKE_ALIGNED_OPERATOR_NEW BulletBVHManager ()
 Constructor.
 
virtual ~BulletBVHManager ()
 
BulletBVHManagerPtr clone () const
 Clone the manager.
 
bool hasCollisionObject (const std::string &name) const
 Find if a collision object already exists.
 
bool removeCollisionObject (const std::string &name)
 Remove an object from the checker.
 
bool enableCollisionObject (const std::string &name)
 Enable an object.
 
bool disableCollisionObject (const std::string &name)
 Disable an object.
 
void setCollisionObjectsTransform (const std::string &name, const Eigen::Isometry3d &pose)
 Set a single static collision object's transform.
 
void setActiveCollisionObjects (const std::vector< std::string > &names)
 Set which collision objects are active.
 
const std::vector< std::string > & getActiveCollisionObjects () const
 Get which collision objects are active.
 
void setContactDistanceThreshold (double contact_distance)
 Set the contact distance threshold for which collision should be considered through expanding the AABB by the contact_distance for all links.
 
double getContactDistanceThreshold () const
 Get the contact distance threshold.
 
const std::map< std::string, CollisionObjectWrapperPtr > & getCollisionObjects () const
 

Additional Inherited Members

- Protected Attributes inherited from collision_detection_bullet::BulletBVHManager
std::map< std::string, CollisionObjectWrapperPtr > link2cow_
 A map of collision objects being managed.
 
std::vector< std::string > active_
 A list of the active collision links.
 
double contact_distance_
 The contact distance threshold.
 
std::unique_ptr< btCollisionDispatcher > dispatcher_
 The bullet collision dispatcher used for getting object to object collision algorithm.
 
btDispatcherInfo dispatch_info_
 The bullet collision dispatcher configuration information.
 
btDefaultCollisionConfiguration coll_config_
 The bullet collision configuration.
 
std::unique_ptr< btBroadphaseInterface > broadphase_
 The bullet broadphase interface.
 
BroadphaseFilterCallback filter_callback_
 Callback function for culling objects before a broadphase check.
 

Detailed Description

A bounding volume hierarchy (BVH) implementation of a discrete bullet manager.

Definition at line 45 of file bullet_discrete_bvh_manager.h.

Constructor & Destructor Documentation

◆ BulletDiscreteBVHManager()

EIGEN_MAKE_ALIGNED_OPERATOR_NEW collision_detection_bullet::BulletDiscreteBVHManager::BulletDiscreteBVHManager ( )
default

Constructor.

◆ ~BulletDiscreteBVHManager()

collision_detection_bullet::BulletDiscreteBVHManager::~BulletDiscreteBVHManager ( )
overridedefault

Member Function Documentation

◆ addCollisionObject()

void collision_detection_bullet::BulletDiscreteBVHManager::addCollisionObject ( const CollisionObjectWrapperPtr &  cow)
overridevirtual

Add a bullet collision object to the manager.

Parameters
cowThe bullet collision object

Implements collision_detection_bullet::BulletBVHManager.

Definition at line 83 of file bullet_discrete_bvh_manager.cpp.

Here is the call graph for this function:

◆ clone()

BulletDiscreteBVHManagerPtr collision_detection_bullet::BulletDiscreteBVHManager::clone ( ) const

Clone the manager.

This is to be used for multi threaded applications. A user should make a clone for each thread.

Definition at line 42 of file bullet_discrete_bvh_manager.cpp.

◆ contactTest()

void collision_detection_bullet::BulletDiscreteBVHManager::contactTest ( collision_detection::CollisionResult collisions,
const collision_detection::CollisionRequest req,
const collision_detection::AllowedCollisionMatrix acm,
bool  self 
)
overridevirtual

Perform a contact test for all objects in the manager.

Parameters
collisionsThe Contact results data
acmThe allowed collision matrix
reqThe contact request

Implements collision_detection_bullet::BulletBVHManager.

Definition at line 64 of file bullet_discrete_bvh_manager.cpp.

Here is the call graph for this function:

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