|
Blender
V3.3
|
#include <math.h>#include <stdlib.h>#include <string.h>#include "BLI_sys_types.h"#include "MEM_guardedalloc.h"#include "BLI_utildefines.h"#include "CCGSubSurf.h"#include "CCGSubSurf_intern.h"Go to the source code of this file.
Functions | |
| EHash * | ccg_ehash_new (int estimatedNumEntries, CCGAllocatorIFC *allocatorIFC, CCGAllocatorHDL allocator) |
| void | ccg_ehash_free (EHash *eh, EHEntryFreeFP freeEntry, void *userData) |
| void | ccg_ehash_insert (EHash *eh, EHEntry *entry) |
| void * | ccg_ehash_lookupWithPrev (EHash *eh, void *key, void ***prevp_r) |
| void * | ccg_ehash_lookup (EHash *eh, void *key) |
| void | ccg_ehashIterator_init (EHash *eh, EHashIterator *ehi) |
| void * | ccg_ehashIterator_getCurrent (EHashIterator *ehi) |
| void | ccg_ehashIterator_next (EHashIterator *ehi) |
| int | ccg_ehashIterator_isStopped (EHashIterator *ehi) |
| static void * | _stdAllocator_alloc (CCGAllocatorHDL UNUSED(a), int numBytes) |
| static void * | _stdAllocator_realloc (CCGAllocatorHDL UNUSED(a), void *ptr, int newSize, int UNUSED(oldSize)) |
| static void | _stdAllocator_free (CCGAllocatorHDL UNUSED(a), void *ptr) |
| CCGAllocatorIFC * | ccg_getStandardAllocatorIFC (void) |
Variables | |
| static int | kHashSizes [] |
|
static |
Standard allocator implementation.
Definition at line 176 of file CCGSubSurf_util.c.
References MEM_mallocN.
Referenced by ccg_getStandardAllocatorIFC().
|
static |
Definition at line 189 of file CCGSubSurf_util.c.
References MEM_freeN, and ptr.
Referenced by ccg_getStandardAllocatorIFC().
|
static |
Definition at line 181 of file CCGSubSurf_util.c.
References MEM_reallocN, and ptr.
Referenced by ccg_getStandardAllocatorIFC().
| void ccg_ehash_free | ( | EHash * | eh, |
| EHEntryFreeFP | freeEntry, | ||
| void * | userData | ||
| ) |
Definition at line 50 of file CCGSubSurf_util.c.
References _EHash::buckets, _EHash::curSize, EHASH_free, _EHEntry::next, and next.
Referenced by ccgSubSurf_free(), ccgSubSurf_processSync(), and ccgSubSurf_setSubdivisionLevels().
Definition at line 70 of file CCGSubSurf_util.c.
References _EHash::buckets, _EHash::curSize, _EHash::curSizeIdx, EHASH_alloc, EHASH_free, EHASH_hash, hash, _EHEntry::key, kHashSizes, _EHEntry::next, next, _EHash::numEntries, and UNLIKELY.
Referenced by ccgSubSurf_syncEdge(), ccgSubSurf_syncFace(), and ccgSubSurf_syncVert().
Definition at line 117 of file CCGSubSurf_util.c.
References _EHash::buckets, EHASH_hash, hash, _EHEntry::key, and _EHEntry::next.
Referenced by ccgSubSurf_getEdge(), ccgSubSurf_getFace(), ccgSubSurf_getVert(), ccgSubSurf_syncEdge(), and ccgSubSurf_syncFace().
Definition at line 101 of file CCGSubSurf_util.c.
References _EHash::buckets, EHASH_hash, hash, and NULL.
Referenced by ccgSubSurf_syncEdge(), ccgSubSurf_syncEdgeDel(), ccgSubSurf_syncFace(), ccgSubSurf_syncFaceDel(), ccgSubSurf_syncVert(), and ccgSubSurf_syncVertDel().
| EHash* ccg_ehash_new | ( | int | estimatedNumEntries, |
| CCGAllocatorIFC * | allocatorIFC, | ||
| CCGAllocatorHDL | allocator | ||
| ) |
Definition at line 31 of file CCGSubSurf_util.c.
References CCGAllocatorIFC::alloc, _EHash::allocator, _EHash::allocatorIFC, _EHash::buckets, _EHash::curSize, _EHash::curSizeIdx, EHASH_alloc, kHashSizes, and _EHash::numEntries.
Referenced by ccgSubSurf_initFullSync(), ccgSubSurf_new(), and ccgSubSurf_setSubdivisionLevels().
| void* ccg_ehashIterator_getCurrent | ( | EHashIterator * | ehi | ) |
Definition at line 149 of file CCGSubSurf_util.c.
References _EHashIterator::curEntry.
Referenced by ccgEdgeIterator_getCurrent(), ccgFaceIterator_getCurrent(), and ccgVertIterator_getCurrent().
| void ccg_ehashIterator_init | ( | EHash * | eh, |
| EHashIterator * | ehi | ||
| ) |
Definition at line 133 of file CCGSubSurf_util.c.
References _EHash::buckets, _EHashIterator::curBucket, _EHashIterator::curEntry, _EHash::curSize, _EHashIterator::eh, and NULL.
Referenced by ccgSubSurf_initEdgeIterator(), ccgSubSurf_initFaceIterator(), and ccgSubSurf_initVertIterator().
| int ccg_ehashIterator_isStopped | ( | EHashIterator * | ehi | ) |
Definition at line 167 of file CCGSubSurf_util.c.
References _EHashIterator::curEntry.
Referenced by ccgEdgeIterator_isStopped(), ccgFaceIterator_isStopped(), and ccgVertIterator_isStopped().
| void ccg_ehashIterator_next | ( | EHashIterator * | ehi | ) |
Definition at line 154 of file CCGSubSurf_util.c.
References _EHash::buckets, _EHashIterator::curBucket, _EHashIterator::curEntry, _EHash::curSize, _EHashIterator::eh, and _EHEntry::next.
Referenced by ccgEdgeIterator_next(), ccgFaceIterator_next(), and ccgVertIterator_next().
| CCGAllocatorIFC* ccg_getStandardAllocatorIFC | ( | void | ) |
Standard allocator implementation.
Definition at line 194 of file CCGSubSurf_util.c.
References _stdAllocator_alloc(), _stdAllocator_free(), _stdAllocator_realloc(), CCGAllocatorIFC::alloc, CCGAllocatorIFC::free, NULL, CCGAllocatorIFC::realloc, and CCGAllocatorIFC::release.
Referenced by ccgSubSurf_new().
|
static |
Hash implementation.
Definition at line 23 of file CCGSubSurf_util.c.
Referenced by ccg_ehash_insert(), and ccg_ehash_new().