Blender  V3.3
Functions
CCGSubSurf.c File Reference
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "BLI_sys_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "BKE_ccg.h"
#include "BKE_subsurf.h"
#include "CCGSubSurf.h"
#include "CCGSubSurf_intern.h"

Go to the source code of this file.

Functions

int BKE_ccg_gridsize (int level)
 
int BKE_ccg_factor (int low_level, int high_level)
 
static CCGVert_vert_new (CCGVertHDL vHDL, CCGSubSurf *ss)
 
static void _vert_remEdge (CCGVert *v, CCGEdge *e)
 
static void _vert_remFace (CCGVert *v, CCGFace *f)
 
static void _vert_addEdge (CCGVert *v, CCGEdge *e, CCGSubSurf *ss)
 
static void _vert_addFace (CCGVert *v, CCGFace *f, CCGSubSurf *ss)
 
static CCGEdge_vert_findEdgeTo (const CCGVert *v, const CCGVert *vQ)
 
static void _vert_free (CCGVert *v, CCGSubSurf *ss)
 
static CCGEdge_edge_new (CCGEdgeHDL eHDL, CCGVert *v0, CCGVert *v1, float crease, CCGSubSurf *ss)
 
static void _edge_remFace (CCGEdge *e, CCGFace *f)
 
static void _edge_addFace (CCGEdge *e, CCGFace *f, CCGSubSurf *ss)
 
static void_edge_getCoVert (CCGEdge *e, CCGVert *v, int lvl, int x, int dataSize)
 
static void _edge_free (CCGEdge *e, CCGSubSurf *ss)
 
static void _edge_unlinkMarkAndFree (CCGEdge *e, CCGSubSurf *ss)
 
static CCGFace_face_new (CCGFaceHDL fHDL, CCGVert **verts, CCGEdge **edges, int numVerts, CCGSubSurf *ss)
 
static void _face_free (CCGFace *f, CCGSubSurf *ss)
 
static void _face_unlinkMarkAndFree (CCGFace *f, CCGSubSurf *ss)
 
CCGSubSurfccgSubSurf_new (CCGMeshIFC *ifc, int subdivLevels, CCGAllocatorIFC *allocatorIFC, CCGAllocatorHDL allocator)
 
void ccgSubSurf_free (CCGSubSurf *ss)
 
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)
 
CCGError ccgSubSurf_setSubdivisionLevels (CCGSubSurf *ss, int subdivisionLevels)
 
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)
 
CCGError ccgSubSurf_initFullSync (CCGSubSurf *ss)
 
CCGError ccgSubSurf_initPartialSync (CCGSubSurf *ss)
 
CCGError ccgSubSurf_syncVertDel (CCGSubSurf *ss, CCGVertHDL vHDL)
 
CCGError ccgSubSurf_syncEdgeDel (CCGSubSurf *ss, CCGEdgeHDL eHDL)
 
CCGError ccgSubSurf_syncFaceDel (CCGSubSurf *ss, CCGFaceHDL fHDL)
 
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)
 
static void ccgSubSurf__sync (CCGSubSurf *ss)
 
CCGError ccgSubSurf_processSync (CCGSubSurf *ss)
 
void ccgSubSurf__allFaces (CCGSubSurf *ss, CCGFace ***faces, int *numFaces, int *freeFaces)
 
void ccgSubSurf__effectedFaceNeighbors (CCGSubSurf *ss, CCGFace **faces, int numFaces, CCGVert ***verts, int *numVerts, CCGEdge ***edges, int *numEdges)
 
