Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HUtilitySparseShell Class Reference

List of all members.

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

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

Parameters:
keythe 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.

Parameters:
keythe 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

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
bool HUtilitySparseShell::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
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.

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: