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)
ReebGraphgenerateReebGraph (struct EditMesh *me, int subdivisions)
ReebGraphnewReebGraph (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)
ReebGraphBIF_ReebGraphFromEditMesh (void)
ReebGraphBIF_ReebGraphMultiFromEditMesh (struct bContext *C)
void BIF_flagMultiArcs (ReebGraph *rg, int flag)
void BIF_GlobalReebGraphFromEditMesh (void)
void BIF_GlobalReebFree (void)
ReebNodeBIF_otherNodeFromIndex (ReebArc *arc, ReebNode *node)
ReebNodeBIF_NodeFromIndex (ReebArc *arc, ReebNode *node)
ReebNodeBIF_lowestLevelNode (ReebNode *node)
ReebGraphBIF_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 
)