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
 
 HIndexManager (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
 
PairToIndexm_PairToIndex
 
int m_PairToIndexAllocated
 
int m_PairToIndexUsed
 
SharedVertexm_SharedVertices
 
int m_SharedVerticesAllocated
 
int m_SharedVerticesUsed
 
ShellInfom_ShellLookup
 
int m_ShellLookupAllocated
 
int m_ShellLookupUsed
 

Member Function Documentation

◆ DeleteByKey()

void HIndexManager::DeleteByKey ( HC_KEY  key)

Calls through to HOOPS to remove the item. If the item was inserted by HIndexManager::KInsertShell, this function additionally removes the translation information

Parameters
keythe key to the item to be deleted, as returned from this->KInsertShell.

◆ EditShellFaces()

void HIndexManager::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.

Parameters
keythe key to the item to be deleted, as returned from this->KInsertShell.

◆ GetPair()

bool HIndexManager::GetPair ( int  bigIndex,
int  n,
HC_KEY *  key,
int *  littleIndex 
) const

retrieves the nth key/littleIndex pair that inherits from bigIndex

Parameters
bigIndexthe index into the master points array
nwhich of the shared vertices to return (e.g. the i in a for(i=0;;i++) loop)
keyreturned to user
littleIndexreturned to user
Returns
true if successful

◆ GetPairs()

bool HIndexManager::GetPairs ( int  bigIndex,
HC_KEY *  keys,
int *  littleIndices 
) const

retrieves all key/littleIndex pairs that inherit from bigIndex

Parameters
bigIndexthe index into the master points array
keysreturned to user. Caller must be allocate to length GetPairCount()
littleIndicesreturned to user. Caller must be allocate to length GetPairCount()
Returns
true if successful

◆ KInsertShell()

HC_KEY HIndexManager::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.

Parameters
point_countthe number of points in the master points list.
pointsthe master points list.
face_list_lengththe length of the face_list array.
face_listthe vertex indices that connect to form faces (see docs for HC_Insert_Shell.
Returns
the key to the HOOPS shell that was inserted.

The documentation for this class was generated from the following file: