38 #ifndef HPP_FCL_BVH_UTILITY_H 39 #define HPP_FCL_BVH_UTILITY_H 47 template <
typename BV>
48 HPP_FCL_DLLAPI BVHModel<BV>*
BVHExtract(
const BVHModel<BV>& model,
49 const Transform3f& pose,
53 HPP_FCL_DLLAPI BVHModel<OBB>*
BVHExtract(
const BVHModel<OBB>& model,
54 const Transform3f& pose,
57 HPP_FCL_DLLAPI BVHModel<AABB>*
BVHExtract(
const BVHModel<AABB>& model,
58 const Transform3f& pose,
61 HPP_FCL_DLLAPI BVHModel<RSS>*
BVHExtract(
const BVHModel<RSS>& model,
62 const Transform3f& pose,
65 HPP_FCL_DLLAPI BVHModel<kIOS>*
BVHExtract(
const BVHModel<kIOS>& model,
66 const Transform3f& pose,
69 HPP_FCL_DLLAPI BVHModel<OBBRSS>*
BVHExtract(
const BVHModel<OBBRSS>& model,
70 const Transform3f& pose,
73 HPP_FCL_DLLAPI BVHModel<KDOP<16> >*
BVHExtract(
const BVHModel<KDOP<16> >& model,
74 const Transform3f& pose,
77 HPP_FCL_DLLAPI BVHModel<KDOP<18> >*
BVHExtract(
const BVHModel<KDOP<18> >& model,
78 const Transform3f& pose,
81 HPP_FCL_DLLAPI BVHModel<KDOP<24> >*
BVHExtract(
const BVHModel<KDOP<24> >& model,
82 const Transform3f& pose,
88 unsigned int* indices,
unsigned int n,
94 Vec3f* ps,
Vec3f* ps2, Triangle* ts,
unsigned int* indices,
unsigned int n,
100 unsigned int* indices,
unsigned int n,
112 unsigned int* indices,
unsigned int n,
Eigen::Matrix< FCL_REAL, 3, 3 > Matrix3f
HPP_FCL_DLLAPI FCL_REAL maximumDistance(Vec3f *ps, Vec3f *ps2, Triangle *ts, unsigned int *indices, unsigned int n, const Vec3f &query)
Compute the maximum distance from a given center point to a point cloud.
HPP_FCL_DLLAPI void circumCircleComputation(const Vec3f &a, const Vec3f &b, const Vec3f &c, Vec3f ¢er, FCL_REAL &radius)
Compute the center and radius for a triangle's circumcircle.
HPP_FCL_DLLAPI void getRadiusAndOriginAndRectangleSize(Vec3f *ps, Vec3f *ps2, Triangle *ts, unsigned int *indices, unsigned int n, const Matrix3f &axes, Vec3f &origin, FCL_REAL l[2], FCL_REAL &r)
Compute the RSS bounding volume parameters: radius, rectangle size and the origin, given the BV axises.
HPP_FCL_DLLAPI void getCovariance(Vec3f *ps, Vec3f *ps2, Triangle *ts, unsigned int *indices, unsigned int n, Matrix3f &M)
Compute the covariance matrix for a set or subset of points. if ts = null, then indices refer to poin...
HPP_FCL_DLLAPI void getExtentAndCenter(Vec3f *ps, Vec3f *ps2, Triangle *ts, unsigned int *indices, unsigned int n, Matrix3f &axes, Vec3f ¢er, Vec3f &extent)
Compute the bounding volume extent and center for a set or subset of points, given the BV axises...
HPP_FCL_DLLAPI BVHModel< BV > * BVHExtract(const BVHModel< BV > &model, const Transform3f &pose, const AABB &aabb)
Extract the part of the BVHModel that is inside an AABB. A triangle in collision with the AABB is con...
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f