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

collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet) More...

#include <narrowphase.h>

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

default setting for GJK algorithm

Definition at line 560 of file narrowphase.h.


Member Function Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Member Data Documentation

maximum number of simplex face used in EPA algorithm

Definition at line 571 of file narrowphase.h.

maximum number of iterations used for EPA iterations

Definition at line 577 of file narrowphase.h.

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.


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