All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
fcl::GJKSolver_libccd Struct Reference

collision and distance solver based on libccd library. More...

#include <narrowphase.h>

List of all members.

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

Detailed Description

collision and distance solver based on libccd library.

Definition at line 49 of file narrowphase.h.


Constructor & Destructor Documentation

default setting for GJK algorithm

Definition at line 174 of file narrowphase.h.


Member Function Documentation

template<typename S1 , typename S2 >
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.

template<>
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.

template<>
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.

template<typename S1 , typename S2 >
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.

template<>
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.

template<>
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.

template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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
template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<typename S >
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.

template<typename S >
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.

template<>
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.

template<>
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.

template<>
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.

template<>
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.

template<typename S >
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.

template<typename S >
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.


Member Data Documentation

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.

maximum number of iterations used in GJK algorithm for collision

Definition at line 183 of file narrowphase.h.

maximum number of iterations used in GJK algorithm for distance

Definition at line 186 of file narrowphase.h.


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


fcl
Author(s): Jia Pan
autogenerated on Tue Jan 15 2013 16:05:31