Blender V4.3
CCGSubSurf.cc File Reference
#include <cmath>
#include <cstdlib>
#include <cstring>
#include "BLI_sys_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "BKE_ccg.hh"
#include "BKE_subsurf.hh"
#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)
 
void * ccgSubSurf_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)
 
void * ccgSubSurf_getVertData (CCGSubSurf *ss, CCGVert *v)
 
void * ccgSubSurf_getVertLevelData (CCGSubSurf *ss, CCGVert *v, int level)
 
CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle (CCGEdge *e)
 
int ccgSubSurf_getEdgeAge (CCGSubSurf *ss, CCGEdge *e)
 
void * ccgSubSurf_getEdgeUserData (CCGSubSurf *ss, CCGEdge *e)
 
int ccgSubSurf_getEdgeNumFaces (CCGEdge *e)
 
CCGFaceccgSubSurf_getEdgeFace (CCGEdge *e, int index)
 
CCGVertccgSubSurf_getEdgeVert0 (CCGEdge *e)
 
CCGVertccgSubSurf_getEdgeVert1 (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)
 
float ccgSubSurf_getEdgeCrease (CCGEdge *e)
 
CCGFaceHDL ccgSubSurf_getFaceFaceHandle (CCGFace *f)
 
int ccgSubSurf_getFaceAge (CCGSubSurf *ss, CCGFace *f)
 
void * ccgSubSurf_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)
 
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)
 
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 150 of file CCGSubSurf.cc.

References CCGSUBSURF_realloc, and e.

Referenced by _face_new().

◆ _edge_free()

static void _edge_free ( CCGEdge * e,
CCGSubSurf * ss )
static

Definition at line 165 of file CCGSubSurf.cc.

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

◆ _edge_remFace()

static void _edge_remFace ( CCGEdge * e,
CCGFace * f )
static

Definition at line 141 of file CCGSubSurf.cc.

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

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

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

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

References e, and v.

Referenced by ccgSubSurf_syncFace().

◆ _vert_free()

static void _vert_free ( CCGVert * v,
CCGSubSurf * ss )
static

◆ _vert_new()

◆ _vert_remEdge()

static void _vert_remEdge ( CCGVert * v,
CCGEdge * e )
static

Definition at line 61 of file CCGSubSurf.cc.

References e, and v.

Referenced by _edge_unlinkMarkAndFree().

◆ _vert_remFace()

static void _vert_remFace ( CCGVert * v,
CCGFace * f )
static

Definition at line 70 of file CCGSubSurf.cc.

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

References BLI_assert.

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

◆ BKE_ccg_gridsize()

◆ CCG_key()

◆ CCG_key_top_level()

void CCG_key_top_level ( CCGKey * key,
const CCGSubSurf * ss )

Definition at line 1577 of file CCGSubSurf.cc.

References CCG_key(), and ccgSubSurf_getSubdivisionLevels().

Referenced by ccgDM_copyFinalVertArray(), and ccgDM_getGridKey().

◆ ccgEdgeIterator_getCurrent()

CCGEdge * ccgEdgeIterator_getCurrent ( CCGEdgeIterator * ei)

Definition at line 1493 of file CCGSubSurf.cc.

References ccg_ehashIterator_getCurrent().

Referenced by create_ccgdm_maps().

◆ ccgEdgeIterator_isStopped()

int ccgEdgeIterator_isStopped ( CCGEdgeIterator * ei)

Definition at line 1497 of file CCGSubSurf.cc.

References ccg_ehashIterator_isStopped().

Referenced by create_ccgdm_maps().

◆ ccgEdgeIterator_next()

void ccgEdgeIterator_next ( CCGEdgeIterator * ei)

Definition at line 1501 of file CCGSubSurf.cc.

References ccg_ehashIterator_next().

Referenced by create_ccgdm_maps().

◆ ccgFaceIterator_getCurrent()

CCGFace * ccgFaceIterator_getCurrent ( CCGFaceIterator * fi)

