Functions | |
void | Begin_Open_Item_Search (void) |
Returns the keys to all currently open segments or geometric primitives. More... | |
void | End_Open_Item_Search (void) |
Terminates the open item search sequence, and frees any involved memory. More... | |
HC_BOOLEAN | Find_Open_Item (HC_KEY *key, char *type, int *offset1, int *offset2) |
Retrieves the open items in a segment tree, one at a time. The function returns false when all items have been returned. More... | |
void | Show_Open_Item_Count (int *count) |
Finds out how many items will be returned. This is useful for determining the size of a data structure needed to store incoming items. More... | |
void Begin_Open_Item_Search | ( | void | ) |
Returns the keys to all currently open segments or geometric primitives.
These routines are used to find all the primitives (segments and geometry) that have been opened but not closed. A call to Begin_Open_Item_Search() initiates the process. Each call to Find_Open_Item() returns the key of a single open item. Once Begin_Open_Item_Search() is called, Show_Open_Item_Count() can be used to return the total number of open items.
If the open item is an edge, offset1 and offset2 will contain the vertex indices at either end of the edge. If the open item is a vertex, face, LOD, region, or trim, offset1 will contain the appropriate index.
It is legal to use these routines with no segments open: the first call to Find_Open_Item() will just return false. Once Begin_Open_Item_Search() is called, all currently open items will be returned by Find_Open_Item() even if they are closed in the meantime. However, if any open items are closed and then deleted, they will not be returned. Any open segments that are renamed will be returned with the new name.
Show_Open_Item_Count() is only valid between Begin_Open_Item_Search() and End_Open_Item_Search(). It will always return the total number of open items, not the remaining number of open items.
void End_Open_Item_Search | ( | void | ) |
Terminates the open item search sequence, and frees any involved memory.
No additional details. See Begin_Open_Item_Search()
HC_BOOLEAN Find_Open_Item | ( | HC_KEY * | key, |
char * | type, | ||
int * | offset1, | ||
int * | offset2 | ||
) |
Retrieves the open items in a segment tree, one at a time. The function returns false when all items have been returned.
key | - Unique numeric identifier for an open item. Returned to user. Passed by reference always. |
type | - A string that indicates the type of object represented by key. Returned to user. Passed by reference always. |
offset1 | - If the open item is sub-geometry (an edge, vertex, face, LOD, region, trim, etc.) this will contain information about that object. Returned to user. Passed by reference always. |
offset2 | - If the open item is an edge, this will contain the index of the second vertex of the edge. Returned to user. Passed by reference always. |
No additional details. See Begin_Open_Item_Search()
void Show_Open_Item_Count | ( | int * | count | ) |
Finds out how many items will be returned. This is useful for determining the size of a data structure needed to store incoming items.
count | - The total number of open items returned by Find_Open_Item(). Returned to user. Passed by reference always. |
No additional details. See Begin_Open_Item_Search()