17 #ifndef _HIO_INDEX_MANAGER_
18 #define _HIO_INDEX_MANAGER_
27 #define VI_BITS (16) //number of bits per section of vertex indices
28 #define VI_MASK ((1<<VI_BITS)-1)
29 #define MAX_SI_INDEX ((0x1 << (31-VI_BITS))-1)
34 MVO_POINTER_SIZED_INT offset;
44 #define UNUSED_INDEX_TO_PAIR 0xffffffff
60 unsigned int *IndexToPair;
83 void ExpandSharedVertices();
84 void ExpandShellLookup(
int count);
85 void ExpandPairToIndices();
94 unsigned int *m_IndexToPairs;
95 int m_IndexToPairsAllocated;
96 int m_IndexToPairsUsed;
99 int m_SharedVerticesAllocated;
100 int m_SharedVerticesUsed;
103 int m_ShellLookupAllocated;
104 int m_ShellLookupUsed;
107 int m_PairToIndexAllocated;
108 int m_PairToIndexUsed;
110 void AddOneIndexToPair (
int bigIndex,
int littleIndex);
111 void RemoveOneTranslation (
HC_KEY key,
int littleIndex);
112 void RemoveTranslations (
HC_KEY key,
int face_list_length,
const int *face_list);
114 static void AddOneTranslation (
void *arg1,
void *arg2,
void *arg3);
128 HC_KEY KInsertShell (
int point_count,
const HPoint *points,
int face_list_length,
const int *face_list);
134 void DeleteByKey (
HC_KEY key);
136 void EditShellPoints (
HC_KEY key,
int littleIndexOffset,
int ndelete,
int insert,
const HPoint *points);
140 void EditShellFaces (HC_KEY key,
int ioffset,
int ndelete,
int insert_list_length,
const int *insert_list) {
145 int GetPairCount (
int bigIndex)
const;
152 bool GetPair (
int bigIndex,
int n, HC_KEY *key,
int *littleIndex)
const;
158 bool GetPairs (
int bigIndex, HC_KEY *keys,
int *littleIndices)
const;
160 bool GetIndex (HC_KEY key,
int littleIndex,
int *bigIndex)
const;
Definition: HIndexManager.h:80
Definition: HIndexManager.h:58
void EditShellFaces(HC_KEY key, int ioffset, int ndelete, int insert_list_length, const int *insert_list)
Definition: HIndexManager.h:140
void HC_Edit_Shell_Faces(HC_KEY key, int offset, int ndelete, int ilist_length, const int *insert_list)
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
Definition: HIndexManager.h:38
Definition: HIndexManager.h:32