CheckTetrahedraOverlap.cpp File Reference

Macros

#define DOT(a, b)   (a[0]*b[0]+a[1]*b[1]+a[2]*b[2])
 
#define VECT(res, a, b)
 
#define SUB(res, a, b)
 
#define SUB_DOT(a, b, c)
 

Functions

bool FaceA_1 (scalar *Coord, int &maskEdges, checkVars vars)
 
bool FaceA_2 (scalar *Coord, int &maskEdges, checkVars vars, arr3 &V2_0, arr3 &V2_1, arr3 &V2_2, arr3 &V2_3, arr3 &V1_1)
 
bool FaceB_1 (checkVars vars)
 
bool FaceB_2 (checkVars vars, arr3 &V1_0, arr3 &V1_1, arr3 &V1_2, arr3 &V1_3, arr3 &V2_1)
 
bool EdgeA (const int &f0, const int &f1, checkVars vars)
 
bool tet_a_tetII (arr3 &V1_0, arr3 &V1_1, arr3 &V1_2, arr3 &V1_3, arr3 &V2_0, arr3 &V2_1, arr3 &V2_2, arr3 &V2_3)
 

Macro Definition Documentation

◆ DOT

#define DOT (   a,
 
)    (a[0]*b[0]+a[1]*b[1]+a[2]*b[2])

Referenced by FaceA_1(), and FaceB_1().

◆ SUB

#define SUB (   res,
  a,
 
)
Value:
{ \
res[0] = a[0]-b[0]; \
res[1] = a[1]-b[1]; \
res[2] = a[2]-b[2]; \
}

Referenced by tet_a_tetII().

◆ SUB_DOT

#define SUB_DOT (   a,
  b,
 
)
Value:
( \
(a[0]-b[0])*c[0]+ \
(a[1]-b[1])*c[1]+ \
(a[2]-b[2])*c[2] \
)

Referenced by FaceA_2(), and FaceB_2().

◆ VECT

#define VECT (   res,
  a,
 
)
Value:
{ \
res[0] = a[1]*b[2]-b[1]*a[2]; \
res[1] = -a[0]*b[2]+b[0]*a[2]; \
res[2] = a[0]*b[1]-b[0]*a[1]; \
}

Referenced by tet_a_tetII().

Function Documentation

◆ EdgeA()

bool EdgeA ( const int &  f0,
const int &  f1,
checkVars  vars 
)
inline

Referenced by tet_a_tetII().

◆ FaceA_1()

bool FaceA_1 ( scalar Coord,
int &  maskEdges,
checkVars  vars 
)
inline

Referenced by tet_a_tetII().

◆ FaceA_2()

bool FaceA_2 ( scalar Coord,
int &  maskEdges,
checkVars  vars,
arr3 V2_0,
arr3 V2_1,
arr3 V2_2,
arr3 V2_3,
arr3 V1_1 
)
inline

Referenced by tet_a_tetII().

◆ FaceB_1()

bool FaceB_1 ( checkVars  vars)
inline

Referenced by tet_a_tetII().

◆ FaceB_2()

bool FaceB_2 ( checkVars  vars,
arr3 V1_0,
arr3 V1_1,
arr3 V1_2,
arr3 V1_3,
arr3 V2_1 
)
inline

Referenced by tet_a_tetII().

◆ tet_a_tetII()

bool tet_a_tetII ( arr3 V1_0,
arr3 V1_1,
arr3 V1_2,
arr3 V1_3,
arr3 V2_0,
arr3 V2_1,
arr3 V2_2,
arr3 V2_3 
)

Fast Tetrahedron-Tetrahedron Overlap Algorithm, by Fabio Ganovelli, Frederico Ponchio, Claudio Rocchini. ACM 2002.

Referenced by Face::checkTetraIntersection(), and Face::checkTetraIntersectionAndGetVolume().