Definition at line 1506 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 1510 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 1514 of file CCGSubSurf.cc.

References ccg_ehashIterator_next().

Referenced by create_ccgdm_maps(), and set_subsurf_legacy_uv().

◆ ccgSubSurf__allFaces()

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

References ccgSubSurf__sync_legacy().

Referenced by ccgSubSurf_processSync().

◆ 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 1244 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 1389 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 1374 of file CCGSubSurf.cc.

References ccgSubSurf_getEdgeData(), and e.

◆ ccgSubSurf_getEdgeEdgeHandle()

CCGEdgeHDL ccgSubSurf_getEdgeEdgeHandle ( CCGEdge * e)

Definition at line 1339 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 1359 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 1261 of file CCGSubSurf.cc.

References ccg_edgesize(), and CCGSubSurf::subdivLevels.

Referenced by ccgSubSurf_getEdgeSize().

◆ ccgSubSurf_getEdgeNumFaces()

int ccgSubSurf_getEdgeNumFaces ( CCGEdge * e)

Definition at line 1355 of file CCGSubSurf.cc.

References e.

◆ ccgSubSurf_getEdgeSize()

◆ ccgSubSurf_getEdgeUserData()

◆ ccgSubSurf_getEdgeVert0()

CCGVert * ccgSubSurf_getEdgeVert0 ( CCGEdge * e)

Definition at line 1366 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 1370 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 1248 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 1442 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 1426 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 1433 of file CCGSubSurf.cc.

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

◆ ccgSubSurf_getFaceFaceHandle()

CCGFaceHDL ccgSubSurf_getFaceFaceHandle ( CCGFace * f)

Definition at line 1396 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 1455 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 1446 of file CCGSubSurf.cc.

References ccgSubSurf_getFaceGridEdgeData().

◆ ccgSubSurf_getFaceNumVerts()

◆ ccgSubSurf_getFaceUserData()

◆ ccgSubSurf_getFaceVert()

CCGVert * ccgSubSurf_getFaceVert ( CCGFace * f,
int index )

Definition at line 1419 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 1272 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 1280 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 1240 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 1318 of file CCGSubSurf.cc.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertFace()

CCGFace * ccgSubSurf_getVertFace ( CCGVert * v,
int index )

Definition at line 1307 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 1314 of file CCGSubSurf.cc.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertNumFaces()

int ccgSubSurf_getVertNumFaces ( CCGVert * v)

Definition at line 1303 of file CCGSubSurf.cc.

References v.

Referenced by subsurf_calculate_limit_positions().

◆ ccgSubSurf_getVertUserData()

◆ ccgSubSurf_getVertVertHandle()

CCGVertHDL ccgSubSurf_getVertVertHandle ( CCGVert * v)

Definition at line 1287 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 1471 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 1475 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 433 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 439 of file CCGSubSurf.cc.

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

Referenced by subsurf_make_derived_from_derived().

◆ ccgSubSurf_setSubdivisionLevels()

◆ ccgSubSurf_setUseAgeCounts()

◆ ccgSubSurf_stitchFaces()

◆ ccgSubSurf_syncEdge()

◆ ccgSubSurf_syncEdgeDel()

◆ ccgSubSurf_syncFace()

◆ ccgSubSurf_syncFaceDel()

◆ ccgSubSurf_syncVert()

◆ ccgSubSurf_syncVertDel()

◆ ccgSubSurf_updateFromFaces()

◆ ccgSubSurf_updateToFaces()

◆ ccgVertIterator_getCurrent()

CCGVert * ccgVertIterator_getCurrent ( CCGVertIterator * vi)

◆ ccgVertIterator_isStopped()

int ccgVertIterator_isStopped ( CCGVertIterator * vi)

◆ ccgVertIterator_next()

void ccgVertIterator_next ( CCGVertIterator * vi)

Definition at line 1488 of file CCGSubSurf.cc.

References ccg_ehashIterator_next().

Referenced by create_ccgdm_maps(), and subsurf_calculate_limit_positions().