collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet) More...
#include <narrowphase.h>
Public Member Functions | |
GJKSolver_indep () | |
default setting for GJK algorithm | |
template<typename S1 , typename S2 > | |
bool | shapeDistance (const S1 &s1, const Transform3f &tf1, const S2 &s2, const Transform3f &tf2, FCL_REAL *distance) const |
distance computation between two shapes | |
template<> | |
bool | shapeDistance (const Sphere &s1, const Transform3f &tf1, const Sphere &s2, const Transform3f &tf2, FCL_REAL *dist) const |
Fast implementation for sphere-sphere distance. | |
template<> | |
bool | shapeDistance (const Sphere &s1, const Transform3f &tf1, const Sphere &s2, const Transform3f &tf2, FCL_REAL *dist) const |
template<typename S1 , typename S2 > | |
bool | shapeIntersect (const S1 &s1, const Transform3f &tf1, const S2 &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
intersection checking between two shapes | |
template<> | |
bool | shapeIntersect (const Sphere &s1, const Transform3f &tf1, const Sphere &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
Fast implementation for sphere-sphere collision. | |
template<> | |
bool | shapeIntersect (const Box &s1, const Transform3f &tf1, const Box &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
Fast implementation for box-box collision. | |
template<> | |
bool | shapeIntersect (const Sphere &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Box &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Capsule &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cylinder &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cone &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Halfspace &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Plane &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Sphere &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Box &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Capsule &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cylinder &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cone &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Halfspace &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Plane &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Sphere &s1, const Transform3f &tf1, const Sphere &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Box &s1, const Transform3f &tf1, const Box &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Sphere &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Box &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Capsule &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cylinder &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cone &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Halfspace &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Plane &s1, const Transform3f &tf1, const Halfspace &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Sphere &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Box &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Capsule &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cylinder &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Cone &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Halfspace &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeIntersect (const Plane &s1, const Transform3f &tf1, const Plane &s2, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<typename S > | |
bool | shapeTriangleDistance (const S &s, const Transform3f &tf, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, FCL_REAL *distance) const |
distance computation between one shape and a triangle | |
template<typename S > | |
bool | shapeTriangleDistance (const S &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, FCL_REAL *distance) const |
distance computation between one shape and a triangle with transformation | |
template<> | |
bool | shapeTriangleDistance (const Sphere &s, const Transform3f &tf, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, FCL_REAL *dist) const |
Fast implementation for sphere-triangle distance. | |
template<> | |
bool | shapeTriangleDistance (const Sphere &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, FCL_REAL *dist) const |
Fast implementation for sphere-triangle distance. | |
template<> | |
bool | shapeTriangleDistance (const Sphere &s, const Transform3f &tf, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, FCL_REAL *dist) const |
template<> | |
bool | shapeTriangleDistance (const Sphere &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, FCL_REAL *dist) const |
template<typename S > | |
bool | shapeTriangleIntersect (const S &s, const Transform3f &tf, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
intersection checking between one shape and a triangle | |
template<typename S > | |
bool | shapeTriangleIntersect (const S &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeTriangleIntersect (const Sphere &s, const Transform3f &tf, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
Fast implementation for sphere-triangle collision. | |
template<> | |
bool | shapeTriangleIntersect (const Sphere &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
Fast implementation for sphere-triangle collision. | |
template<> | |
bool | shapeTriangleIntersect (const Halfspace &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
template<> | |
bool | shapeTriangleIntersect (const Plane &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, Vec3f *contact_points, FCL_REAL *penetration_depth, Vec3f *normal) const |
Public Attributes | |
unsigned int | epa_max_face_num |
maximum number of simplex face used in EPA algorithm | |
unsigned int | epa_max_iterations |
maximum number of iterations used for EPA iterations | |
unsigned int | epa_max_vertex_num |
maximum number of simplex vertex used in EPA algorithm | |
FCL_REAL | epa_tolerance |
the threshold used in EPA to stop iteration | |
FCL_REAL | gjk_max_iterations |
maximum number of iterations used for GJK iterations | |
FCL_REAL | gjk_tolerance |
the threshold used in GJK to stop iteration |
collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet)
Definition at line 319 of file narrowphase.h.
fcl::GJKSolver_indep::GJKSolver_indep | ( | ) | [inline] |
default setting for GJK algorithm
Definition at line 560 of file narrowphase.h.
bool fcl::GJKSolver_indep::shapeDistance | ( | const S1 & | s1, |
const Transform3f & | tf1, | ||
const S2 & | s2, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | distance | ||
) | const [inline] |
distance computation between two shapes
Definition at line 454 of file narrowphase.h.
bool fcl::GJKSolver_indep::shapeDistance | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Sphere & | s2, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | dist | ||
) | const |
Fast implementation for sphere-sphere distance.
bool fcl::GJKSolver_indep::shapeDistance | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Sphere & | s2, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | dist | ||
) | const |
Definition at line 2670 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const S1 & | s1, |
const Transform3f & | tf1, | ||
const S2 & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const [inline] |
intersection checking between two shapes
Definition at line 323 of file narrowphase.h.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Sphere & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Fast implementation for sphere-sphere collision.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Box & | s1, |
const Transform3f & | tf1, | ||
const Box & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Fast implementation for box-box collision.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Box & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Capsule & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cylinder & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cone & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Halfspace & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Plane & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Box & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Capsule & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cylinder & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cone & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Halfspace & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Plane & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Sphere & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2499 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Box & | s1, |
const Transform3f & | tf1, | ||
const Box & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2507 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2515 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Box & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2523 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Capsule & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2531 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cylinder & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2539 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cone & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2547 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Halfspace & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2555 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Plane & | s1, |
const Transform3f & | tf1, | ||
const Halfspace & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2568 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2580 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Box & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2588 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Capsule & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2596 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cylinder & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2604 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Cone & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2612 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Halfspace & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2620 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeIntersect | ( | const Plane & | s1, |
const Transform3f & | tf1, | ||
const Plane & | s2, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2632 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeTriangleDistance | ( | const S & | s, |
const Transform3f & | tf, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
FCL_REAL * | distance | ||
) | const [inline] |
distance computation between one shape and a triangle
Definition at line 489 of file narrowphase.h.
bool fcl::GJKSolver_indep::shapeTriangleDistance | ( | const S & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | distance | ||
) | const [inline] |
distance computation between one shape and a triangle with transformation
Definition at line 525 of file narrowphase.h.
bool fcl::GJKSolver_indep::shapeTriangleDistance | ( | const Sphere & | s, |
const Transform3f & | tf, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
FCL_REAL * | dist | ||
) | const |
Fast implementation for sphere-triangle distance.
bool fcl::GJKSolver_indep::shapeTriangleDistance | ( | const Sphere & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | dist | ||
) | const |
Fast implementation for sphere-triangle distance.
bool fcl::GJKSolver_indep::shapeTriangleDistance | ( | const Sphere & | s, |
const Transform3f & | tf, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
FCL_REAL * | dist | ||
) | const |
Definition at line 2678 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeTriangleDistance | ( | const Sphere & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | dist | ||
) | const |
Definition at line 2686 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeTriangleIntersect | ( | const S & | s, |
const Transform3f & | tf, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const [inline] |
intersection checking between one shape and a triangle
Definition at line 366 of file narrowphase.h.
bool fcl::GJKSolver_indep::shapeTriangleIntersect | ( | const S & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const [inline] |
Definition at line 410 of file narrowphase.h.
bool fcl::GJKSolver_indep::shapeTriangleIntersect | ( | const Sphere & | s, |
const Transform3f & | tf, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Fast implementation for sphere-triangle collision.
Definition at line 2641 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeTriangleIntersect | ( | const Sphere & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Fast implementation for sphere-triangle collision.
Definition at line 2648 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeTriangleIntersect | ( | const Halfspace & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2655 of file narrowphase.cpp.
bool fcl::GJKSolver_indep::shapeTriangleIntersect | ( | const Plane & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
Vec3f * | contact_points, | ||
FCL_REAL * | penetration_depth, | ||
Vec3f * | normal | ||
) | const |
Definition at line 2662 of file narrowphase.cpp.
unsigned int fcl::GJKSolver_indep::epa_max_face_num |
maximum number of simplex face used in EPA algorithm
Definition at line 571 of file narrowphase.h.
unsigned int fcl::GJKSolver_indep::epa_max_iterations |
maximum number of iterations used for EPA iterations
Definition at line 577 of file narrowphase.h.
unsigned int fcl::GJKSolver_indep::epa_max_vertex_num |
maximum number of simplex vertex used in EPA algorithm
Definition at line 574 of file narrowphase.h.
the threshold used in EPA to stop iteration
Definition at line 580 of file narrowphase.h.
maximum number of iterations used for GJK iterations
Definition at line 586 of file narrowphase.h.
the threshold used in GJK to stop iteration
Definition at line 583 of file narrowphase.h.