moveit2
The MoveIt Motion Planning Framework for ROS 2.
Classes | Namespaces | Functions
collision_common.cpp File Reference
#include <moveit/collision_detection_fcl/collision_common.h>
#include <geometric_shapes/shapes.h>
#include <moveit/collision_detection_fcl/fcl_compat.h>
#include <rclcpp/logger.hpp>
#include <rclcpp/logging.hpp>
#include <fcl/geometry/bvh/BVH_model.h>
#include <fcl/geometry/octree/octree.h>
#include <memory>
#include <type_traits>
#include <mutex>
Include dependency graph for collision_common.cpp:

Go to the source code of this file.

Classes

struct  collision_detection::FCLShapeCache
 Cache for an arbitrary type of shape. It is assigned during the execution of createCollisionGeometry(). More...
 

Namespaces

 collision_detection
 

Functions

bool collision_detection::collisionCallback (fcl::CollisionObjectd *o1, fcl::CollisionObjectd *o2, void *data)
 Callback function used by the FCLManager used for each pair of collision objects to calculate object contact information. More...
 
bool collision_detection::distanceCallback (fcl::CollisionObjectd *o1, fcl::CollisionObjectd *o2, void *data, double &min_dist)
 Callback function used by the FCLManager used for each pair of collision objects to calculate collisions and distances. More...
 
template<typename BV , typename T >
FCLShapeCache & collision_detection::GetShapeCache ()
 
template<typename BV , typename T >
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, const T *data, int shape_index)
 Templated helper function creating new collision geometry out of general object using an arbitrary bounding volume (BV). More...
 
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, const moveit::core::LinkModel *link, int shape_index)
 Create new FCLGeometry object out of robot link model. More...
 
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, const moveit::core::AttachedBody *ab, int shape_index)
 Create new FCLGeometry object out of attached body. More...
 
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, const World::Object *obj)
 Create new FCLGeometry object out of a world object. More...
 
template<typename BV , typename T >
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, double scale, double padding, const T *data, int shape_index)
 Templated helper function creating new collision geometry out of general object using an arbitrary bounding volume (BV). This can include padding and scaling. More...
 
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, double scale, double padding, const moveit::core::LinkModel *link, int shape_index)
 Create new scaled and / or padded FCLGeometry object out of robot link model. More...
 
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, double scale, double padding, const moveit::core::AttachedBody *ab, int shape_index)
 Create new scaled and / or padded FCLGeometry object out of an attached body. More...
 
FCLGeometryConstPtr collision_detection::createCollisionGeometry (const shapes::ShapeConstPtr &shape, double scale, double padding, const World::Object *obj)
 Create new scaled and / or padded FCLGeometry object out of an world object. More...
 
void collision_detection::cleanCollisionGeometryCache ()
 Increases the counter of the caches which can trigger the cleaning of expired entries from them. More...