Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions
CCGSubSurf.h File Reference

Go to the source code of this file.

Classes

struct  CCGMeshIFC
 
struct  CCGAllocatorIFC
 
struct  _EHashIterator
 

Macros

#define CCG_TASK_LIMIT   16
 

Typedefs

typedef void * CCGMeshHDL
 
typedef void * CCGVertHDL
 
typedef void * CCGEdgeHDL
 
typedef void * CCGFaceHDL
 
typedef struct CCGEdge CCGEdge
 
typedef struct CCGFace CCGFace
 
typedef struct CCGSubSurf CCGSubSurf
 
typedef struct CCGVert CCGVert
 
typedef struct CCGMeshIFC CCGMeshIFC
 
typedef void * CCGAllocatorHDL
 
typedef struct CCGAllocatorIFC CCGAllocatorIFC
 
typedef struct _EHashIterator EHashIterator
 
typedef struct _EHashIterator CCGEdgeIterator
 
typedef struct _EHashIterator CCGFaceIterator
 
typedef struct _EHashIterator CCGVertIterator
 

Enumerations

enum  CCGError { eCCGError_None = 0 , eCCGError_InvalidSyncState , eCCGError_InvalidValue }
 

Functions

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

Macro Definition Documentation

◆ CCG_TASK_LIMIT

#define CCG_TASK_LIMIT   16

Definition at line 56 of file CCGSubSurf.h.

Typedef Documentation

◆ CCGAllocatorHDL

Definition at line 28 of file CCGSubSurf.h.

◆ CCGAllocatorIFC

◆ CCGEdge

typedef struct CCGEdge CCGEdge

Definition at line 12 of file CCGSubSurf.h.

◆ CCGEdgeHDL

typedef void* CCGEdgeHDL

Definition at line 11 of file CCGSubSurf.h.

◆ CCGEdgeIterator

Definition at line 195 of file CCGSubSurf.h.

◆ CCGFace

typedef struct CCGFace CCGFace

Definition at line 12 of file CCGSubSurf.h.

◆ CCGFaceHDL

typedef void* CCGFaceHDL

Definition at line 12 of file CCGSubSurf.h.

◆ CCGFaceIterator

Definition at line 195 of file CCGSubSurf.h.

◆ CCGMeshHDL

typedef void* CCGMeshHDL

Definition at line 9 of file CCGSubSurf.h.

◆ CCGMeshIFC

typedef struct CCGMeshIFC CCGMeshIFC

◆ CCGSubSurf

typedef struct CCGSubSurf CCGSubSurf

Definition at line 12 of file CCGSubSurf.h.

◆ CCGVert

typedef struct CCGVert CCGVert

Definition at line 12 of file CCGSubSurf.h.

◆ CCGVertHDL

typedef void* CCGVertHDL

Definition at line 10 of file CCGSubSurf.h.

◆ CCGVertIterator

Definition at line 195 of file CCGSubSurf.h.

◆ EHashIterator

typedef struct _EHashIterator EHashIterator

Enumeration Type Documentation

◆ CCGError

enum CCGError
Enumerator
eCCGError_None 
eCCGError_InvalidSyncState 
eCCGError_InvalidValue 

Definition at line 46 of file CCGSubSurf.h.

Function Documentation

◆ ccgEdgeIterator_getCurrent()

CCGEdge* ccgEdgeIterator_getCurrent ( CCGEdgeIterator *  ei)

Definition at line 1456 of file CCGSubSurf.c.

References ccg_ehashIterator_getCurrent().

Referenced by ccgDM_getMinMax(), and create_ccgdm_maps().

◆ ccgEdgeIterator_isStopped()

int ccgEdgeIterator_isStopped ( CCGEdgeIterator *  ei)

Definition at line 1460 of file CCGSubSurf.c.

References ccg_ehashIterator_isStopped().

Referenced by ccgDM_getMinMax(), and create_ccgdm_maps().

◆ ccgEdgeIterator_next()

void ccgEdgeIterator_next ( CCGEdgeIterator *  ei)

Definition at line 1464 of file CCGSubSurf.c.

References ccg_ehashIterator_next().

Referenced by ccgDM_getMinMax(), and create_ccgdm_maps().

◆ ccgFaceIterator_getCurrent()

CCGFace* ccgFaceIterator_getCurrent ( CCGFaceIterator *  fi)

◆ ccgFaceIterator_isStopped()

