diff options
author | Martin Poirier <theeth@yahoo.com> | 2007-11-14 04:57:17 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2007-11-14 04:57:17 +0300 |
commit | 166cc3110d6c1d3c648a99cdc56c1137b913bfe4 (patch) | |
tree | 6321f47ecb9f23c33bd26504c0889f46d0692999 /source/blender/include | |
parent | eeb9e1486d6babb9c64bcaa0b29236def05d9f95 (diff) |
Fixing up angle based subdivisions.
Adding symetry detection (right now, only primary symetries and only used to determine bone orientation).
Fixing bugs (infinite loops) in length based subdivisions.
Adding number of post processing passes parameter
Diffstat (limited to 'source/blender/include')
-rw-r--r-- | source/blender/include/reeb.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/source/blender/include/reeb.h b/source/blender/include/reeb.h index f3d569422c6..d5ceff2f808 100644 --- a/source/blender/include/reeb.h +++ b/source/blender/include/reeb.h @@ -55,6 +55,7 @@ typedef struct ReebNode { int degree; float weight; float p[3]; + int flags; } ReebNode; typedef struct ReebEdge { @@ -68,8 +69,9 @@ typedef struct ReebArc { struct ReebArc *next, *prev; ListBase edges; struct ReebNode *v1, *v2; - int bcount; struct EmbedBucket *buckets; + int bcount; + int flags; } ReebArc; struct EditMesh; @@ -78,7 +80,14 @@ void weightToHarmonic(struct EditMesh *em); void weightFromDistance(struct EditMesh *em); void weightFromLoc(struct EditMesh *me, int axis); void renormalizeWeight(struct EditMesh *em, float newmax); -void filterReebGraph(ReebGraph *rg, float threshold); -struct ReebGraph * generateReebGraph(struct EditMesh *me, int subdivisions); + +ReebGraph * generateReebGraph(struct EditMesh *me, int subdivisions); + +#define OTHER_NODE(arc, node) ((arc->v1 == node) ? arc->v2 : arc->v1) + +int subtreeDepth(ReebNode *node); +int countConnectedArcs(ReebGraph *rg, ReebNode *node); +int hasAdjacencyList(ReebGraph *rg); +int isGraphAcyclic(ReebGraph *rg); #endif /*REEB_H_*/ |