Brief Index      Full Index      Events Index      I.M. Reference

Compute_Points_On_Shell

Functions

int Compute_Points_On_Shell (int test_point_count, const HC_POINT *test_points, double tolerance, int point_count, const HC_POINT *points, int face_list_length, const int *face_list, int *results)
 

Detailed Description

Function Documentation

int Compute_Points_On_Shell ( int  test_point_count,
const HC_POINT test_points,
double  tolerance,
int  point_count,
const HC_POINT points,
int  face_list_length,
const int *  face_list,
int *  results 
)

Tests, within a certain tolerance, whether a given set of points reside on the surface of a shell.

Parameters
test_point_count- Number of points in the point cloud.
test_points- Vector of x-y-z triplets defining the points to be tested.
tolerance- Distance from shell, in object space, inside which a point will be considered to be on the shell.
point_count- Number of points in the shell that may enclose the points defined in test_points
points- Vector of x-y-z triplets for the coordinates of the vertices to be used to build the shell. (A simple N x 3 array may also be used). Passed by reference always.
face_list_length- Size of the array of integers which define the faces in face_list.
face_list- Encoded description of how to connect the points to build the faces of the shell (see Insert_Shell() ).
results- Array of size test_point_count that specifies whether the point contained at that index within test_points is within the given tolerance of the face of the shell. Passed by reference. Returned to user.
Returns
count - The number of points, within the given tolerance, that were on the surface of the shell.

DETAILS

Compute_Points_On_Shell can be used to determine which points within a point cloud are within a given tolerance of the surface of a defined Shell. The array returned to a user is a series of 1's and 0's. If the value is 1 at a given index then the location specified at the corresponding index in the point cloud is within the specified tolerance of the surface of the Shell.

NOTES

Models that use non-planar faces may also cause this function to generate incorrect results. Also, though the tolerance is provided as a double the tolerance is only calculated to within floating point accuracy.

See Also
Compute_Point_On_Shell, Compute_Point_Inside_Shell, Compute_Points_Inside_Shell

Brief Index      Full Index      Events Index      I.M. Reference