int ccgFaceIterator_isStopped ( CCGFaceIterator *  fi)

◆ ccgFaceIterator_next()

void ccgFaceIterator_next ( CCGFaceIterator *  fi)

Definition at line 1477 of file CCGSubSurf.c.

References ccg_ehashIterator_next().

Referenced by ccgDM_getMinMax(), create_ccgdm_maps(), and set_subsurf_legacy_uv().

◆ ccgSubSurf_free()

void ccgSubSurf_free ( CCGSubSurf *  ss)

◆ ccgSubSurf_getAllowEdgeCreation()

void ccgSubSurf_getAllowEdgeCreation ( CCGSubSurf *  ss,
int *  allowEdgeCreation_r,
float *  defaultCreaseValue_r,
void *  defaultUserData_r 
)

◆ ccgSubSurf_getEdge()

CCGEdge* ccgSubSurf_getEdge ( CCGSubSurf *  ss,
CCGEdgeHDL  e 
)

Definition at line 1207 of file CCGSubSurf.c.

References ccg_ehash_lookup(), e, and CCGSubSurf::eMap.

◆ ccgSubSurf_getEdgeAge()

int ccgSubSurf_getEdgeAge ( CCGSubSurf *  ss,
CCGEdge *  e 
)

◆ ccgSubSurf_getEdgeCrease()

float ccgSubSurf_getEdgeCrease ( CCGEdge *  e)

Definition at line 1352 of file CCGSubSurf.c.

References e.

Referenced by ss_sync_from_uv().

◆ ccgSubSurf_getEdgeData()

void* ccgSubSurf_getEdgeData ( CCGSubSurf *  ss,
CCGEdge *  e,
int  x 
)

◆ ccgSubSurf_getEdgeDataArray()

void* ccgSubSurf_getEdgeDataArray ( CCGSubSurf *  ss,
CCGEdge *  e 
)

Definition at line 1337 of file CCGSubSurf.c.

References ccgSubSurf_getEdgeData(), and e.

Referenced by ccgDM_getMinMax().

◆ ccgSubSurf_getEdgeEdgeHandle()

CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle ( CCGEdge *  e)

Definition at line 1302 of file CCGSubSurf.c.

References e.

Referenced by ccgDM_copyFinalEdgeArray(), create_ccgdm_maps(), and set_ccgdm_all_geometry().

◆ ccgSubSurf_getEdgeFace()

CCGFace* ccgSubSurf_getEdgeFace ( CCGEdge *  e,
int  index 
)

Definition at line 1322 of file CCGSubSurf.c.

References e, and NULL.

◆ ccgSubSurf_getEdgeLevelData()

void* ccgSubSurf_getEdgeLevelData ( CCGSubSurf *  ss,
CCGEdge *  e,
int  x,
int  level 
)

◆ ccgSubSurf_getEdgeLevelSize()

int ccgSubSurf_getEdgeLevelSize ( const CCGSubSurf *  ss,
int  level 
)

Definition at line 1224 of file CCGSubSurf.c.

References ccg_edgesize(), and CCGSubSurf::subdivLevels.

Referenced by ccgSubSurf_getEdgeSize().

◆ ccgSubSurf_getEdgeNumFaces()

int ccgSubSurf_getEdgeNumFaces ( CCGEdge *  e)

Definition at line 1318 of file CCGSubSurf.c.

References e.

Referenced by ccgDM_copyFinalEdgeArray().

◆ ccgSubSurf_getEdgeSize()

int ccgSubSurf_getEdgeSize ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getEdgeUserData()

void* ccgSubSurf_getEdgeUserData ( CCGSubSurf *  ss,
CCGEdge *  e 
)

◆ ccgSubSurf_getEdgeVert0()

CCGVert* ccgSubSurf_getEdgeVert0 ( CCGEdge *  e)

Definition at line 1329 of file CCGSubSurf.c.

References e.

Referenced by getEdgeIndex(), getFaceIndex(), and set_ccgdm_all_geometry().

◆ ccgSubSurf_getEdgeVert1()

CCGVert* ccgSubSurf_getEdgeVert1 ( CCGEdge *  e)

Definition at line 1333 of file CCGSubSurf.c.

References e.

Referenced by getEdgeIndex(), and set_ccgdm_all_geometry().

◆ ccgSubSurf_getFace()

CCGFace* ccgSubSurf_getFace ( CCGSubSurf *  ss,
CCGFaceHDL  f 
)

