37 #ifndef GEOMETRIC_SHAPES_BODY_OPERATIONS_ 38 #define GEOMETRIC_SHAPES_BODY_OPERATIONS_ 43 #include <geometry_msgs/Pose.h> 55 Body*
constructBodyFromMsg(
const shape_msgs::SolidPrimitive& shape,
const geometry_msgs::Pose& pose);
61 void mergeBoundingSpheres(
const std::vector<BoundingSphere>& spheres, BoundingSphere& mergedSphere);
Body * constructBodyFromMsg(const shape_msgs::Mesh &shape, const geometry_msgs::Pose &pose)
Create a body from a given shape.
void mergeBoundingSpheres(const std::vector< BoundingSphere > &spheres, BoundingSphere &mergedSphere)
Compute a bounding sphere to enclose a set of bounding spheres.
A basic definition of a shape. Shapes are considered centered at origin.
Body * createBodyFromShape(const shapes::Shape *shape)
Create a body from a given shape.
void computeBoundingSphere(const std::vector< const Body * > &bodies, BoundingSphere &mergedSphere)
Compute the bounding sphere for a set of bodies and store the resulting sphere in mergedSphere...
boost::variant< shape_msgs::SolidPrimitive, shape_msgs::Mesh, shape_msgs::Plane > ShapeMsg
Type that can hold any of the desired shape message types.
This set of classes allows quickly detecting whether a given point is inside an object or not...