Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions

reeb.h File Reference

#include "DNA_listBase.h"
#include "BLI_graph.h"

Go to the source code of this file.

Classes

struct  ReebGraph
struct  EmbedBucket
struct  ReebNode
struct  ReebEdge
struct  ReebArc
struct  ReebArcIterator

Defines

#define WITH_BF_REEB
#define REEB_MAX_MULTI_LEVEL   10

Typedefs

typedef struct ReebGraph ReebGraph
typedef struct EmbedBucket EmbedBucket
typedef struct ReebNode ReebNode
typedef struct ReebEdge ReebEdge
typedef struct ReebArc ReebArc
typedef struct ReebArcIterator ReebArcIterator

Functions

int weightToHarmonic (struct EditMesh *em, struct EdgeIndex *indexed_edges)
int weightFromDistance (struct EditMesh *em, struct EdgeIndex *indexed_edges)
int weightFromLoc (struct EditMesh *me, int axis)
void weightToVCol (struct EditMesh *em, int index)
void arcToVCol (struct ReebGraph *rg, struct EditMesh *em, int index)
void angleToVCol (struct EditMesh *em, int index)
void renormalizeWeight (struct EditMesh *em, float newmax)
ReebGraph * generateReebGraph (struct EditMesh *me, int subdivisions)
ReebGraph * newReebGraph (void)
void initArcIterator (BArcIterator *iter, struct ReebArc *arc, struct ReebNode *head)
void initArcIterator2 (BArcIterator *iter, struct ReebArc *arc, int start, int end)
void initArcIteratorStart (BArcIterator *iter, struct ReebArc *arc, struct ReebNode *head, int start)
void filterNullReebGraph (ReebGraph *rg)
int filterSmartReebGraph (ReebGraph *rg, float threshold)
int filterExternalReebGraph (ReebGraph *rg, float threshold)
int filterInternalReebGraph (ReebGraph *rg, float threshold)
void repositionNodes (ReebGraph *rg)
void postprocessGraph (ReebGraph *rg, char mode)
void removeNormalNodes (ReebGraph *rg)
void sortNodes (ReebGraph *rg)
void sortArcs (ReebGraph *rg)
void verifyBuckets (ReebGraph *rg)
void verifyFaces (ReebGraph *rg)
void verifyArcs (ReebGraph *rg)
void verifyNodeDegree (ReebGraph *rg)
ReebGraph * BIF_ReebGraphFromEditMesh (void)
ReebGraph * BIF_ReebGraphMultiFromEditMesh (struct bContext *C)
void BIF_flagMultiArcs (ReebGraph *rg, int flag)
void BIF_GlobalReebGraphFromEditMesh (void)
void BIF_GlobalReebFree (void)
ReebNode * BIF_otherNodeFromIndex (ReebArc *arc, ReebNode *node)
ReebNode * BIF_NodeFromIndex (ReebArc *arc, ReebNode *node)
ReebNode * BIF_lowestLevelNode (ReebNode *node)
ReebGraph * BIF_graphForMultiNode (ReebGraph *rg, ReebNode *node)
void REEB_freeGraph (ReebGraph *rg)
void REEB_freeArc (BArc *barc)
void REEB_exportGraph (ReebGraph *rg, int count)
void REEB_draw (void)

Detailed Description

Definition in file reeb.h.


Define Documentation

#define REEB_MAX_MULTI_LEVEL   10

Definition at line 183 of file reeb.h.

Referenced by BIF_ReebGraphMultiFromEditMesh().

#define WITH_BF_REEB

Definition at line 31 of file reeb.h.


Typedef Documentation

typedef struct EmbedBucket EmbedBucket
typedef struct ReebArc ReebArc
typedef struct ReebEdge ReebEdge
typedef struct ReebGraph ReebGraph
typedef struct ReebNode ReebNode

Function Documentation

void angleToVCol ( struct EditMesh *  em,
int  index 
)
void arcToVCol ( struct ReebGraph *  rg,
struct EditMesh *  em,
int  index 
)
void BIF_flagMultiArcs ( ReebGraph *  rg,
int  flag 
)

