CCD intersect kernel among primitives. More...
#include <hpp/fcl/intersect.h>
Static Public Member Functions | |
static bool | intersect_VF (const Vec3f &a0, const Vec3f &b0, const Vec3f &c0, const Vec3f &p0, const Vec3f &a1, const Vec3f &b1, const Vec3f &c1, const Vec3f &p1, FCL_REAL *collision_time, Vec3f *p_i, bool useNewton=true) |
CCD intersect between one vertex and one face [a0, b0, c0] and [a1, b1, c1] are points for the triangle face in time t0 and t1 p0 and p1 are points for vertex in time t0 and t1 p_i returns the coordinate of the collision point. | |
static bool | intersect_EE (const Vec3f &a0, const Vec3f &b0, const Vec3f &c0, const Vec3f &d0, const Vec3f &a1, const Vec3f &b1, const Vec3f &c1, const Vec3f &d1, FCL_REAL *collision_time, Vec3f *p_i, bool useNewton=true) |
CCD intersect between two edges [a0, b0] and [a1, b1] are points for one edge in time t0 and t1 [c0, d0] and [c1, d1] are points for the other edge in time t0 and t1 p_i returns the coordinate of the collision point. | |
static bool | intersect_VF_filtered (const Vec3f &a0, const Vec3f &b0, const Vec3f &c0, const Vec3f &p0, const Vec3f &a1, const Vec3f &b1, const Vec3f &c1, const Vec3f &p1, FCL_REAL *collision_time, Vec3f *p_i, bool useNewton=true) |
CCD intersect between one vertex and one face, using additional filter. | |
static bool | intersect_EE_filtered (const Vec3f &a0, const Vec3f &b0, const Vec3f &c0, const Vec3f &d0, const Vec3f &a1, const Vec3f &b1, const Vec3f &c1, const Vec3f &d1, FCL_REAL *collision_time, Vec3f *p_i, bool useNewton=true) |
CCD intersect between two edges, using additional filter. | |
static bool | intersect_VE (const Vec3f &a0, const Vec3f &b0, const Vec3f &p0, const Vec3f &a1, const Vec3f &b1, const Vec3f &p1, const Vec3f &L) |
CCD intersect between one vertex and and one edge. | |
static bool | intersect_Triangle (const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Vec3f &Q1, const Vec3f &Q2, const Vec3f &Q3, Vec3f *contact_points=NULL, unsigned int *num_contact_points=NULL, FCL_REAL *penetration_depth=NULL, Vec3f *normal=NULL) |
CD intersect between two triangles [P1, P2, P3] and [Q1, Q2, Q3]. | |
static bool | intersect_Triangle (const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Vec3f &Q1, const Vec3f &Q2, const Vec3f &Q3, const Matrix3f &R, const Vec3f &T, Vec3f *contact_points=NULL, unsigned int *num_contact_points=NULL, FCL_REAL *penetration_depth=NULL, Vec3f *normal=NULL) |
static bool | intersect_Triangle (const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Vec3f &Q1, const Vec3f &Q2, const Vec3f &Q3, const Transform3f &tf, Vec3f *contact_points=NULL, unsigned int *num_contact_points=NULL, FCL_REAL *penetration_depth=NULL, Vec3f *normal=NULL) |
CCD intersect kernel among primitives.
static bool fcl::Intersect::intersect_EE | ( | const Vec3f & | a0, |
const Vec3f & | b0, | ||
const Vec3f & | c0, | ||
const Vec3f & | d0, | ||
const Vec3f & | a1, | ||
const Vec3f & | b1, | ||
const Vec3f & | c1, | ||
const Vec3f & | d1, | ||
FCL_REAL * | collision_time, | ||
Vec3f * | p_i, | ||
bool | useNewton = true |
||
) | [static] |
CCD intersect between two edges [a0, b0] and [a1, b1] are points for one edge in time t0 and t1 [c0, d0] and [c1, d1] are points for the other edge in time t0 and t1 p_i returns the coordinate of the collision point.
Referenced by fcl::MeshContinuousCollisionTraversalNode< BV >::leafTesting().
static bool fcl::Intersect::intersect_EE_filtered | ( | const Vec3f & | a0, |
const Vec3f & | b0, | ||
const Vec3f & | c0, | ||
const Vec3f & | d0, | ||
const Vec3f & | a1, | ||
const Vec3f & | b1, | ||
const Vec3f & | c1, | ||
const Vec3f & | d1, | ||
FCL_REAL * | collision_time, | ||
Vec3f * | p_i, | ||
bool | useNewton = true |
||
) | [static] |
CCD intersect between two edges, using additional filter.
static bool fcl::Intersect::intersect_Triangle | ( | const Vec3f & | P1, |
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Vec3f & | Q1, | ||
const Vec3f & | Q2, | ||
const Vec3f & | Q3, | ||
Vec3f * | contact_points = NULL , |
||
unsigned int * | num_contact_points = NULL , |
||
FCL_REAL * | penetration_depth = NULL , |
||
Vec3f * | normal = NULL |
||
) | [static] |
CD intersect between two triangles [P1, P2, P3] and [Q1, Q2, Q3].
Referenced by fcl::MeshCollisionTraversalNode< OBBRSS >::leafTesting().
static bool fcl::Intersect::intersect_Triangle | ( | const Vec3f & | P1, |
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Vec3f & | Q1, | ||
const Vec3f & | Q2, | ||
const Vec3f & | Q3, | ||
const Matrix3f & | R, | ||
const Vec3f & | T, | ||
Vec3f * | contact_points = NULL , |
||
unsigned int * | num_contact_points = NULL , |
||
FCL_REAL * | penetration_depth = NULL , |
||
Vec3f * | normal = NULL |
||
) | [static] |
static bool fcl::Intersect::intersect_Triangle | ( | const Vec3f & | P1, |
const Vec3f & | P2, | ||
const Vec3f & | P3, | ||
const Vec3f & | Q1, | ||
const Vec3f & | Q2, | ||
const Vec3f & | Q3, | ||
const Transform3f & | tf, | ||
Vec3f * | contact_points = NULL , |
||
unsigned int * | num_contact_points = NULL , |
||
FCL_REAL * | penetration_depth = NULL , |
||
Vec3f * | normal = NULL |
||
) | [static] |
static bool fcl::Intersect::intersect_VE | ( | const Vec3f & | a0, |
const Vec3f & | b0, | ||
const Vec3f & | p0, | ||
const Vec3f & | a1, | ||
const Vec3f & | b1, | ||
const Vec3f & | p1, | ||
const Vec3f & | L | ||
) | [static] |
CCD intersect between one vertex and and one edge.
static bool fcl::Intersect::intersect_VF | ( | const Vec3f & | a0, |
const Vec3f & | b0, | ||
const Vec3f & | c0, | ||
const Vec3f & | p0, | ||
const Vec3f & | a1, | ||
const Vec3f & | b1, | ||
const Vec3f & | c1, | ||
const Vec3f & | p1, | ||
FCL_REAL * | collision_time, | ||
Vec3f * | p_i, | ||
bool | useNewton = true |
||
) | [static] |
CCD intersect between one vertex and one face [a0, b0, c0] and [a1, b1, c1] are points for the triangle face in time t0 and t1 p0 and p1 are points for vertex in time t0 and t1 p_i returns the coordinate of the collision point.
Referenced by fcl::MeshContinuousCollisionTraversalNode< BV >::leafTesting().
static bool fcl::Intersect::intersect_VF_filtered | ( | const Vec3f & | a0, |
const Vec3f & | b0, | ||
const Vec3f & | c0, | ||
const Vec3f & | p0, | ||
const Vec3f & | a1, | ||
const Vec3f & | b1, | ||
const Vec3f & | c1, | ||
const Vec3f & | p1, | ||
FCL_REAL * | collision_time, | ||
Vec3f * | p_i, | ||
bool | useNewton = true |
||
) | [static] |
CCD intersect between one vertex and one face, using additional filter.