39 #ifndef HPP_FCL_GEOMETRIC_SHAPES_UTILITY_H
40 #define HPP_FCL_GEOMETRIC_SHAPES_UTILITY_H
56 HPP_FCL_DLLAPI std::vector<Vec3f> getBoundVertices(
const Box& box,
const Transform3f& tf);
57 HPP_FCL_DLLAPI std::vector<Vec3f> getBoundVertices(
const Sphere& sphere,
const Transform3f& tf);
58 HPP_FCL_DLLAPI std::vector<Vec3f> getBoundVertices(
const Capsule& capsule,
const Transform3f& tf);
59 HPP_FCL_DLLAPI std::vector<Vec3f> getBoundVertices(
const Cone& cone,
const Transform3f& tf);
60 HPP_FCL_DLLAPI std::vector<Vec3f> getBoundVertices(
const Cylinder& cylinder,
const Transform3f& tf);
61 HPP_FCL_DLLAPI std::vector<Vec3f> getBoundVertices(
const ConvexBase& convex,
const Transform3f& tf);
62 HPP_FCL_DLLAPI std::vector<Vec3f> getBoundVertices(
const TriangleP& triangle,
const Transform3f& tf);
68 template<
typename BV,
typename S>
71 std::vector<Vec3f> convex_bound_vertices = details::getBoundVertices(s, tf);
72 fit(&convex_bound_vertices[0], (
unsigned int)convex_bound_vertices.size(), bv);
A class describing the AABB collision structure, which is a box in 3D space determined by two diagona...
Definition: AABB.h:56
Center at zero point, axis aligned box.
Definition: geometric_shapes.h:103
Capsule It is where is the distance between the point x and the capsule segment AB,...
Definition: geometric_shapes.h:193
Cone The base of the cone is at and the top is at .
Definition: geometric_shapes.h:250
Base for convex polytope.
Definition: geometric_shapes.h:356
Cylinder along Z axis. The cylinder is defined at its centroid.
Definition: geometric_shapes.h:306
Half Space: this is equivalent to the Plane in ODE. The separation plane is defined as n * x = d; Poi...
Definition: geometric_shapes.h:461
KDOP class describes the KDOP collision structures. K is set as the template parameter,...
Definition: kDOP.h:90
Infinite plane.
Definition: geometric_shapes.h:531
Center at zero point sphere.
Definition: geometric_shapes.h:150
Triangle stores the points instead of only indices of points.
Definition: geometric_shapes.h:76
A class describing the kIOS collision structure, which is a set of spheres.
Definition: kIOS.h:56
#define HPP_FCL_DLLAPI
Definition: config.hh:64
Definition: traversal_node_setup.h:852
void computeBV< OBBRSS, Halfspace >(const Halfspace &s, const Transform3f &tf, OBBRSS &bv)
void computeBV(const S &s, const Transform3f &tf, BV &bv)
calculate a bounding volume for a shape in a specific configuration
Definition: geometric_shapes_utility.h:69
void constructBox(const AABB &bv, Box &box, Transform3f &tf)
construct a box shape (with a configuration) from a given bounding volume
void computeBV< OBB, Plane >(const Plane &s, const Transform3f &tf, OBB &bv)
void computeBV< AABB, ConvexBase >(const ConvexBase &s, const Transform3f &tf, AABB &bv)
void computeBV< OBB, Capsule >(const Capsule &s, const Transform3f &tf, OBB &bv)
void computeBV< OBB, Box >(const Box &s, const Transform3f &tf, OBB &bv)
void computeBV< AABB, TriangleP >(const TriangleP &s, const Transform3f &tf, AABB &bv)
void computeBV< RSS, Halfspace >(const Halfspace &s, const Transform3f &tf, RSS &bv)
void computeBV< AABB, Cylinder >(const Cylinder &s, const Transform3f &tf, AABB &bv)
void computeBV< AABB, Box >(const Box &s, const Transform3f &tf, AABB &bv)
void computeBV< OBBRSS, Plane >(const Plane &s, const Transform3f &tf, OBBRSS &bv)
void computeBV< OBB, ConvexBase >(const ConvexBase &s, const Transform3f &tf, OBB &bv)
void computeBV< RSS, Plane >(const Plane &s, const Transform3f &tf, RSS &bv)
void fit(Vec3f *ps, unsigned int n, BV &bv)
Compute a bounding volume that fits a set of n points.
Definition: BV_fitter.h:54
void computeBV< AABB, Plane >(const Plane &s, const Transform3f &tf, AABB &bv)
void computeBV< OBB, Cone >(const Cone &s, const Transform3f &tf, OBB &bv)
void computeBV< OBB, Halfspace >(const Halfspace &s, const Transform3f &tf, OBB &bv)
void computeBV< AABB, Cone >(const Cone &s, const Transform3f &tf, AABB &bv)
void computeBV< AABB, Sphere >(const Sphere &s, const Transform3f &tf, AABB &bv)
void computeBV< kIOS, Plane >(const Plane &s, const Transform3f &tf, kIOS &bv)
void computeBV< OBB, Sphere >(const Sphere &s, const Transform3f &tf, OBB &bv)
Halfspace transform(const Halfspace &a, const Transform3f &tf)
void computeBV< kIOS, Halfspace >(const Halfspace &s, const Transform3f &tf, kIOS &bv)
void computeBV< OBB, Cylinder >(const Cylinder &s, const Transform3f &tf, OBB &bv)
void computeBV< AABB, Capsule >(const Capsule &s, const Transform3f &tf, AABB &bv)
void computeBV< AABB, Halfspace >(const Halfspace &s, const Transform3f &tf, AABB &bv)
Main namespace.
Definition: AABB.h:44
Oriented bounding box class.
Definition: OBB.h:55