Definition at line 1211 of file CCGSubSurf.c.

References ccg_ehash_lookup(), and CCGSubSurf::fMap.

Referenced by ss_sync_from_uv().

◆ ccgSubSurf_getFaceAge()

int ccgSubSurf_getFaceAge ( CCGSubSurf *  ss,
CCGFace *  f 
)

◆ ccgSubSurf_getFaceCenterData()

void* ccgSubSurf_getFaceCenterData ( CCGFace *  f)

◆ ccgSubSurf_getFaceEdge()

CCGEdge* ccgSubSurf_getFaceEdge ( CCGFace *  f,
int  index 
)

Definition at line 1389 of file CCGSubSurf.c.

References FACE_getEdges(), NULL, and CCGFace::numVerts.

Referenced by getFaceIndex(), and ss_sync_from_uv().

◆ ccgSubSurf_getFaceEdgeIndex()

int ccgSubSurf_getFaceEdgeIndex ( CCGFace *  f,
CCGEdge *  e 
)

Definition at line 1396 of file CCGSubSurf.c.

References e, FACE_getEdges(), and CCGFace::numVerts.

◆ ccgSubSurf_getFaceFaceHandle()

CCGFaceHDL ccgSubSurf_getFaceFaceHandle ( CCGFace *  f)

Definition at line 1359 of file CCGSubSurf.c.

References CCGFace::fHDL.

Referenced by create_ccgdm_maps(), set_ccgdm_all_geometry(), and set_subsurf_legacy_uv().

◆ ccgSubSurf_getFaceGridData()

void* ccgSubSurf_getFaceGridData ( CCGSubSurf *  ss,
CCGFace *  f,
int  gridIndex,
int  x,
int  y 
)

◆ ccgSubSurf_getFaceGridDataArray()

void* ccgSubSurf_getFaceGridDataArray ( CCGSubSurf *  ss,
CCGFace *  f,
int  gridIndex 
)

◆ ccgSubSurf_getFaceGridEdgeData()

void* ccgSubSurf_getFaceGridEdgeData ( CCGSubSurf *  ss,
CCGFace *  f,
int  gridIndex,
int  x 
)

◆ ccgSubSurf_getFaceGridEdgeDataArray()

void* ccgSubSurf_getFaceGridEdgeDataArray ( CCGSubSurf *  ss,
CCGFace *  f,
int  gridIndex 
)

Definition at line 1409 of file CCGSubSurf.c.

References ccgSubSurf_getFaceGridEdgeData().

◆ ccgSubSurf_getFaceNumVerts()

int ccgSubSurf_getFaceNumVerts ( CCGFace *  f)

◆ ccgSubSurf_getFaceUserData()

void* ccgSubSurf_getFaceUserData ( CCGSubSurf *  ss,
CCGFace *  f 
)

◆ ccgSubSurf_getFaceVert()

CCGVert* ccgSubSurf_getFaceVert ( CCGFace *  f,
int  index 
)

Definition at line 1382 of file CCGSubSurf.c.

References FACE_getVerts(), NULL, and CCGFace::numVerts.

Referenced by getFaceIndex(), and set_ccgdm_all_geometry().

◆ ccgSubSurf_getGridLevelSize()

int ccgSubSurf_getGridLevelSize ( const CCGSubSurf *  ss,
int  level 
)

Definition at line 1235 of file CCGSubSurf.c.

References ccg_gridsize(), and CCGSubSurf::subdivLevels.

Referenced by CCG_key(), and ccgSubSurf_getGridSize().

◆ ccgSubSurf_getGridSize()

int ccgSubSurf_getGridSize ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getNumEdges()

int ccgSubSurf_getNumEdges ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getNumFaces()

int ccgSubSurf_getNumFaces ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getNumFinalEdges()

int ccgSubSurf_getNumFinalEdges ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getNumFinalFaces()

int ccgSubSurf_getNumFinalFaces ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getNumFinalVerts()

int ccgSubSurf_getNumFinalVerts ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getNumVerts()

int ccgSubSurf_getNumVerts ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getSimpleSubdiv()

int ccgSubSurf_getSimpleSubdiv ( const CCGSubSurf *  ss)

Definition at line 1243 of file CCGSubSurf.c.

References CCGSubSurf::meshIFC, and CCGMeshIFC::simpleSubdiv.

Referenced by _getSubSurf().

◆ ccgSubSurf_getSubdivisionLevels()