Definition at line 226 of file reeb.c.

References BLI_flagArcs(), and ReebGraph::link_up.

Referenced by retargetGraphs().

void BIF_GlobalReebFree ( void  )
void BIF_GlobalReebGraphFromEditMesh ( void  )
ReebGraph* BIF_graphForMultiNode ( ReebGraph *  rg,
ReebNode *  node 
)
ReebNode* BIF_lowestLevelNode ( ReebNode *  node)

Definition at line 313 of file reeb.c.

References ReebNode::link_down.

ReebNode* BIF_NodeFromIndex ( ReebArc *  arc,
ReebNode *  node 
)

Definition at line 308 of file reeb.c.

References ReebArc::head, ReebNode::index, and ReebArc::tail.

Referenced by testFlipArc().

ReebNode* BIF_otherNodeFromIndex ( ReebArc *  arc,
ReebNode *  node 
)

Definition at line 303 of file reeb.c.

References ReebArc::head, ReebNode::index, and ReebArc::tail.

Referenced by retargetSubgraph().

ReebGraph* BIF_ReebGraphFromEditMesh ( void  )
ReebGraph* BIF_ReebGraphMultiFromEditMesh ( struct bContext *  C)
int filterExternalReebGraph ( ReebGraph *  rg,
float  threshold 
)
int filterInternalReebGraph ( ReebGraph *  rg,
float  threshold 
)
void filterNullReebGraph ( ReebGraph *  rg)
int filterSmartReebGraph ( ReebGraph *  rg,
float  threshold 
)
ReebGraph* generateReebGraph ( struct EditMesh *  me,
int  subdivisions 
)
void initArcIterator ( BArcIterator *  iter,
struct ReebArc *  arc,
struct ReebNode *  head 
)
void initArcIterator2 ( BArcIterator *  iter,
struct ReebArc *  arc,
int  start,
int  end 
)
void initArcIteratorStart ( BArcIterator *  iter,
struct ReebArc *  arc,
struct ReebNode *  head,
int  start 
)
ReebGraph* newReebGraph ( void  )
void postprocessGraph ( ReebGraph *  rg,
char  mode 
)
void REEB_draw ( void  )
void REEB_exportGraph ( ReebGraph *  rg,
int  count 
)
void REEB_freeArc ( BArc *  barc)
void REEB_freeGraph ( ReebGraph *  rg)
void removeNormalNodes ( ReebGraph *  rg)
void renormalizeWeight ( struct EditMesh *  em,
float  newmax 
)
void repositionNodes ( ReebGraph *  rg)
void sortArcs ( ReebGraph *  rg)

Definition at line 1247 of file reeb.c.

References ReebGraph::arcs, BLI_sortlist(), and compareArcsWeight().

Referenced by finalizeGraph().

void sortNodes ( ReebGraph *  rg)

Definition at line 1221 of file reeb.c.

References BLI_sortlist(), compareNodesWeight(), and ReebGraph::nodes.

Referenced by finalizeGraph(), and joinSubgraphs().

void verifyArcs ( ReebGraph *  rg)
void verifyBuckets ( ReebGraph *  rg)

Definition at line 558 of file reeb.c.

References ReebGraph::arcs, ListBase::first, ReebArc::next, NULL, and verifyBucketsArc().

void verifyFaces ( ReebGraph *  rg)

Definition at line 569 of file reeb.c.

References ReebGraph::arcs, BLI_ghash_size(), ReebArc::faces, ListBase::first, ReebArc::next, and NULL.

void verifyNodeDegree ( ReebGraph *  rg)
int weightFromDistance ( struct EditMesh *  em,
struct EdgeIndex *  indexed_edges 
)
int weightFromLoc ( struct EditMesh *  me,
int  axis 
)
int weightToHarmonic ( struct EditMesh *  em,
struct EdgeIndex *  indexed_edges 
)
void weightToVCol ( struct EditMesh *  em,
int  index 
)