Blender V4.5
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

using CCGMeshHDL = void *
using CCGVertHDL = void *
using CCGEdgeHDL = void *
using CCGFaceHDL = void *
using CCGAllocatorHDL = void *
using CCGEdgeIterator = EHashIterator
using CCGFaceIterator = EHashIterator
using CCGVertIterator = EHashIterator

Enumerations

enum  CCGError { eCCGError_None = 0 , eCCGError_InvalidSyncState , eCCGError_InvalidValue }

Functions

CCGSubSurfccgSubSurf_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)
CCGVertccgSubSurf_getVert (CCGSubSurf *ss, CCGVertHDL v)
CCGVertHDL ccgSubSurf_getVertVertHandle (CCGVert *v)
int ccgSubSurf_getVertNumFaces (CCGVert *v)
CCGFaceccgSubSurf_getVertFace (CCGVert *v, int index)
int ccgSubSurf_getVertNumEdges (CCGVert *v)
CCGEdgeccgSubSurf_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)
CCGEdgeccgSubSurf_getEdge (CCGSubSurf *ss, CCGEdgeHDL e)
CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle (CCGEdge *e)
int ccgSubSurf_getEdgeNumFaces (CCGEdge *e)
CCGFaceccgSubSurf_getEdgeFace (CCGEdge *e, int index)
CCGVertccgSubSurf_getEdgeVert0 (CCGEdge *e)
CCGVertccgSubSurf_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)
CCGFaceccgSubSurf_getFace (CCGSubSurf *ss, CCGFaceHDL f)
CCGFaceHDL ccgSubSurf_getFaceFaceHandle (CCGFace *f)
int ccgSubSurf_getFaceNumVerts (CCGFace *f)
CCGVertccgSubSurf_getFaceVert (CCGFace *f, int index)
CCGEdgeccgSubSurf_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)
CCGVertccgVertIterator_getCurrent (CCGVertIterator *vi)
int ccgVertIterator_isStopped (CCGVertIterator *vi)
void ccgVertIterator_next (CCGVertIterator *vi)
CCGEdgeccgEdgeIterator_getCurrent (CCGEdgeIterator *ei)
int ccgEdgeIterator_isStopped (CCGEdgeIterator *ei)
void ccgEdgeIterator_next (CCGEdgeIterator *ei)
CCGFaceccgFaceIterator_getCurrent (CCGFaceIterator *fi)
int ccgFaceIterator_isStopped (CCGFaceIterator *fi)
void ccgFaceIterator_next (CCGFaceIterator *fi)

Macro Definition Documentation

◆ CCG_TASK_LIMIT

#define CCG_TASK_LIMIT   16

Typedef Documentation

◆ CCGAllocatorHDL

using CCGAllocatorHDL = void *

Definition at line 30 of file CCGSubSurf.h.

◆ CCGEdgeHDL

using CCGEdgeHDL = void *

Definition at line 13 of file CCGSubSurf.h.

◆ CCGEdgeIterator

Definition at line 201 of file CCGSubSurf.h.

◆ CCGFaceHDL

using CCGFaceHDL = void *

Definition at line 14 of file CCGSubSurf.h.

◆ CCGFaceIterator

Definition at line 202 of file CCGSubSurf.h.

◆ CCGMeshHDL

using CCGMeshHDL = void *

Definition at line 11 of file CCGSubSurf.h.

◆ CCGVertHDL

using CCGVertHDL = void *

Definition at line 12 of file CCGSubSurf.h.

◆ CCGVertIterator

Definition at line 203 of file CCGSubSurf.h.

Enumeration Type Documentation

◆ CCGError

enum CCGError
Enumerator
eCCGError_None 
eCCGError_InvalidSyncState 
eCCGError_InvalidValue 

Definition at line 48 of file CCGSubSurf.h.

Function Documentation

◆ ccgEdgeIterator_getCurrent()

CCGEdge * ccgEdgeIterator_getCurrent ( CCGEdgeIterator * ei)

Definition at line 1487 of file CCGSubSurf.cc.

References ccg_ehashIterator_getCurrent().

Referenced by create_ccgdm_maps().

◆ ccgEdgeIterator_isStopped()

int ccgEdgeIterator_isStopped ( CCGEdgeIterator * ei)

Definition at line 1491 of file CCGSubSurf.cc.

References ccg_ehashIterator_isStopped().

Referenced by create_ccgdm_maps().

