Go to the documentation of this file.
38 #ifndef COAL_GEOMETRIC_SHAPES_UTILITY_H
39 #define COAL_GEOMETRIC_SHAPES_UTILITY_H
53 const Transform3s& tf);
55 const Transform3s& tf);
57 const Transform3s& tf);
59 const Transform3s& tf);
61 const Transform3s& tf);
63 const Transform3s& tf);
65 const Transform3s& tf);
67 const Transform3s& tf);
72 template <
typename BV,
typename S>
74 if (s.getSweptSphereRadius() > 0) {
79 fit(&convex_bound_vertices[0], (
unsigned int)convex_bound_vertices.size(),
93 const Transform3s& tf, AABB& bv);
97 const Transform3s& tf, AABB& bv);
105 const Transform3s& tf, AABB& bv);
109 const Transform3s& tf, AABB& bv);
113 const Transform3s& tf, AABB& bv);
117 const Transform3s& tf, AABB& bv);
133 const Transform3s& tf, OBB& bv);
141 const Transform3s& tf, OBB& bv);
145 const Transform3s& tf, OBB& bv);
149 const Transform3s& tf, OBB& bv);
153 const Transform3s& tf, RSS& bv);
157 const Transform3s& tf,
162 const Transform3s& tf, kIOS& bv);
165 COAL_DLLAPI
void computeBV<KDOP<16>, Halfspace>(
const Halfspace& s,
166 const Transform3s& tf,
170 COAL_DLLAPI
void computeBV<KDOP<18>, Halfspace>(
const Halfspace& s,
171 const Transform3s& tf,
175 COAL_DLLAPI
void computeBV<KDOP<24>, Halfspace>(
const Halfspace& s,
176 const Transform3s& tf,
196 COAL_DLLAPI
void computeBV<KDOP<16>, Plane>(
const Plane& s,
197 const Transform3s& tf,
201 COAL_DLLAPI
void computeBV<KDOP<18>, Plane>(
const Plane& s,
202 const Transform3s& tf,
206 COAL_DLLAPI
void computeBV<KDOP<24>, Plane>(
const Plane& s,
207 const Transform3s& tf,
212 COAL_DLLAPI
void constructBox(
const AABB& bv, Box&
box, Transform3s& tf);
214 COAL_DLLAPI
void constructBox(
const OBB& bv, Box&
box, Transform3s& tf);
216 COAL_DLLAPI
void constructBox(
const OBBRSS& bv, Box&
box, Transform3s& tf);
218 COAL_DLLAPI
void constructBox(
const kIOS& bv, Box&
box, Transform3s& tf);
220 COAL_DLLAPI
void constructBox(
const RSS& bv, Box&
box, Transform3s& tf);
222 COAL_DLLAPI
void constructBox(
const KDOP<16>& bv, Box&
box, Transform3s& tf);
224 COAL_DLLAPI
void constructBox(
const KDOP<18>& bv, Box&
box, Transform3s& tf);
226 COAL_DLLAPI
void constructBox(
const KDOP<24>& bv, Box&
box, Transform3s& tf);
228 COAL_DLLAPI
void constructBox(
const AABB& bv,
const Transform3s& tf_bv,
229 Box&
box, Transform3s& tf);
231 COAL_DLLAPI
void constructBox(
const OBB& bv,
const Transform3s& tf_bv, Box&
box,
234 COAL_DLLAPI
void constructBox(
const OBBRSS& bv,
const Transform3s& tf_bv,
235 Box&
box, Transform3s& tf);
237 COAL_DLLAPI
void constructBox(
const kIOS& bv,
const Transform3s& tf_bv,
238 Box&
box, Transform3s& tf);
240 COAL_DLLAPI
void constructBox(
const RSS& bv,
const Transform3s& tf_bv, Box&
box,
243 COAL_DLLAPI
void constructBox(
const KDOP<16>& bv,
const Transform3s& tf_bv,
244 Box&
box, Transform3s& tf);
246 COAL_DLLAPI
void constructBox(
const KDOP<18>& bv,
const Transform3s& tf_bv,
247 Box&
box, Transform3s& tf);
249 COAL_DLLAPI
void constructBox(
const KDOP<24>& bv,
const Transform3s& tf_bv,
250 Box&
box, Transform3s& tf);
252 COAL_DLLAPI Halfspace
transform(
const Halfspace& a,
const Transform3s& tf);
254 COAL_DLLAPI Plane
transform(
const Plane& a,
const Transform3s& tf);
257 const Plane& a,
const Transform3s& tf);
COAL_DLLAPI void computeBV< RSS, Halfspace >(const Halfspace &s, const Transform3s &tf, RSS &bv)
COAL_DLLAPI void computeBV< AABB, Plane >(const Plane &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< AABB, Capsule >(const Capsule &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< kIOS, Halfspace >(const Halfspace &s, const Transform3s &tf, kIOS &bv)
COAL_DLLAPI void computeBV< OBB, Halfspace >(const Halfspace &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI void computeBV< OBB, ConvexBase >(const ConvexBase &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI std::array< Halfspace, 2 > transformToHalfspaces(const Plane &a, const Transform3s &tf)
COAL_DLLAPI void computeBV< AABB, Halfspace >(const Halfspace &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< OBB, Plane >(const Plane &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI void computeBV< OBB, Cylinder >(const Cylinder &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI void computeBV< AABB, Cone >(const Cone &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< OBBRSS, Plane >(const Plane &s, const Transform3s &tf, OBBRSS &bv)
void fit(Vec3s *ps, unsigned int n, BV &bv)
Compute a bounding volume that fits a set of n points.
COAL_DLLAPI void computeBV< AABB, Cylinder >(const Cylinder &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< OBB, Box >(const Box &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI void constructBox(const AABB &bv, Box &box, Transform3s &tf)
construct a box shape (with a configuration) from a given bounding volume
COAL_DLLAPI Halfspace transform(const Halfspace &a, const Transform3s &tf)
#define COAL_THROW_PRETTY(message, exception)
COAL_DLLAPI void computeBV< OBB, Capsule >(const Capsule &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI void computeBV< RSS, Plane >(const Plane &s, const Transform3s &tf, RSS &bv)
std::vector< Vec3s > getBoundVertices(const Box &box, const Transform3s &tf)
COAL_DLLAPI void computeBV< AABB, Box >(const Box &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< OBBRSS, Halfspace >(const Halfspace &s, const Transform3s &tf, OBBRSS &bv)
COAL_DLLAPI void computeBV< AABB, Sphere >(const Sphere &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< OBB, Cone >(const Cone &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI void computeBV< kIOS, Plane >(const Plane &s, const Transform3s &tf, kIOS &bv)
void computeBV(const S &s, const Transform3s &tf, BV &bv)
calculate a bounding volume for a shape in a specific configuration
COAL_DLLAPI void computeBV< OBB, Sphere >(const Sphere &s, const Transform3s &tf, OBB &bv)
COAL_DLLAPI void computeBV< AABB, Ellipsoid >(const Ellipsoid &e, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< AABB, TriangleP >(const TriangleP &s, const Transform3s &tf, AABB &bv)
COAL_DLLAPI void computeBV< AABB, ConvexBase >(const ConvexBase &s, const Transform3s &tf, AABB &bv)
hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:58