Public Member Functions | |
void | DeleteByKey (HC_KEY key) |
void | EditShellFaces (HC_KEY key, int ioffset, int ndelete, int insert_list_length, const int *insert_list) |
void | EditShellPoints (HC_KEY key, int littleIndexOffset, int ndelete, int insert, const HPoint *points) |
bool | GetIndex (HC_KEY key, int littleIndex, int *bigIndex) const |
returns the bigIndex from which the key/littleIndex pair came | |
bool | GetPair (int bigIndex, int n, HC_KEY *key, int *littleIndex) const |
int | GetPairCount (int bigIndex) const |
returns the number of times vertex bigIndex is shared into littleIndex values | |
bool | GetPairs (int bigIndex, HC_KEY *keys, int *littleIndices) const |
HUtilitySparseShell (bool needPairToIndex, bool needIndexToPair) | |
HC_KEY | KInsertShell (int point_count, const HPoint *points, int face_list_length, const int *face_list) |
Protected Member Functions | |
void | AddOneIndexToPair (int bigIndex, int littleIndex) |
void | RemoveOneTranslation (HC_KEY key, int littleIndex) |
void | RemoveTranslations (HC_KEY key, int face_list_length, const int *face_list) |
Static Protected Member Functions | |
static void | AddOneTranslation (void *arg1, void *arg2, void *arg3) |
Protected Attributes | |
bool | m_i2p |
unsigned int * | m_IndexToPairs |
int | m_IndexToPairsAllocated |
int | m_IndexToPairsUsed |
bool | m_p2i |
PairToIndex * | m_PairToIndex |
int | m_PairToIndexAllocated |
int | m_PairToIndexUsed |
SharedVertex * | m_SharedVertices |
int | m_SharedVerticesAllocated |
int | m_SharedVerticesUsed |
ShellInfo * | m_ShellLookup |
int | m_ShellLookupAllocated |
int | m_ShellLookupUsed |
void HUtilitySparseShell::DeleteByKey | ( | HC_KEY | key | ) |
Calls through to HOOPS to remove the item. If the item was inserted by HUtilitySparseShell::KInsertShell, this function additionally removes the translation information
key | the key to the item to be deleted, as returned from this->KInsertShell. |
void HUtilitySparseShell::EditShellFaces | ( | HC_KEY | key, |
int | ioffset, | ||
int | ndelete, | ||
int | insert_list_length, | ||
const int * | insert_list | ||
) | [inline] |
just a simple call through to HC_Edit_Shell_Faces. Nothing needs to be done here, but it provides consistency in the calling conventions.
key | the key to the item to be deleted, as returned from this->KInsertShell. |
References HC_Edit_Shell_Faces().
bool HUtilitySparseShell::GetPair | ( | int | bigIndex, |
int | n, | ||
HC_KEY * | key, | ||
int * | littleIndex | ||
) | const |
retrieves the nth key/littleIndex pair that inherits from bigIndex
bigIndex | the index into the master points array |
n | which of the shared vertices to return (e.g. the i in a for(i=0;;i++) loop) |
key | returned to user |
littleIndex | returned to user |
bool HUtilitySparseShell::GetPairs | ( | int | bigIndex, |
HC_KEY * | keys, | ||
int * | littleIndices | ||
) | const |
retrieves all key/littleIndex pairs that inherit from bigIndex
bigIndex | the index into the master points array |
keys | returned to user. Caller must be allocate to length GetPairCount() |
littleIndices | returned to user. Caller must be allocate to length GetPairCount() |
HC_KEY HUtilitySparseShell::KInsertShell | ( | int | point_count, |
const HPoint * | points, | ||
int | face_list_length, | ||
const int * | face_list | ||
) |
Compacts a sparsely-referenced points array into its minimal subset, records the translation information from the original specification. Requires that a HOOPS segment be open.
point_count | the number of points in the master points list. |
points | the master points list. |
face_list_length | the length of the face_list array. |
face_list | the vertex indices that connect to form faces (see docs for HC_Insert_Shell. |