◆ ccgEdgeIterator_next()

void ccgEdgeIterator_next ( CCGEdgeIterator * ei)

Definition at line 1495 of file CCGSubSurf.cc.

References ccg_ehashIterator_next().

Referenced by create_ccgdm_maps().

◆ ccgFaceIterator_getCurrent()

CCGFace * ccgFaceIterator_getCurrent ( CCGFaceIterator * fi)

Definition at line 1500 of file CCGSubSurf.cc.

References ccg_ehashIterator_getCurrent().

Referenced by create_ccgdm_maps(), and set_subsurf_legacy_uv().

◆ ccgFaceIterator_isStopped()

int ccgFaceIterator_isStopped ( CCGFaceIterator * fi)

Definition at line 1504 of file CCGSubSurf.cc.

References ccg_ehashIterator_isStopped().

Referenced by create_ccgdm_maps(), and set_subsurf_legacy_uv().

◆ ccgFaceIterator_next()

void ccgFaceIterator_next ( CCGFaceIterator * fi)

Definition at line 1508 of file CCGSubSurf.cc.

References ccg_ehashIterator_next().

Referenced by create_ccgdm_maps(), and set_subsurf_legacy_uv().

◆ ccgSubSurf_free()

◆ 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 1238 of file CCGSubSurf.cc.

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 1383 of file CCGSubSurf.cc.

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 1368 of file CCGSubSurf.cc.

References ccgSubSurf_getEdgeData(), and e.

◆ ccgSubSurf_getEdgeEdgeHandle()

CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle ( CCGEdge * e)

Definition at line 1333 of file CCGSubSurf.cc.

References e.

Referenced by create_ccgdm_maps(), and set_ccgdm_all_geometry().

◆ ccgSubSurf_getEdgeFace()

CCGFace * ccgSubSurf_getEdgeFace ( CCGEdge * e,
int index )

Definition at line 1353 of file CCGSubSurf.cc.

References e.

◆ 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 1255 of file CCGSubSurf.cc.

References ccg_edgesize(), and CCGSubSurf::subdivLevels.

Referenced by ccgSubSurf_getEdgeSize().

◆ ccgSubSurf_getEdgeNumFaces()

int ccgSubSurf_getEdgeNumFaces ( CCGEdge * e)

Definition at line 1349 of file CCGSubSurf.cc.

References e.

◆ ccgSubSurf_getEdgeSize()

◆ ccgSubSurf_getEdgeUserData()

◆ ccgSubSurf_getEdgeVert0()

CCGVert * ccgSubSurf_getEdgeVert0 ( CCGEdge * e)

Definition at line 1360 of file CCGSubSurf.cc.

References e.

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

◆ ccgSubSurf_getEdgeVert1()

CCGVert * ccgSubSurf_getEdgeVert1 ( CCGEdge * e)

Definition at line 1364 of file CCGSubSurf.cc.

References e.

Referenced by getEdgeIndex(), and set_ccgdm_all_geometry().

◆ ccgSubSurf_getFace()

CCGFace * ccgSubSurf_getFace ( CCGSubSurf * ss,
CCGFaceHDL f )

Definition at line 1242 of file CCGSubSurf.cc.

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)

Definition at line 1436 of file CCGSubSurf.cc.

References FACE_getCenterData().

Referenced by ccgDM_copyFinalVertArray(), and subsurf_calculate_limit_positions().

◆ ccgSubSurf_getFaceEdge()

CCGEdge * ccgSubSurf_getFaceEdge ( CCGFace * f,
int index )

Definition at line 1420 of file CCGSubSurf.cc.

References FACE_getEdges(), and CCGFace::numVerts.

Referenced by getFaceIndex(), and ss_sync_from_uv().

◆ ccgSubSurf_getFaceEdgeIndex()

int ccgSubSurf_getFaceEdgeIndex ( CCGFace * f,
CCGEdge * e )

Definition at line 1427 of file CCGSubSurf.cc.

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

◆ ccgSubSurf_getFaceFaceHandle()

CCGFaceHDL ccgSubSurf_getFaceFaceHandle ( CCGFace * f)

Definition at line 1390 of file CCGSubSurf.cc.

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 )

Definition at line 1449 of file CCGSubSurf.cc.

References ccgSubSurf_getFaceGridData().

Referenced by ccgdm_create_grids(), and set_subsurf_legacy_uv().

◆ 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 1440 of file CCGSubSurf.cc.