CCGError ccgSubSurf_updateFromFaces (CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
 
CCGError ccgSubSurf_updateToFaces (CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
 
CCGError ccgSubSurf_stitchFaces (CCGSubSurf *ss, int lvl, CCGFace **effectedF, int numEffectedF)
 
int ccgSubSurf_getNumVerts (const CCGSubSurf *ss)
 
int ccgSubSurf_getNumEdges (const CCGSubSurf *ss)
 
int ccgSubSurf_getNumFaces (const CCGSubSurf *ss)
 
CCGVertccgSubSurf_getVert (CCGSubSurf *ss, CCGVertHDL v)
 
CCGEdgeccgSubSurf_getEdge (CCGSubSurf *ss, CCGEdgeHDL e)
 
CCGFaceccgSubSurf_getFace (CCGSubSurf *ss, CCGFaceHDL f)
 
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)
 
CCGVertHDL ccgSubSurf_getVertVertHandle (CCGVert *v)
 
int ccgSubSurf_getVertAge (CCGSubSurf *ss, CCGVert *v)
 
voidccgSubSurf_getVertUserData (CCGSubSurf *ss, CCGVert *v)
 
int ccgSubSurf_getVertNumFaces (CCGVert *v)
 
CCGFaceccgSubSurf_getVertFace (CCGVert *v, int index)
 
int ccgSubSurf_getVertNumEdges (CCGVert *v)
 
CCGEdgeccgSubSurf_getVertEdge (CCGVert *v, int index)
 
voidccgSubSurf_getVertData (CCGSubSurf *ss, CCGVert *v)
 
voidccgSubSurf_getVertLevelData (CCGSubSurf *ss, CCGVert *v, int level)
 
CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle (CCGEdge *e)
 
int ccgSubSurf_getEdgeAge (CCGSubSurf *ss, CCGEdge *e)
 
voidccgSubSurf_getEdgeUserData (CCGSubSurf *ss, CCGEdge *e)
 
int ccgSubSurf_getEdgeNumFaces (CCGEdge *e)
 
CCGFaceccgSubSurf_getEdgeFace (CCGEdge *e, int index)
 
CCGVertccgSubSurf_getEdgeVert0 (CCGEdge *e)
 
CCGVertccgSubSurf_getEdgeVert1 (CCGEdge *e)
 
voidccgSubSurf_getEdgeDataArray (CCGSubSurf *ss, CCGEdge *e)
 
voidccgSubSurf_getEdgeData (CCGSubSurf *ss, CCGEdge *e, int x)
 
voidccgSubSurf_getEdgeLevelData (CCGSubSurf *ss, CCGEdge *e, int x, int level)
 
float ccgSubSurf_getEdgeCrease (CCGEdge *e)
 
CCGFaceHDL ccgSubSurf_getFaceFaceHandle (CCGFace *f)
 
int ccgSubSurf_getFaceAge (CCGSubSurf *ss, CCGFace *f)
 
voidccgSubSurf_getFaceUserData (CCGSubSurf *ss, 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)
 
voidccgSubSurf_getFaceCenterData (CCGFace *f)
 
voidccgSubSurf_getFaceGridEdgeDataArray (CCGSubSurf *ss, CCGFace *f, int gridIndex)
 
voidccgSubSurf_getFaceGridEdgeData (CCGSubSurf *ss, CCGFace *f, int gridIndex, int x)
 
voidccgSubSurf_getFaceGridDataArray (CCGSubSurf *ss, CCGFace *f, int gridIndex)
 
voidccgSubSurf_getFaceGridData (CCGSubSurf *ss, CCGFace *f, int gridIndex, int x, int y)
 
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)
 
int ccgSubSurf_getNumFinalVerts (const CCGSubSurf *ss)
 
int ccgSubSurf_getNumFinalEdges (const CCGSubSurf *ss)
 
int ccgSubSurf_getNumFinalFaces (const CCGSubSurf *ss)
 
void CCG_key (CCGKey *key, const CCGSubSurf *ss, int level)
 
void CCG_key_top_level (CCGKey *key, const CCGSubSurf *ss)
 

Function Documentation

◆ _edge_addFace()

static void _edge_addFace ( CCGEdge e,
CCGFace f,
CCGSubSurf ss 
)
static

Definition at line 148 of file CCGSubSurf.c.

References CCGSUBSURF_realloc, and e.

Referenced by _face_new().

◆ _edge_free()

static void _edge_free ( CCGEdge e,
CCGSubSurf ss 
)
static

Definition at line 163 of file CCGSubSurf.c.

References CCGSUBSURF_free, and e.

Referenced by _edge_unlinkMarkAndFree(), ccgSubSurf_free(), and ccgSubSurf_setSubdivisionLevels().

◆ _edge_getCoVert()

static void* _edge_getCoVert ( CCGEdge e,
CCGVert v,
int  lvl,
int  x,
int  dataSize 
)
static

◆ _edge_new()

