Begin_Open_Item_Search

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...
 

Detailed Description

Function Documentation

◆ Begin_Open_Item_Search()

void Begin_Open_Item_Search ( void  )

Returns the keys to all currently open segments or geometric primitives.

DETAILS

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.

NOTES

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.

RESTRICTIONS

See also
Begin_Contents_Search, Begin_Segment_Search, Begin_Open_Segment_Search

◆ End_Open_Item_Search()

void End_Open_Item_Search ( void  )

Terminates the open item search sequence, and frees any involved memory.

DETAILS

No additional details. See Begin_Open_Item_Search()

◆ Find_Open_Item()

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.

Parameters
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.
Returns
flag - A number indicating whether or not open items have been found.

DETAILS

No additional details. See Begin_Open_Item_Search()

◆ Show_Open_Item_Count()

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.

Parameters
count- The total number of open items returned by Find_Open_Item(). Returned to user. Passed by reference always.

DETAILS

No additional details. See Begin_Open_Item_Search()