References ccgSubSurf_getFaceGridEdgeData().

◆ ccgSubSurf_getFaceNumVerts()

◆ ccgSubSurf_getFaceUserData()

◆ ccgSubSurf_getFaceVert()

CCGVert * ccgSubSurf_getFaceVert ( CCGFace * f,
int index )

Definition at line 1413 of file CCGSubSurf.cc.

References FACE_getVerts(), and CCGFace::numVerts.

Referenced by getFaceIndex(), and set_ccgdm_all_geometry().

◆ ccgSubSurf_getGridLevelSize()

int ccgSubSurf_getGridLevelSize ( const CCGSubSurf * ss,
int level )

Definition at line 1266 of file CCGSubSurf.cc.

References ccg_gridsize(), and CCGSubSurf::subdivLevels.

Referenced by CCG_key(), and ccgSubSurf_getGridSize().

◆ ccgSubSurf_getGridSize()

◆ ccgSubSurf_getNumEdges()

◆ ccgSubSurf_getNumFaces()

◆ ccgSubSurf_getNumFinalEdges()

◆ ccgSubSurf_getNumFinalFaces()

int ccgSubSurf_getNumFinalFaces ( const CCGSubSurf * ss)

◆ ccgSubSurf_getNumFinalVerts()

◆ ccgSubSurf_getNumVerts()

int ccgSubSurf_getNumVerts ( const CCGSubSurf * ss)

◆ ccgSubSurf_getSimpleSubdiv()

int ccgSubSurf_getSimpleSubdiv ( const CCGSubSurf * ss)

Definition at line 1274 of file CCGSubSurf.cc.

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 1234 of file CCGSubSurf.cc.

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 1312 of file CCGSubSurf.cc.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertFace()

CCGFace * ccgSubSurf_getVertFace ( CCGVert * v,
int index )

Definition at line 1301 of file CCGSubSurf.cc.

References 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 1308 of file CCGSubSurf.cc.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertNumFaces()

int ccgSubSurf_getVertNumFaces ( CCGVert * v)

Definition at line 1297 of file CCGSubSurf.cc.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertUserData()

◆ ccgSubSurf_getVertVertHandle()

CCGVertHDL ccgSubSurf_getVertVertHandle ( CCGVert * v)

Definition at line 1281 of file CCGSubSurf.cc.

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 1465 of file CCGSubSurf.cc.

References ccg_ehashIterator_init(), and CCGSubSurf::eMap.

Referenced by create_ccgdm_maps().

◆ ccgSubSurf_initFaceIterator()

void ccgSubSurf_initFaceIterator ( CCGSubSurf * ss,
CCGFaceIterator * fiter )

Definition at line 1469 of file CCGSubSurf.cc.

References ccg_ehashIterator_init(), and CCGSubSurf::fMap.

Referenced by create_ccgdm_maps(), and set_subsurf_legacy_uv().

◆ ccgSubSurf_initFullSync()

◆ ccgSubSurf_initPartialSync()

◆ ccgSubSurf_initVertIterator()

void ccgSubSurf_initVertIterator ( CCGSubSurf * ss,
CCGVertIterator * viter )

◆ ccgSubSurf_new()

◆ ccgSubSurf_processSync()

◆ ccgSubSurf_setAllocMask()

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

Definition at line 432 of file CCGSubSurf.cc.

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 438 of file CCGSubSurf.cc.

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

Referenced by subsurf_make_derived_from_derived().

◆ ccgSubSurf_setSubdivisionLevels()

◆ ccgSubSurf_setUseAgeCounts()

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

◆ ccgSubSurf_stitchFaces()

◆ ccgSubSurf_syncEdge()

◆ ccgSubSurf_syncEdgeDel()

◆ ccgSubSurf_syncFace()

◆ ccgSubSurf_syncFaceDel()

◆ ccgSubSurf_syncVert()

◆ ccgSubSurf_syncVertDel()

◆ 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 1338 of file CCGSubSurf_legacy.cc.

References ccgSubSurf__allFaces(), ccgSubSurf__calcSubdivLevel(), ccgSubSurf__effectedFaceNeighbors(), eCCGError_None, CCGEdge::flags, CCGFace::flags, CCGVert::flags, i, 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)

Definition at line 1482 of file CCGSubSurf.cc.

References ccg_ehashIterator_next().

Referenced by create_ccgdm_maps(), and subsurf_calculate_limit_positions().