static CCGEdge* _edge_new ( CCGEdgeHDL  eHDL,
CCGVert v0,
CCGVert v1,
float  crease,
CCGSubSurf ss 
)
static

◆ _edge_remFace()

static void _edge_remFace ( CCGEdge e,
CCGFace f 
)
static

Definition at line 139 of file CCGSubSurf.c.

References e.

Referenced by _face_unlinkMarkAndFree().

◆ _edge_unlinkMarkAndFree()

static void _edge_unlinkMarkAndFree ( CCGEdge e,
CCGSubSurf ss 
)
static

◆ _face_free()

static void _face_free ( CCGFace f,
CCGSubSurf ss 
)
static

◆ _face_new()

static CCGFace* _face_new ( CCGFaceHDL  fHDL,
CCGVert **  verts,
CCGEdge **  edges,
int  numVerts,
CCGSubSurf ss 
)
static

◆ _face_unlinkMarkAndFree()

static void _face_unlinkMarkAndFree ( CCGFace f,
CCGSubSurf ss 
)
static

◆ _vert_addEdge()

static void _vert_addEdge ( CCGVert v,
CCGEdge e,
CCGSubSurf ss 
)
static

Definition at line 77 of file CCGSubSurf.c.

References CCGSUBSURF_realloc, e, and v.

Referenced by _edge_new().

◆ _vert_addFace()

static void _vert_addFace ( CCGVert v,
CCGFace f,
CCGSubSurf ss 
)
static

Definition at line 83 of file CCGSubSurf.c.

References CCGSUBSURF_realloc, and v.

Referenced by _face_new().

◆ _vert_findEdgeTo()

static CCGEdge* _vert_findEdgeTo ( const CCGVert v,
const CCGVert vQ 
)
static

Definition at line 89 of file CCGSubSurf.c.

References e, NULL, and v.

Referenced by ccgSubSurf_syncFace().

◆ _vert_free()

static void _vert_free ( CCGVert v,
CCGSubSurf ss 
)
static

◆ _vert_new()

static CCGVert* _vert_new ( CCGVertHDL  vHDL,
CCGSubSurf ss 
)
static

◆ _vert_remEdge()

static void _vert_remEdge ( CCGVert v,
CCGEdge e 
)
static

Definition at line 59 of file CCGSubSurf.c.

References e, and v.

Referenced by _edge_unlinkMarkAndFree().

◆ _vert_remFace()

static void _vert_remFace ( CCGVert v,
CCGFace f 
)
static

Definition at line 68 of file CCGSubSurf.c.

References v.

Referenced by _face_unlinkMarkAndFree().

◆ BKE_ccg_factor()

int BKE_ccg_factor ( int  low_level,
int  high_level 
)

X/Y grid coordinates at 'low_level' can be multiplied by the result of this function to convert to grid coordinates at 'high_level'.

Definition at line 28 of file CCGSubSurf.c.

References BLI_assert.

Referenced by multires_mdisps_downsample_hidden(), multires_mdisps_upsample_hidden(), and paint_grid_paint_mask().

◆ BKE_ccg_gridsize()

int BKE_ccg_gridsize ( int  level)

◆ CCG_key()

void CCG_key ( CCGKey key,
const CCGSubSurf ss,
int  level 
)

◆ CCG_key_top_level()

void CCG_key_top_level ( CCGKey key,
const CCGSubSurf ss 
)

Definition at line 1540 of file CCGSubSurf.c.

References CCG_key(), and ccgSubSurf_getSubdivisionLevels().

◆ 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__allFaces()

void ccgSubSurf__allFaces ( CCGSubSurf ss,
CCGFace ***  faces,
int *  numFaces,
int *  freeFaces 
)

◆ ccgSubSurf__effectedFaceNeighbors()

void ccgSubSurf__effectedFaceNeighbors ( CCGSubSurf ss,
CCGFace **  faces,
int  numFaces,
CCGVert ***  verts,
int *  numVerts,
CCGEdge ***  edges,
int *  numEdges 
)

◆ ccgSubSurf__sync()

static void ccgSubSurf__sync ( CCGSubSurf ss)
static

Definition at line 806 of file CCGSubSurf.c.

References ccgSubSurf__sync_legacy().

Referenced by ccgSubSurf_processSync().

◆ 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_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)