|
ug4
|
Namespaces | |
| namespace | ug |
| the ug namespace | |
Macros | |
| #define | COMPUTE_INTERVAL_POINTS(VV0, VV1, VV2, D0, D1, D2, D0D1, D0D2, isect0, isect1) |
| #define | COMPUTE_INTERVALS(VV0, VV1, VV2, D0, D1, D2, D0D1, D0D2, isect0, isect1) |
| #define | CROSS(dest, v1, v2) |
| #define | DOT(v1, v2) (v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]) |
| #define | EDGE_AGAINST_TRI_EDGES(V0, V1, U0, U1, U2) |
| #define | EDGE_EDGE_TEST(V0, U0, U1) |
| #define | EPSILON 1.e-12 |
| #define | ISECT(VV0, VV1, VV2, D0, D1, D2, isect0, isect1) |
| #define | ISECT3(VV0, VV1, VV2, D0, D1, D2, isect0, isect1) |
| #define | POINT_IN_TRI(V0, U0, U1, U2) |
| #define | SORT(a, b) |
| #define | SUB(dest, v1, v2) |
| #define | USE_EPSILON_TEST TRUE |
Functions | |
| int | coplanar_tri_tri (number N[3], number V0[3], number V1[3], number V2[3], number U0[3], number U1[3], number U2[3]) |
| int | tri_tri_intersect (number V0[3], number V1[3], number V2[3], number U0[3], number U1[3], number U2[3], number *ip1Out, number *ip2Out, const number snapThreshold) |
| UG_API bool | ug::TriangleTriangleIntersection (const MathVector< 3 > &p0, const MathVector< 3 > &p1, const MathVector< 3 > &p2, const MathVector< 3 > &q0, const MathVector< 3 > &q1, const MathVector< 3 > &q2, MathVector< 3 > *ip1Out=NULL, MathVector< 3 > *ip2Out=NULL, number snapThreshold=SMALL) |
| checks whether two triangles intersect and returns the intervals, if they do. | |
| #define COMPUTE_INTERVAL_POINTS | ( | VV0, | |
| VV1, | |||
| VV2, | |||
| D0, | |||
| D1, | |||
| D2, | |||
| D0D1, | |||
| D0D2, | |||
| isect0, | |||
| isect1 | |||
| ) |
| #define COMPUTE_INTERVALS | ( | VV0, | |
| VV1, | |||
| VV2, | |||
| D0, | |||
| D1, | |||
| D2, | |||
| D0D1, | |||
| D0D2, | |||
| isect0, | |||
| isect1 | |||
| ) |
| #define CROSS | ( | dest, | |
| v1, | |||
| v2 | |||
| ) |
| #define DOT | ( | v1, | |
| v2 | |||
| ) | (v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]) |
| #define EDGE_AGAINST_TRI_EDGES | ( | V0, | |
| V1, | |||
| U0, | |||
| U1, | |||
| U2 | |||
| ) |
| #define EDGE_EDGE_TEST | ( | V0, | |
| U0, | |||
| U1 | |||
| ) |
| #define EPSILON 1.e-12 |
| #define ISECT | ( | VV0, | |
| VV1, | |||
| VV2, | |||
| D0, | |||
| D1, | |||
| D2, | |||
| isect0, | |||
| isect1 | |||
| ) |
| #define ISECT3 | ( | VV0, | |
| VV1, | |||
| VV2, | |||
| D0, | |||
| D1, | |||
| D2, | |||
| isect0, | |||
| isect1 | |||
| ) |
| #define POINT_IN_TRI | ( | V0, | |
| U0, | |||
| U1, | |||
| U2 | |||
| ) |
| #define SORT | ( | a, | |
| b | |||
| ) |
| #define SUB | ( | dest, | |
| v1, | |||
| v2 | |||
| ) |
| #define USE_EPSILON_TEST TRUE |
| int coplanar_tri_tri | ( | number | N[3], |
| number | V0[3], | ||
| number | V1[3], | ||
| number | V2[3], | ||
| number | U0[3], | ||
| number | U1[3], | ||
| number | U2[3] | ||
| ) |
References EDGE_AGAINST_TRI_EDGES, and POINT_IN_TRI.
| int tri_tri_intersect | ( | number | V0[3], |
| number | V1[3], | ||
| number | V2[3], | ||
| number | U0[3], | ||
| number | U1[3], | ||
| number | U2[3], | ||
| number * | ip1Out, | ||
| number * | ip2Out, | ||
| const number | snapThreshold | ||
| ) |
References COMPUTE_INTERVAL_POINTS, COMPUTE_INTERVALS, CROSS, DOT, and SUB.
Referenced by ug::TriangleTriangleIntersection().