sofa::helper::polygon_cube_intersection Namespace Reference


Functions

static unsigned long face_plane (const real p[3], unsigned long mask)
static unsigned long bevel_2d (const real p[3], unsigned long mask)
static unsigned long bevel_3d (const real p[3], unsigned long mask)
int trivial_vertex_tests (int nverts, const real verts[][3], int already_know_verts_are_outside_cube)
int fast_polygon_intersects_cube (int nverts, const real verts[][3], const real polynormal[3], int already_know_verts_are_outside_cube, int already_know_edges_are_outside_cube)
int polygon_contains_point_3d (int nverts, const float verts[][3], const float polynormal[3], float point[3])
int segment_intersects_cube (const float v0[3], const float v1[3])
int polygon_intersects_cube (int nverts, const float verts[][3], const float polynormal[3], int, int already_know_edges_are_outside_cube)
float * get_polygon_normal (float normal[3], int nverts, const float verts[][3])
int polygon_intersects_cube (int nverts, const real verts[][3], const real polynormal[3], int already_know_verts_are_outside_cube, int already_know_edges_are_outside_cube)
int segment_intersects_cube (const real v0[3], const real v1[3])
int polygon_contains_point_3d (int nverts, const real verts[][3], const real polynormal[3], real point[3])
real * get_polygon_normal (real normal[3], int nverts, const real verts[][3])

Function Documentation

static unsigned long sofa::helper::polygon_cube_intersection::bevel_2d ( const real  p[3],
unsigned long  mask 
) [inline, static]

Definition at line 111 of file fast_polygon_cube_intersection.cpp.

References TEST_AGAINST_PARALLEL_PLANES.

Referenced by trivial_vertex_tests().

static unsigned long sofa::helper::polygon_cube_intersection::bevel_3d ( const real  p[3],
unsigned long  mask 
) [inline, static]

Definition at line 133 of file fast_polygon_cube_intersection.cpp.

References TEST_AGAINST_PARALLEL_PLANES.

Referenced by trivial_vertex_tests().

static unsigned long sofa::helper::polygon_cube_intersection::face_plane ( const real  p[3],
unsigned long  mask 
) [inline, static]

Definition at line 92 of file fast_polygon_cube_intersection.cpp.

References TEST_AGAINST_PARALLEL_PLANES.

Referenced by trivial_vertex_tests().

int sofa::helper::polygon_cube_intersection::fast_polygon_intersects_cube ( int  nverts,
const real  verts[][3],
const real  polynormal[3],
int  already_know_verts_are_outside_cube,
int  already_know_edges_are_outside_cube 
)

real* sofa::helper::polygon_cube_intersection::get_polygon_normal ( real  normal[3],
int  nverts,
const real  verts[][3] 
)

float* sofa::helper::polygon_cube_intersection::get_polygon_normal ( float  normal[3],
int  nverts,
const float  verts[][3] 
)

Definition at line 298 of file polygon_cube_intersection.cpp.

References cross(), SET3, VMV3, VPV3, VXV3, and ZEROVEC3.

int sofa::helper::polygon_cube_intersection::polygon_contains_point_3d ( int  nverts,
const real  verts[][3],
const real  polynormal[3],
real  point[3] 
)

int sofa::helper::polygon_cube_intersection::polygon_contains_point_3d ( int  nverts,
const float  verts[][3],
const float  polynormal[3],
float  point[3] 
)

Definition at line 78 of file polygon_cube_intersection.cpp.

References ABS, FOR, MAXDIM3, and seg_contains_point.

Referenced by polygon_intersects_cube().

int sofa::helper::polygon_cube_intersection::polygon_intersects_cube ( int  nverts,
const real  verts[][3],
const real  polynormal[3],
int  already_know_verts_are_outside_cube,
int  already_know_edges_are_outside_cube 
)

int sofa::helper::polygon_cube_intersection::polygon_intersects_cube ( int  nverts,
const float  verts[][3],
const float  polynormal[3],
int  ,
int  already_know_edges_are_outside_cube 
)

int sofa::helper::polygon_cube_intersection::segment_intersects_cube ( const real  v0[3],
const real  v1[3] 
)

int sofa::helper::polygon_cube_intersection::segment_intersects_cube ( const float  v0[3],
const float  v1[3] 
)

Definition at line 134 of file polygon_cube_intersection.cpp.

References DOT3, FOR, SIGN_NONZERO, sofa::helper::SQR(), and VMV3.

Referenced by polygon_intersects_cube().

int sofa::helper::polygon_cube_intersection::trivial_vertex_tests ( int  nverts,
const real  verts[][3],
int  already_know_verts_are_outside_cube 
)

Definition at line 154 of file fast_polygon_cube_intersection.cpp.

References bevel_2d(), bevel_3d(), and face_plane().

Referenced by fast_polygon_intersects_cube().


Generated on Sun Nov 23 04:24:20 2008 for Sofa by  doxygen 1.5.7.1