|
DART 6.6.2
|
#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 |