DART
6.7.3
|
#include <math.h>
Go to the source code of this file.
Macros | |
#define | FABS(x) ((float)fabs(x)) /* implement as is fastest on your machine */ |
#define | USE_EPSILON_TEST TRUE |
#define | EPSILON 0.000001 |
#define | NO_CONTACT 0 |
#define | COPLANAR_CONTACT -1 |
#define | INTERIAL_CONTACT 1 |
#define | CROSS(dest, v1, v2) |
#define | DOT(v1, v2) (v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]) |
#define | SUB(dest, v1, v2) dest[0]=v1[0]-v2[0]; dest[1]=v1[1]-v2[1]; dest[2]=v1[2]-v2[2]; |
#define | ADD(dest, v1, v2) dest[0]=v1[0]+v2[0]; dest[1]=v1[1]+v2[1]; dest[2]=v1[2]+v2[2]; |
#define | MULT(dest, v, factor) dest[0]=factor*v[0]; dest[1]=factor*v[1]; dest[2]=factor*v[2]; |
#define | DIV(dest, v1, v2) dest[0]=v1[0]/v2[0]; dest[1]=v1[1]/2[1]; dest[2]=v1[2]/v2[2]; |
#define | SET(dest, src) dest[0]=src[0]; dest[1]=src[1]; dest[2]=src[2]; |
#define | SORT(a, b) |
#define | SWAP(a, b) |
#define | ISECT(VV0, VV1, VV2, D0, D1, D2, isect0, isect1) |
#define | COMPUTE_INTERVALS(VV0, VV1, VV2, D0, D1, D2, D0D1, D0D2, isect0, isect1) |
Functions | |
void | edge_tri_intersect (float V0[3], float V1[3], float DV0, float DV1, float V[3]) |
int | tri_tri_intersect (float V0[3], float V1[3], float V2[3], float U0[3], float U1[3], float U2[3], float res1[3], float res2[3]) |
#define ADD | ( | dest, | |
v1, | |||
v2 | |||
) | dest[0]=v1[0]+v2[0]; dest[1]=v1[1]+v2[1]; dest[2]=v1[2]+v2[2]; |
#define COMPUTE_INTERVALS | ( | VV0, | |
VV1, | |||
VV2, | |||
D0, | |||
D1, | |||
D2, | |||
D0D1, | |||
D0D2, | |||
isect0, | |||
isect1 | |||
) |
#define COPLANAR_CONTACT -1 |
#define CROSS | ( | dest, | |
v1, | |||
v2 | |||
) |
#define DIV | ( | dest, | |
v1, | |||
v2 | |||
) | dest[0]=v1[0]/v2[0]; dest[1]=v1[1]/2[1]; dest[2]=v1[2]/v2[2]; |
#define DOT | ( | v1, | |
v2 | |||
) | (v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]) |
#define EPSILON 0.000001 |
#define FABS | ( | x | ) | ((float)fabs(x)) /* implement as is fastest on your machine */ |
#define INTERIAL_CONTACT 1 |
#define ISECT | ( | VV0, | |
VV1, | |||
VV2, | |||
D0, | |||
D1, | |||
D2, | |||
isect0, | |||
isect1 | |||
) |
#define MULT | ( | dest, | |
v, | |||
factor | |||
) | dest[0]=factor*v[0]; dest[1]=factor*v[1]; dest[2]=factor*v[2]; |
#define NO_CONTACT 0 |
#define SET | ( | dest, | |
src | |||
) | dest[0]=src[0]; dest[1]=src[1]; dest[2]=src[2]; |
#define SORT | ( | a, | |
b | |||
) |
#define SUB | ( | dest, | |
v1, | |||
v2 | |||
) | dest[0]=v1[0]-v2[0]; dest[1]=v1[1]-v2[1]; dest[2]=v1[2]-v2[2]; |
#define SWAP | ( | a, | |
b | |||
) |
#define USE_EPSILON_TEST TRUE |
|
inline |
|
inline |