Functions | |
| int | Compute_Selection_By_Shell (const char *action, const char *start_seg, const int pcount, const HC_POINT *points, const int flist_length, const int *face_list) |
| double | Compute_Selection_Distance_By_Shell (const char *action, const char *start_segment, int pcount, const HC_POINT *points, int flist_length, const int *faces, const char *options) |
| int Compute_Selection_By_Shell | ( | const char * | action, | |
| const char * | start_seg, | |||
| const int | pcount, | |||
| const HC_POINT * | points, | |||
| const int | flist_length, | |||
| const int * | face_list | |||
| ) |
Forces a selection event between the supplied Shell and a specified portion of a segment tree.
| action | - One of "v", "^", "*", or "O". Action is compared against the Selectability attribute settings as testing proceeds. See Set_Selectability() for a detailed explanation of actions. | |
| start_seg | - A segment somewhere in the tree belonging to a display driver, at which point it would be good to start selection testing. If blank or null, then testing begins at display. | |
| pcount | - Number of points in the shell that may enclose the points defined in 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. | |
| flist_length | - Size of the array of integers that defines 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() ). |
This function is identical to Compute_Selection_By_Key, except that is does not require a shell to already exist.
2. Only facet-based geometries such as Shells, Meshes, NURBS Surfaces, Polygons, Polycylinders, etc. are selectable.
| double Compute_Selection_Distance_By_Shell | ( | const char * | action, | |
| const char * | start_segment, | |||
| int | pcount, | |||
| const HC_POINT * | points, | |||
| int | flist_length, | |||
| const int * | faces, | |||
| const char * | options | |||
| ) |
Computes the closest distance between the specified shell and another geometric primitive within a HOOPS segment tree.
| action | - One of "v", "^", "*", or "O". Action is compared against the Selectability attribute settings as testing proceeds. See Set_Selectability() for a detailed explanation of actions. | |
| start_seg | - A segment somewhere in the segment hierachy at which point it would be good to start selection testing. If blank or null, then testing begins at root of the driver segment. | |
| pcount | - Number of points contained in the points list. | |
| points | - Set of points that comprise the polyline or polygon used to compute the selection. | |
| flist_length | - The length of the face_list. | |
| face_list | - As described in the documentation of Insert_Shell() , An encoded description of how triangles should be combined to form faces, and the assignment of face identifiers. | |
| options | - A string containing a set of options to be applied to this distance calculation. |
The options string consists of a comma separated list of options. Legal values for options include:
If vector is supplied, then the return value is the exact distance that the shell would need to be moved along this vector before it hits a piece of geometry in the specified segment tree.
Objects that are further than this distance from every point in the selection shell are ignored. This option allows users to improve the performance of the computation by excluding certain objects from the calculation. The default setting is "no maximum distance".
Unlike the other selection routines, Compute_Selection_Distance_By_Shell returns at most one object. To query this object, use the various Show_Selection routines.