int ccgSubSurf_getSubdivisionLevels ( const CCGSubSurf *  ss)

◆ ccgSubSurf_getUseAgeCounts()

void ccgSubSurf_getUseAgeCounts ( CCGSubSurf *  ss,
int *  useAgeCounts_r,
int *  vertUserOffset_r,
int *  edgeUserOffset_r,
int *  faceUserOffset_r 
)

◆ ccgSubSurf_getVert()

CCGVert* ccgSubSurf_getVert ( CCGSubSurf *  ss,
CCGVertHDL  v 
)

Definition at line 1203 of file CCGSubSurf.c.

References ccg_ehash_lookup(), v, and CCGSubSurf::vMap.

◆ ccgSubSurf_getVertAge()

int ccgSubSurf_getVertAge ( CCGSubSurf *  ss,
CCGVert *  v 
)

◆ ccgSubSurf_getVertData()

void* ccgSubSurf_getVertData ( CCGSubSurf *  ss,
CCGVert *  v 
)

◆ ccgSubSurf_getVertEdge()

CCGEdge* ccgSubSurf_getVertEdge ( CCGVert *  v,
int  index 
)

Definition at line 1281 of file CCGSubSurf.c.

References NULL, and v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertFace()

CCGFace* ccgSubSurf_getVertFace ( CCGVert *  v,
int  index 
)

Definition at line 1270 of file CCGSubSurf.c.

References NULL, and v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertLevelData()

void* ccgSubSurf_getVertLevelData ( CCGSubSurf *  ss,
CCGVert *  v,
int  level 
)

◆ ccgSubSurf_getVertNumEdges()

int ccgSubSurf_getVertNumEdges ( CCGVert *  v)

Definition at line 1277 of file CCGSubSurf.c.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertNumFaces()

int ccgSubSurf_getVertNumFaces ( CCGVert *  v)

Definition at line 1266 of file CCGSubSurf.c.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertUserData()

void* ccgSubSurf_getVertUserData ( CCGSubSurf *  ss,
CCGVert *  v 
)

◆ ccgSubSurf_getVertVertHandle()

CCGVertHDL ccgSubSurf_getVertVertHandle ( CCGVert *  v)

Definition at line 1250 of file CCGSubSurf.c.

References v.

Referenced by create_ccgdm_maps(), set_ccgdm_all_geometry(), and subsurf_calculate_limit_positions().

◆ ccgSubSurf_initEdgeIterator()

void ccgSubSurf_initEdgeIterator ( CCGSubSurf *  ss,
CCGEdgeIterator *  eiter 
)

Definition at line 1434 of file CCGSubSurf.c.

References ccg_ehashIterator_init(), and CCGSubSurf::eMap.

Referenced by ccgDM_getMinMax(), and create_ccgdm_maps().

◆ ccgSubSurf_initFaceIterator()

void ccgSubSurf_initFaceIterator ( CCGSubSurf *  ss,
CCGFaceIterator *  fiter 
)

◆ ccgSubSurf_initFullSync()

CCGError ccgSubSurf_initFullSync ( CCGSubSurf *  ss)

◆ ccgSubSurf_initPartialSync()

CCGError ccgSubSurf_initPartialSync ( CCGSubSurf *  ss)

◆ ccgSubSurf_initVertIterator()

void ccgSubSurf_initVertIterator ( CCGSubSurf *  ss,
CCGVertIterator *  viter 
)

◆ ccgSubSurf_new()

CCGSubSurf* ccgSubSurf_new ( CCGMeshIFC *  ifc,
int  subdivLevels,
CCGAllocatorIFC *  allocatorIFC,
CCGAllocatorHDL  allocator 
)

◆ ccgSubSurf_processSync()

CCGError ccgSubSurf_processSync ( CCGSubSurf *  ss)

◆ ccgSubSurf_setAllocMask()

void ccgSubSurf_setAllocMask ( CCGSubSurf *  ss,
int  allocMask,
int  maskOffset 
)

Definition at line 429 of file CCGSubSurf.c.

References CCGSubSurf::allocMask, and CCGSubSurf::maskDataOffset.

Referenced by _getSubSurf().

◆ ccgSubSurf_setAllowEdgeCreation()

CCGError ccgSubSurf_setAllowEdgeCreation ( CCGSubSurf *  ss,
int  allowEdgeCreation,
float  defaultCreaseValue,
void *  defaultUserData 
)

