Functions | |
void | Compute_Shell_Enclosure (int point_count1, const HC_POINT *points1, int face_list_length1, const int *face_list1, int point_count2, const HC_POINT *points2, int face_list_length2, const int *face_list2, char *result) |
void Compute_Shell_Enclosure | ( | int | point_count1, | |
const HC_POINT * | points1, | |||
int | face_list_length1, | |||
const int * | face_list1, | |||
int | point_count2, | |||
const HC_POINT * | points2, | |||
int | face_list_length2, | |||
const int * | face_list2, | |||
char * | result | |||
) |
Classifies the relationship between the first shell and the second: "in", "out", and "clash".
point_count1 | - number of points in the test shell | |
points1 | - Vector of x-y-z triplets for the coordinates of the vertices to be used to build the shells. (A simple N x 3 array may also be used). Passed by reference always. | |
face_list_length1 | - total number of integers in face_list1 | |
face_list1 | - Encoded description of how to connect the points in points1 | |
point_count2 | - number of points in the enclosing shell | |
points2 | - Vector of x-y-z triplets for the coordinates of the vertices to be used to build the shells. (A simple N x 3 array may also be used). Passed by reference always. | |
face_list_length2 | - total number of integers in face_list2 | |
face_list2 | - Encoded description of how to connect the points in points2 | |
result | - a buffer with which to receive the results |
This function could be replicated with a call to Compute_Intersect_Polyline() to discover the "clash" case, followed (if the polyline length is 0) by a call to Test_Point_Inside_Shell() to determine "in" or "out".
If the result is "out", shell 1 may or may not enclose shell 2. In other words, this function looks for enclosure by shell 2, but not of shell 2.