narrowphase/detail/primitive_shape_algorithm/plane.h File Reference
`#include "fcl/geometry/shape/sphere.h"`
`#include "fcl/geometry/shape/ellipsoid.h"`
`#include "fcl/geometry/shape/box.h"`
`#include "fcl/geometry/shape/capsule.h"`
`#include "fcl/geometry/shape/cylinder.h"`
`#include "fcl/geometry/shape/cone.h"`
`#include "fcl/geometry/shape/convex.h"`
`#include "fcl/geometry/shape/plane.h"`
`#include "fcl/narrowphase/contact_point.h"`
`#include "fcl/narrowphase/detail/primitive_shape_algorithm/plane-inl.h"`
Include dependency graph for narrowphase/detail/primitive_shape_algorithm/plane.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

fcl
Main namespace.

fcl::detail

## Functions

template<typename S >
FCL_EXPORT bool fcl::detail::boxPlaneIntersect (const Box< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts)
box half space, a, b, c = +/- edge size n^T * (R(o + a v1 + b v2 + c v3) + T) ~ d so (R^T n) (a v1 + b v2 + c v3) + n * T ~ d check whether d - n * T - (R^T n) (a v1 + b v2 + c v3) >= 0 for some a, b, c and <=0 for some a, b, c so need to check whether |d - n * T| <= |(R^T n)(a v1 + b v2 + c v3)|, the reason is as follows: (R^T n) (a v1 + b v2 + c v3) can get |(R^T n) (a v1 + b v2 + c v3)| for one a, b, c. if |d - n * T| <= |(R^T n)(a v1 + b v2 + c v3)| then can get both positive and negative value on the right side. More...

template<typename S >
FCL_EXPORT bool fcl::detail::capsulePlaneIntersect (const Capsule< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2)

template<typename S >
FCL_EXPORT bool fcl::detail::capsulePlaneIntersect (const Capsule< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts)

template<typename S >
FCL_EXPORT bool fcl::detail::conePlaneIntersect (const Cone< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts)

template<typename S >
FCL_EXPORT bool fcl::detail::convexPlaneIntersect (const Convex< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, Vector3< S > *contact_points, S *penetration_depth, Vector3< S > *normal)

template<typename S >
FCL_EXPORT bool fcl::detail::cylinderPlaneIntersect (const Cylinder< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2)
cylinder-plane intersect n^T (R (r * cosa * v1 + r * sina * v2 + h * v3) + T) ~ d need one point to be positive and one to be negative (n^T * v3) * h + n * T -d + r * (cosa * (n^T * R * v1) + sina * (n^T * R * v2)) ~ 0 (n^T * v3) * h + r * (cosa * (n^T * R * v1) + sina * (n^T * R * v2)) + n * T - d ~ 0 More...

template<typename S >
FCL_EXPORT bool fcl::detail::cylinderPlaneIntersect (const Cylinder< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts)

template<typename S >
FCL_EXPORT bool fcl::detail::ellipsoidPlaneIntersect (const Ellipsoid< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts)

template<typename S >
FCL_EXPORT bool fcl::detail::planeIntersect (const Plane< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts)

template<>
FCL_EXPORT double fcl::detail::planeIntersectTolerance ()

template<typename S >
FCL_EXPORT S fcl::detail::planeIntersectTolerance ()

template<typename S >
FCL_EXPORT bool fcl::detail::planeTriangleIntersect (const Plane< S > &s1, const Transform3< S > &tf1, const Vector3< S > &P1, const Vector3< S > &P2, const Vector3< S > &P3, const Transform3< S > &tf2, Vector3< S > *contact_points, S *penetration_depth, Vector3< S > *normal)

template<typename S >
FCL_EXPORT bool fcl::detail::spherePlaneIntersect (const Sphere< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts)

fcl
Author(s):
autogenerated on Thu Mar 23 2023 02:38:07