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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user