BRL-CAD
Triangle/Triangle Intersection Tests
Collaboration diagram for Triangle/Triangle Intersection Tests:

Functions

int bn_tri_tri_isect_coplanar (point_t V0, point_t V1, point_t V2, point_t U0, point_t U1, point_t U2, int area_flag)
 Tomas Möller's triangle/triangle intersection routines from the article. More...
 
int bn_tri_tri_isect (point_t V0, point_t V1, point_t V2, point_t U0, point_t U1, point_t U2)
 
int bn_tri_tri_isect_with_line (point_t V0, point_t V1, point_t V2, point_t U0, point_t U1, point_t U2, int *coplanar, point_t *isectpt1, point_t *isectp2)
 

Detailed Description

Function Documentation

int bn_tri_tri_isect_coplanar ( point_t  V0,
point_t  V1,
point_t  V2,
point_t  U0,
point_t  U1,
point_t  U2,
int  area_flag 
)

Tomas Möller's triangle/triangle intersection routines from the article.

"A Fast Triangle-Triangle Intersection Test", Journal of Graphics Tools, 2(2), 1997

Definition at line 182 of file tri_tri.c.

References A, bn_coplanar(), bn_mk_plane_3pts(), BN_TOL_MAGIC, EDGE_AGAINST_TRI_EDGES, EDGE_AGAINST_TRI_EDGES_AREA, EPSILON, N, and POINT_IN_TRI.

Referenced by main().

Here is the call graph for this function:

int bn_tri_tri_isect ( point_t  V0,
point_t  V1,
point_t  V2,
point_t  U0,
point_t  U1,
point_t  U2 
)

Definition at line 319 of file tri_tri.c.

References EPSILON, NEWCOMPUTE_INTERVALS, and SORT.

Referenced by main().

int bn_tri_tri_isect_with_line ( point_t  V0,
point_t  V1,
point_t  V2,
point_t  U0,
point_t  U1,
point_t  U2,
int *  coplanar,
point_t *  isectpt1,
point_t *  isectp2 
)

Definition at line 479 of file tri_tri.c.

References compute_intervals_isectline(), coplanar_tri_tri(), EPSILON, and SORT2.

Here is the call graph for this function: