56 #define CCG_TASK_LIMIT 16
68 #ifdef WITH_OPENSUBDIV
118 int allowEdgeCreation,
119 float defaultCreaseValue,
120 void *defaultUserData);
122 int *allowEdgeCreation_r,
123 float *defaultCreaseValue_r,
124 void *defaultUserData_r);
128 int *vertUserOffset_r,
129 int *edgeUserOffset_r,
130 int *faceUserOffset_r);
132 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)
int ccgSubSurf_getNumFaces(const CCGSubSurf *ss)
CCGVert * ccgVertIterator_getCurrent(CCGVertIterator *vi)
void ccgVertIterator_next(CCGVertIterator *vi)
int ccgSubSurf_getVertNumFaces(CCGVert *v)
CCGFace * ccgSubSurf_getVertFace(CCGVert *v, int index)
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_getVertData(CCGSubSurf *ss, CCGVert *v)
void ccgSubSurf_initEdgeIterator(CCGSubSurf *ss, CCGEdgeIterator *eiter)
void ccgSubSurf_setNumLayers(CCGSubSurf *ss, int numLayers)
int ccgSubSurf_getNumVerts(const CCGSubSurf *ss)
CCGError ccgSubSurf_updateLevels(CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
void * ccgSubSurf_getFaceUserData(CCGSubSurf *ss, CCGFace *f)
CCGError ccgSubSurf_syncFace(CCGSubSurf *ss, CCGFaceHDL fHDL, int numVerts, CCGVertHDL *vHDLs, CCGFace **f_r)
struct CCGMeshIFC CCGMeshIFC
CCGFace * ccgSubSurf_getEdgeFace(CCGEdge *e, int index)
int ccgSubSurf_getSubdivisionLevels(const CCGSubSurf *ss)
CCGVert * ccgSubSurf_getEdgeVert0(CCGEdge *e)
CCGVert * ccgSubSurf_getFaceVert(CCGFace *f, int index)
void * ccgSubSurf_getFaceGridData(CCGSubSurf *ss, CCGFace *f, int gridIndex, int x, int y)
CCGError ccgSubSurf_processSync(CCGSubSurf *ss)
int ccgSubSurf_getVertNumEdges(CCGVert *v)
void * ccgSubSurf_getFaceGridEdgeDataArray(CCGSubSurf *ss, CCGFace *f, int gridIndex)
CCGError ccgSubSurf_setCalcVertexNormals(CCGSubSurf *ss, int useVertNormals, int normalDataOffset)
CCGFace * ccgSubSurf_getFace(CCGSubSurf *ss, CCGFaceHDL f)
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)
@ eCCGError_InvalidSyncState
int ccgSubSurf_getSimpleSubdiv(const CCGSubSurf *ss)
int ccgSubSurf_getGridSize(const CCGSubSurf *ss)
CCGError ccgSubSurf_syncVertDel(CCGSubSurf *ss, CCGVertHDL vHDL)
void * ccgSubSurf_getEdgeDataArray(CCGSubSurf *ss, CCGEdge *e)
CCGEdge * ccgSubSurf_getEdge(CCGSubSurf *ss, CCGEdgeHDL e)
CCGError ccgSubSurf_syncEdgeDel(CCGSubSurf *ss, CCGEdgeHDL eHDL)
float ccgSubSurf_getEdgeCrease(CCGEdge *e)
void * ccgSubSurf_getFaceGridEdgeData(CCGSubSurf *ss, CCGFace *f, int gridIndex, int x)
CCGError ccgSubSurf_initPartialSync(CCGSubSurf *ss)
CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle(CCGEdge *e)
void * ccgSubSurf_getFaceCenterData(CCGFace *f)
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_getVertUserData(CCGSubSurf *ss, CCGVert *v)
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)
CCGError ccgSubSurf_syncFaceDel(CCGSubSurf *ss, CCGFaceHDL fHDL)
CCGEdge * ccgEdgeIterator_getCurrent(CCGEdgeIterator *ei)
void * ccgSubSurf_getEdgeLevelData(CCGSubSurf *ss, CCGEdge *e, int x, int level)
int ccgSubSurf_getNumEdges(const CCGSubSurf *ss)
int ccgSubSurf_getNumFinalVerts(const CCGSubSurf *ss)
int ccgSubSurf_getEdgeLevelSize(const CCGSubSurf *ss, int level)
CCGEdge * ccgSubSurf_getVertEdge(CCGVert *v, int index)
void * ccgSubSurf_getEdgeData(CCGSubSurf *ss, CCGEdge *e, int x)
void ccgFaceIterator_next(CCGFaceIterator *fi)
int ccgVertIterator_isStopped(CCGVertIterator *vi)
CCGVert * ccgSubSurf_getVert(CCGSubSurf *ss, CCGVertHDL v)
int ccgSubSurf_getEdgeNumFaces(CCGEdge *e)
CCGEdge * ccgSubSurf_getFaceEdge(CCGFace *f, int index)
int ccgSubSurf_getEdgeSize(const CCGSubSurf *ss)
void * ccgSubSurf_getEdgeUserData(CCGSubSurf *ss, CCGEdge *e)
int ccgSubSurf_getGridLevelSize(const CCGSubSurf *ss, int level)
void * ccgSubSurf_getVertLevelData(CCGSubSurf *ss, CCGVert *v, int level)
CCGError ccgSubSurf_setSubdivisionLevels(CCGSubSurf *ss, int subdivisionLevels)
int ccgSubSurf_getFaceEdgeIndex(CCGFace *f, CCGEdge *e)
CCGVertHDL ccgSubSurf_getVertVertHandle(CCGVert *v)
void * ccgSubSurf_getFaceGridDataArray(CCGSubSurf *ss, CCGFace *f, int gridIndex)
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)
int ccgSubSurf_getFaceNumVerts(CCGFace *f)
void ccgSubSurf_getAllowEdgeCreation(CCGSubSurf *ss, int *allowEdgeCreation_r, float *defaultCreaseValue_r, void *defaultUserData_r)
int ccgSubSurf_getVertAge(CCGSubSurf *ss, CCGVert *v)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
SyclQueue void void size_t num_bytes void
void(* free)(CCGAllocatorHDL a, void *ptr)
void(* release)(CCGAllocatorHDL a)
struct _EHEntry * curEntry