narrowphase/detail/primitive_shape_algorithm/halfspace-inl.h File Reference
`#include "fcl/narrowphase/detail/primitive_shape_algorithm/halfspace.h"`
Include dependency graph for narrowphase/detail/primitive_shape_algorithm/halfspace-inl.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 bool fcl::detail::boxHalfspaceIntersect (const Box< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2)

template bool fcl::detail::boxHalfspaceIntersect (const Box< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, std::vector< ContactPoint< double >> *contacts)

template<typename S >
bool fcl::detail::boxHalfspaceIntersect (const Box< S > &s1, const Transform3< S > &tf1, const Halfspace< S > &s2, const Transform3< S > &tf2)
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 the max value of left side is d - n * T + |(R^T n) (a v1 + b v2 + c v3)|, check that is enough More...

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

template bool fcl::detail::capsuleHalfspaceIntersect (const Capsule< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, std::vector< ContactPoint< double >> *contacts)

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

template bool fcl::detail::coneHalfspaceIntersect (const Cone< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, std::vector< ContactPoint< double >> *contacts)

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

template bool fcl::detail::convexHalfspaceIntersect (const Convex< double > &convex_C, const Transform3< double > &X_FC, const Halfspace< double > &half_space_H, const Transform3< double > &X_FH, std::vector< ContactPoint< double >> *contacts)

template bool fcl::detail::convexHalfspaceIntersect (const Convex< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, Vector3< double > *contact_points, double *penetration_depth, Vector3< double > *normal)

template<typename S >
bool fcl::detail::convexHalfspaceIntersect (const Convex< S > &convex_C, const Transform3< S > &X_FC, const Halfspace< S > &half_space_H, const Transform3< S > &X_FH, std::vector< ContactPoint< S >> *contacts)
Reports whether a convex mesh and half space are intersecting. If `contacts` is not `nullptr` and the two geometries are intersecting, a new ContactPoint will be added to the data. More...

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

template bool fcl::detail::cylinderHalfspaceIntersect (const Cylinder< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, std::vector< ContactPoint< double >> *contacts)

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

template bool fcl::detail::ellipsoidHalfspaceIntersect (const Ellipsoid< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, std::vector< ContactPoint< double >> *contacts)

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

template bool fcl::detail::halfspaceIntersect (const Halfspace< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, Vector3< double > &p, Vector3< double > &d, Halfspace< double > &s, double &penetration_depth, int &ret)

template<typename S >
bool fcl::detail::halfspaceIntersect (const Halfspace< S > &s1, const Transform3< S > &tf1, const Halfspace< S > &s2, const Transform3< S > &tf2, Vector3< S > &p, Vector3< S > &d, Halfspace< S > &s, S &penetration_depth, int &ret)
return whether two halfspace intersect if the separation planes of the two halfspaces are parallel return code 1, if two halfspaces' normal are same and s1 is in s2, also return s1 in s; return code 2, if two halfspaces' normal are same and s2 is in s1, also return s2 in s; return code 3, if two halfspaces' normal are opposite and s1 and s2 are into each other; collision free, if two halfspaces' are separate; if the separation planes of the two halfspaces are not parallel, return intersection ray, return code 4. ray origin is p and direction is d collision free return code 0 More...

template<typename S >
fcl::detail::halfspaceIntersectTolerance ()

template bool fcl::detail::halfspacePlaneIntersect (const Halfspace< double > &s1, const Transform3< double > &tf1, const Plane< double > &s2, const Transform3< double > &tf2, Plane< double > &pl, Vector3< double > &p, Vector3< double > &d, double &penetration_depth, int &ret)

template<typename S >
bool fcl::detail::halfspacePlaneIntersect (const Halfspace< S > &s1, const Transform3< S > &tf1, const Plane< S > &s2, const Transform3< S > &tf2, Plane< S > &pl, Vector3< S > &p, Vector3< S > &d, S &penetration_depth, int &ret)

template bool fcl::detail::halfspaceTriangleIntersect (const Halfspace< double > &s1, const Transform3< double > &tf1, const Vector3< double > &P1, const Vector3< double > &P2, const Vector3< double > &P3, const Transform3< double > &tf2, Vector3< double > *contact_points, double *penetration_depth, Vector3< double > *normal)

template<typename S >
bool fcl::detail::halfspaceTriangleIntersect (const Halfspace< 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 bool fcl::detail::planeHalfspaceIntersect (const Plane< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, Plane< double > &pl, Vector3< double > &p, Vector3< double > &d, double &penetration_depth, int &ret)

template<typename S >
bool fcl::detail::planeHalfspaceIntersect (const Plane< S > &s1, const Transform3< S > &tf1, const Halfspace< S > &s2, const Transform3< S > &tf2, Plane< S > &pl, Vector3< S > &p, Vector3< S > &d, S &penetration_depth, int &ret)
return whether plane collides with halfspace if the separation plane of the halfspace is parallel with the plane return code 1, if the plane's normal is the same with halfspace's normal and plane is inside halfspace, also return plane in pl return code 2, if the plane's normal is oppositie to the halfspace's normal and plane is inside halfspace, also return plane in pl plane is outside halfspace, collision-free if not parallel return the intersection ray, return code 3. ray origin is p and direction is d More...

template bool fcl::detail::sphereHalfspaceIntersect (const Sphere< double > &s1, const Transform3< double > &tf1, const Halfspace< double > &s2, const Transform3< double > &tf2, std::vector< ContactPoint< double >> *contacts)

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

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