Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Poirier <theeth@yahoo.com>2007-11-21 01:25:25 +0300
committerMartin Poirier <theeth@yahoo.com>2007-11-21 01:25:25 +0300
commit11fc4432b96263965bb0ec47f4a0eb133d5efc6c (patch)
tree530f99bfa77f20246d9c2c2f82e5afde158abe32 /source/blender/include
parent45e14ed270c1d64c46a4f5423184d07e995a2e44 (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.h12
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);