◆ ccgSubSurf_setCalcVertexNormals()

CCGError ccgSubSurf_setCalcVertexNormals ( CCGSubSurf *  ss,
int  useVertNormals,
int  normalDataOffset 
)

◆ ccgSubSurf_setNumLayers()

void ccgSubSurf_setNumLayers ( CCGSubSurf *  ss,
int  numLayers 
)

Definition at line 435 of file CCGSubSurf.c.

References CCGSubSurf::meshIFC, and CCGMeshIFC::numLayers.

Referenced by subsurf_make_derived_from_derived().

◆ ccgSubSurf_setSubdivisionLevels()

CCGError ccgSubSurf_setSubdivisionLevels ( CCGSubSurf *  ss,
int  subdivisionLevels 
)

◆ ccgSubSurf_setUseAgeCounts()

CCGError ccgSubSurf_setUseAgeCounts ( CCGSubSurf *  ss,
int  useAgeCounts,
int  vertUserOffset,
int  edgeUserOffset,
int  faceUserOffset 
)

◆ ccgSubSurf_stitchFaces()

CCGError ccgSubSurf_stitchFaces ( CCGSubSurf *  ss,
int  lvl,
CCGFace **  effectedF,
int  numEffectedF 
)

◆ ccgSubSurf_syncEdge()

CCGError ccgSubSurf_syncEdge ( CCGSubSurf *  ss,
CCGEdgeHDL  eHDL,
CCGVertHDL  e_vHDL0,
CCGVertHDL  e_vHDL1,
float  crease,
CCGEdge **  e_r 
)

◆ ccgSubSurf_syncEdgeDel()

CCGError ccgSubSurf_syncEdgeDel ( CCGSubSurf *  ss,
CCGEdgeHDL  eHDL 
)

◆ ccgSubSurf_syncFace()

CCGError ccgSubSurf_syncFace ( CCGSubSurf *  ss,
CCGFaceHDL  fHDL,
int  numVerts,
CCGVertHDL *  vHDLs,
CCGFace **  f_r 
)

◆ ccgSubSurf_syncFaceDel()

CCGError ccgSubSurf_syncFaceDel ( CCGSubSurf *  ss,
CCGFaceHDL  fHDL 
)

◆ ccgSubSurf_syncVert()

CCGError ccgSubSurf_syncVert ( CCGSubSurf *  ss,
CCGVertHDL  vHDL,
const void *  vertData,
int  seam,
CCGVert **  v_r 
)

◆ ccgSubSurf_syncVertDel()

CCGError ccgSubSurf_syncVertDel ( CCGSubSurf *  ss,
CCGVertHDL  vHDL 
)

◆ ccgSubSurf_updateFromFaces()

CCGError ccgSubSurf_updateFromFaces ( CCGSubSurf *  ss,
int  lvl,
CCGFace **  effectedF,
int  numEffectedF 
)

◆ ccgSubSurf_updateLevels()

CCGError ccgSubSurf_updateLevels ( CCGSubSurf *  ss,
int  lvl,
CCGFace **  effectedF,
int  numEffectedF 
)

Compute subdivision levels from a given starting point, used by multi-res subdivide/propagate, by filling in coordinates at a certain level, and then subdividing that up to the highest level.

Definition at line 1332 of file CCGSubSurf_legacy.c.

References ccgSubSurf__allFaces(), ccgSubSurf__calcSubdivLevel(), ccgSubSurf__effectedFaceNeighbors(), eCCGError_None, CCGVert::flags, CCGEdge::flags, CCGFace::flags, MEM_freeN, and CCGSubSurf::subdivLevels.

Referenced by multires_modifier_update_mdisps().

◆ ccgSubSurf_updateNormals()

CCGError ccgSubSurf_updateNormals ( CCGSubSurf *  ss,
CCGFace **  effectedF,
int  numEffectedF 
)

◆ ccgSubSurf_updateToFaces()

CCGError ccgSubSurf_updateToFaces ( CCGSubSurf *  ss,
int  lvl,
CCGFace **  effectedF,
int  numEffectedF 
)

◆ ccgVertIterator_getCurrent()

CCGVert* ccgVertIterator_getCurrent ( CCGVertIterator *  vi)

◆ ccgVertIterator_isStopped()

int ccgVertIterator_isStopped ( CCGVertIterator *  vi)

◆ ccgVertIterator_next()

void ccgVertIterator_next ( CCGVertIterator *  vi)