62#define CCG_TASK_LIMIT 16
124 int allowEdgeCreation,
125 float defaultCreaseValue,
126 void *defaultUserData);
128 int *allowEdgeCreation_r,
129 float *defaultCreaseValue_r,
130 void *defaultUserData_r);
134 int *vertUserOffset_r,
135 int *edgeUserOffset_r,
136 int *faceUserOffset_r);
138 CCGSubSurf *ss,
int useAgeCounts,
int vertUserOffset,
int edgeUserOffset,
int faceUserOffset);
void ccgSubSurf_initFaceIterator(CCGSubSurf *ss, CCGFaceIterator *fiter)
struct _EHashIterator EHashIterator
int ccgSubSurf_getNumFinalEdges(const CCGSubSurf *ss)
CCGFace * ccgSubSurf_getFace(CCGSubSurf *ss, CCGFaceHDL f)
int ccgSubSurf_getNumFaces(const CCGSubSurf *ss)
void ccgVertIterator_next(CCGVertIterator *vi)
int ccgSubSurf_getVertNumFaces(CCGVert *v)
int ccgSubSurf_getNumFinalFaces(const CCGSubSurf *ss)
int ccgSubSurf_getEdgeAge(CCGSubSurf *ss, CCGEdge *e)
int ccgFaceIterator_isStopped(CCGFaceIterator *fi)
CCGSubSurf * ccgSubSurf_new(CCGMeshIFC *ifc, int subdivLevels, CCGAllocatorIFC *allocatorIFC, CCGAllocatorHDL allocator)
int ccgEdgeIterator_isStopped(CCGEdgeIterator *ei)
CCGError ccgSubSurf_updateFromFaces(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
CCGError ccgSubSurf_updateNormals(CCGSubSurf *ss, CCGFace **effectedF, int numEffectedF)
CCGError ccgSubSurf_setAllowEdgeCreation(CCGSubSurf *ss, int allowEdgeCreation, float defaultCreaseValue, void *defaultUserData)
CCGError ccgSubSurf_updateToFaces(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
void ccgSubSurf_initEdgeIterator(CCGSubSurf *ss, CCGEdgeIterator *eiter)
void ccgSubSurf_setNumLayers(CCGSubSurf *ss, int numLayers)
void * ccgSubSurf_getEdgeUserData(CCGSubSurf *ss, CCGEdge *e)
int ccgSubSurf_getNumVerts(const CCGSubSurf *ss)
CCGError ccgSubSurf_updateLevels(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
void * ccgSubSurf_getFaceUserData(CCGSubSurf *ss, CCGFace *f)
void * ccgSubSurf_getFaceGridEdgeDataArray(CCGSubSurf *ss, CCGFace *f, int gridIndex)
void * ccgSubSurf_getVertData(CCGSubSurf *ss, CCGVert *v)
CCGError ccgSubSurf_syncFace(CCGSubSurf *ss, CCGFaceHDL fHDL, int numVerts, CCGVertHDL *vHDLs, CCGFace **f_r)
struct CCGMeshIFC CCGMeshIFC
void * ccgSubSurf_getEdgeLevelData(CCGSubSurf *ss, CCGEdge *e, int x, int level)
int ccgSubSurf_getSubdivisionLevels(const CCGSubSurf *ss)
CCGVert * ccgSubSurf_getEdgeVert0(CCGEdge *e)
CCGEdge * ccgSubSurf_getVertEdge(CCGVert *v, int index)
CCGError ccgSubSurf_processSync(CCGSubSurf *ss)
int ccgSubSurf_getVertNumEdges(CCGVert *v)
void * ccgSubSurf_getEdgeData(CCGSubSurf *ss, CCGEdge *e, int x)
void * ccgSubSurf_getVertUserData(CCGSubSurf *ss, CCGVert *v)
CCGError ccgSubSurf_setCalcVertexNormals(CCGSubSurf *ss, int useVertNormals, int normalDataOffset)
int ccgSubSurf_getFaceAge(CCGSubSurf *ss, CCGFace *f)
CCGError ccgSubSurf_stitchFaces(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
CCGError ccgSubSurf_syncVert(CCGSubSurf *ss, CCGVertHDL vHDL, const void *vertData, int seam, CCGVert **v_r)
void * ccgSubSurf_getVertLevelData(CCGSubSurf *ss, CCGVert *v, int level)
@ eCCGError_InvalidSyncState
CCGVert * ccgSubSurf_getVert(CCGSubSurf *ss, CCGVertHDL v)
int ccgSubSurf_getSimpleSubdiv(const CCGSubSurf *ss)
void * ccgSubSurf_getFaceGridDataArray(CCGSubSurf *ss, CCGFace *f, int gridIndex)
int ccgSubSurf_getGridSize(const CCGSubSurf *ss)
CCGError ccgSubSurf_syncVertDel(CCGSubSurf *ss, CCGVertHDL vHDL)
CCGError ccgSubSurf_syncEdgeDel(CCGSubSurf *ss, CCGEdgeHDL eHDL)
float ccgSubSurf_getEdgeCrease(CCGEdge *e)
CCGFace * ccgSubSurf_getVertFace(CCGVert *v, int index)
CCGError ccgSubSurf_initPartialSync(CCGSubSurf *ss)
CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle(CCGEdge *e)
CCGVert * ccgSubSurf_getEdgeVert1(CCGEdge *e)
void ccgEdgeIterator_next(CCGEdgeIterator *ei)
void ccgSubSurf_initVertIterator(CCGSubSurf *ss, CCGVertIterator *viter)
void ccgSubSurf_getUseAgeCounts(CCGSubSurf *ss, int *useAgeCounts_r, int *vertUserOffset_r, int *edgeUserOffset_r, int *faceUserOffset_r)
CCGFaceHDL ccgSubSurf_getFaceFaceHandle(CCGFace *f)
void ccgSubSurf_setAllocMask(CCGSubSurf *ss, int allocMask, int maskOffset)
void ccgSubSurf_free(CCGSubSurf *ss)
CCGError ccgSubSurf_initFullSync(CCGSubSurf *ss)
CCGError ccgSubSurf_setUseAgeCounts(CCGSubSurf *ss, int useAgeCounts, int vertUserOffset, int edgeUserOffset, int faceUserOffset)
CCGVert * ccgVertIterator_getCurrent(CCGVertIterator *vi)
CCGError ccgSubSurf_syncFaceDel(CCGSubSurf *ss, CCGFaceHDL fHDL)
CCGEdge * ccgSubSurf_getFaceEdge(CCGFace *f, int index)
void * ccgSubSurf_getEdgeDataArray(CCGSubSurf *ss, CCGEdge *e)
int ccgSubSurf_getNumEdges(const CCGSubSurf *ss)
int ccgSubSurf_getNumFinalVerts(const CCGSubSurf *ss)
int ccgSubSurf_getEdgeLevelSize(const CCGSubSurf *ss, int level)
void * ccgSubSurf_getFaceGridData(CCGSubSurf *ss, CCGFace *f, int gridIndex, int x, int y)
void ccgFaceIterator_next(CCGFaceIterator *fi)
int ccgVertIterator_isStopped(CCGVertIterator *vi)
CCGEdge * ccgEdgeIterator_getCurrent(CCGEdgeIterator *ei)
CCGVert * ccgSubSurf_getFaceVert(CCGFace *f, int index)
int ccgSubSurf_getEdgeNumFaces(CCGEdge *e)
int ccgSubSurf_getEdgeSize(const CCGSubSurf *ss)
CCGEdge * ccgSubSurf_getEdge(CCGSubSurf *ss, CCGEdgeHDL e)
int ccgSubSurf_getGridLevelSize(const CCGSubSurf *ss, int level)
CCGError ccgSubSurf_setSubdivisionLevels(CCGSubSurf *ss, int subdivisionLevels)
int ccgSubSurf_getFaceEdgeIndex(CCGFace *f, CCGEdge *e)
CCGVertHDL ccgSubSurf_getVertVertHandle(CCGVert *v)
struct CCGAllocatorIFC CCGAllocatorIFC
CCGError ccgSubSurf_syncEdge(CCGSubSurf *ss, CCGEdgeHDL eHDL, CCGVertHDL e_vHDL0, CCGVertHDL e_vHDL1, float crease, CCGEdge **e_r)
CCGFace * ccgFaceIterator_getCurrent(CCGFaceIterator *fi)
void * ccgSubSurf_getFaceCenterData(CCGFace *f)
int ccgSubSurf_getFaceNumVerts(CCGFace *f)
void ccgSubSurf_getAllowEdgeCreation(CCGSubSurf *ss, int *allowEdgeCreation_r, float *defaultCreaseValue_r, void *defaultUserData_r)
void * ccgSubSurf_getFaceGridEdgeData(CCGSubSurf *ss, CCGFace *f, int gridIndex, int x)
CCGFace * ccgSubSurf_getEdgeFace(CCGEdge *e, int index)
int ccgSubSurf_getVertAge(CCGSubSurf *ss, CCGVert *v)
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
void(* free)(CCGAllocatorHDL a, void *ptr)
void(* release)(CCGAllocatorHDL a)
struct _EHEntry * curEntry