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.
This commit is contained in:
2007-11-20 22:25:25 +00:00
parent 45e14ed270
commit 11fc4432b9
7 changed files with 272 additions and 91 deletions

View File

@@ -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);