collision and distance solver based on libccd library. More...
#include <narrowphase.h>
Public Member Functions | |
GJKSolver_libccd () | |
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 *dist) 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 *dist) 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 *dist) 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 | |
FCL_REAL | collision_tolerance |
the threshold used in GJK algorithm to stop collision iteration | |
FCL_REAL | distance_tolerance |
the threshold used in GJK algorithm to stop distance iteration | |
unsigned int | max_collision_iterations |
maximum number of iterations used in GJK algorithm for collision | |
unsigned int | max_distance_iterations |
maximum number of iterations used in GJK algorithm for distance |
collision and distance solver based on libccd library.
Definition at line 49 of file narrowphase.h.
fcl::GJKSolver_libccd::GJKSolver_libccd | ( | ) | [inline] |
default setting for GJK algorithm
Definition at line 174 of file narrowphase.h.
bool fcl::GJKSolver_libccd::shapeDistance | ( | const S1 & | s1, |
const Transform3f & | tf1, | ||
const S2 & | s2, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | dist | ||
) | const [inline] |
distance computation between two shapes
Definition at line 113 of file narrowphase.h.
bool fcl::GJKSolver_libccd::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_libccd::shapeDistance | ( | const Sphere & | s1, |
const Transform3f & | tf1, | ||
const Sphere & | s2, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | dist | ||
) | const |
Definition at line 2469 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 53 of file narrowphase.h.
bool fcl::GJKSolver_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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_libccd::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 2296 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2304 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2312 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2320 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2328 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2336 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2344 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2352 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2364 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2376 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2384 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2392 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2400 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2408 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2416 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2428 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::shapeTriangleDistance | ( | const S & | s, |
const Transform3f & | tf, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
FCL_REAL * | dist | ||
) | const [inline] |
distance computation between one shape and a triangle
Definition at line 134 of file narrowphase.h.
bool fcl::GJKSolver_libccd::shapeTriangleDistance | ( | const S & | s, |
const Transform3f & | tf1, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Transform3f & | tf2, | ||
FCL_REAL * | dist | ||
) | const [inline] |
distance computation between one shape and a triangle with transformation
Definition at line 154 of file narrowphase.h.
bool fcl::GJKSolver_libccd::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_libccd::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_libccd::shapeTriangleDistance | ( | const Sphere & | s, |
const Transform3f & | tf, | ||
const Vec3f & | P1, | ||
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
FCL_REAL * | dist | ||
) | const |
Definition at line 2477 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2485 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 73 of file narrowphase.h.
bool fcl::GJKSolver_libccd::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 92 of file narrowphase.h.
bool fcl::GJKSolver_libccd::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 2437 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2444 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2452 of file narrowphase.cpp.
bool fcl::GJKSolver_libccd::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 2459 of file narrowphase.cpp.
the threshold used in GJK algorithm to stop collision iteration
Definition at line 189 of file narrowphase.h.
the threshold used in GJK algorithm to stop distance iteration
Definition at line 192 of file narrowphase.h.
unsigned int fcl::GJKSolver_libccd::max_collision_iterations |
maximum number of iterations used in GJK algorithm for collision
Definition at line 183 of file narrowphase.h.
unsigned int fcl::GJKSolver_libccd::max_distance_iterations |
maximum number of iterations used in GJK algorithm for distance
Definition at line 186 of file narrowphase.h.