diff options
author | Martin Poirier <theeth@yahoo.com> | 2007-11-21 01:25:25 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2007-11-21 01:25:25 +0300 |
commit | 11fc4432b96263965bb0ec47f4a0eb133d5efc6c (patch) | |
tree | 530f99bfa77f20246d9c2c2f82e5afde158abe32 /source/blender/include | |
parent | 45e14ed270c1d64c46a4f5423184d07e995a2e44 (diff) |
Adding subdivisions by correlation.
This is much nicer than subdivision by angle but is somewhat less intuitive for users.
Added Bucket arc iterator, removing a lot of weird duplicated code in skeleton generator.
Diffstat (limited to 'source/blender/include')
-rw-r--r-- | source/blender/include/reeb.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/include/reeb.h b/source/blender/include/reeb.h index d5ceff2f808..475e96d8aa0 100644 --- a/source/blender/include/reeb.h +++ b/source/blender/include/reeb.h @@ -74,6 +74,14 @@ typedef struct ReebArc { int flags; } ReebArc; +typedef struct ReebArcIterator { + struct ReebArc *arc; + int index; + int start; + int end; + int stride; +} ReebArcIterator; + struct EditMesh; void weightToHarmonic(struct EditMesh *em); @@ -85,6 +93,10 @@ ReebGraph * generateReebGraph(struct EditMesh *me, int subdivisions); #define OTHER_NODE(arc, node) ((arc->v1 == node) ? arc->v2 : arc->v1) +void initArcIterator(struct ReebArcIterator *iter, struct ReebArc *arc, struct ReebNode *head); +void initArcIterator2(struct ReebArcIterator *iter, struct ReebArc *arc, int start, int end); +struct EmbedBucket * nextBucket(struct ReebArcIterator *iter); + int subtreeDepth(ReebNode *node); int countConnectedArcs(ReebGraph *rg, ReebNode *node); int hasAdjacencyList(ReebGraph *rg); |