Blender V2.61 - r43446
|
#include "DNA_listBase.h"
Go to the source code of this file.
Classes | |
struct | BGraph |
struct | BNode |
struct | BArc |
struct | BArcIterator |
struct | RadialArc |
Defines | |
#define | SHAPE_RADIX 10 |
#define | SYM_TOPOLOGICAL 1 |
#define | SYM_PHYSICAL 2 |
#define | SYM_AXIAL 4 |
#define | SYM_RADIAL 8 |
#define | SYM_SIDE_POSITIVE 1 |
#define | SYM_SIDE_NEGATIVE 2 |
#define | SYM_SIDE_RADIAL 3 |
Typedefs | |
typedef void(* | FreeArc )(struct BArc *) |
typedef void(* | FreeNode )(struct BNode *) |
typedef void(* | RadialSymmetry )(struct BNode *root_node, struct RadialArc *ring, int total) |
typedef void(* | AxialSymmetry )(struct BNode *root_node, struct BNode *node1, struct BNode *node2, struct BArc *arc1, struct BArc *arc2) |
typedef struct BGraph | BGraph |
typedef struct BNode | BNode |
typedef struct BArc | BArc |
typedef void *(* | HeadFct )(void *iter) |
typedef void *(* | TailFct )(void *iter) |
typedef void *(* | PeekFct )(void *iter, int n) |
typedef void *(* | NextFct )(void *iter) |
typedef void *(* | NextNFct )(void *iter, int n) |
typedef void *(* | PreviousFct )(void *iter) |
typedef int(* | StoppedFct )(void *iter) |
typedef struct BArcIterator | BArcIterator |
typedef struct RadialArc | RadialArc |
Functions | |
void * | IT_head (void *iter) |
void * | IT_tail (void *iter) |
void * | IT_peek (void *iter, int n) |
void * | IT_next (void *iter) |
void * | IT_nextN (void *iter, int n) |
void * | IT_previous (void *iter) |
int | IT_stopped (void *iter) |
BNode * | BLI_otherNode (BArc *arc, BNode *node) |
void | BLI_freeNode (BGraph *graph, BNode *node) |
void | BLI_removeNode (BGraph *graph, BNode *node) |
void | BLI_removeArc (BGraph *graph, BArc *arc) |
void | BLI_flagNodes (BGraph *graph, int flag) |
void | BLI_flagArcs (BGraph *graph, int flag) |
int | BLI_hasAdjacencyList (BGraph *rg) |
void | BLI_buildAdjacencyList (BGraph *rg) |
void | BLI_rebuildAdjacencyList (BGraph *rg) |
void | BLI_rebuildAdjacencyListForNode (BGraph *rg, BNode *node) |
void | BLI_freeAdjacencyList (BGraph *rg) |
int | BLI_FlagSubgraphs (BGraph *graph) |
void | BLI_ReflagSubgraph (BGraph *graph, int old_subgraph, int new_subgraph) |
int | BLI_subtreeShape (BGraph *graph, BNode *node, BArc *rootArc, int include_root) |
float | BLI_subtreeLength (BNode *node) |
void | BLI_calcGraphLength (BGraph *graph) |
void | BLI_replaceNode (BGraph *graph, BNode *node_src, BNode *node_replaced) |
void | BLI_replaceNodeInArc (BGraph *graph, BArc *arc, BNode *node_src, BNode *node_replaced) |
void | BLI_removeDoubleNodes (BGraph *graph, float limit) |
BNode * | BLI_FindNodeByPosition (BGraph *graph, float *p, float limit) |
BArc * | BLI_findConnectedArc (BGraph *graph, BArc *arc, BNode *v) |
int | BLI_isGraphCyclic (BGraph *graph) |
void | BLI_markdownSymmetry (BGraph *graph, BNode *root_node, float limit) |
void | BLI_mirrorAlongAxis (float v[3], float center[3], float axis[3]) |
Definition in file BLI_graph.h.
#define SHAPE_RADIX 10 |
Definition at line 127 of file BLI_graph.h.
Referenced by subtreeShape().
#define SYM_AXIAL 4 |
Definition at line 152 of file BLI_graph.h.
Referenced by RIG_printNode(), and testAxialSymmetry().
#define SYM_PHYSICAL 2 |
Definition at line 149 of file BLI_graph.h.
Referenced by testAxialSymmetry(), and testRadialSymmetry().
#define SYM_RADIAL 8 |
Definition at line 153 of file BLI_graph.h.
Referenced by RIG_printNode(), and testRadialSymmetry().
#define SYM_SIDE_NEGATIVE 2 |
Definition at line 159 of file BLI_graph.h.
Referenced by flagAxialSymmetry().
#define SYM_SIDE_POSITIVE 1 |
Definition at line 158 of file BLI_graph.h.
Referenced by flagAxialSymmetry().
#define SYM_SIDE_RADIAL 3 |
Definition at line 161 of file BLI_graph.h.
Referenced by testRadialSymmetry().
#define SYM_TOPOLOGICAL 1 |
Definition at line 148 of file BLI_graph.h.
Referenced by handleAxialSymmetry(), handleRadialSymmetry(), and RIG_printNode().
typedef void(* AxialSymmetry)(struct BNode *root_node, struct BNode *node1, struct BNode *node2, struct BArc *arc1, struct BArc *arc2) |
Definition at line 19 of file BLI_graph.h.
typedef struct BArcIterator BArcIterator |
Definition at line 16 of file BLI_graph.h.
Definition at line 17 of file BLI_graph.h.
typedef void*(* HeadFct)(void *iter) |
Definition at line 77 of file BLI_graph.h.
typedef void*(* NextFct)(void *iter) |
Definition at line 80 of file BLI_graph.h.
typedef void*(* NextNFct)(void *iter, int n) |
Definition at line 81 of file BLI_graph.h.
typedef void*(* PeekFct)(void *iter, int n) |
Definition at line 79 of file BLI_graph.h.
typedef void*(* PreviousFct)(void *iter) |
Definition at line 82 of file BLI_graph.h.
typedef void(* RadialSymmetry)(struct BNode *root_node, struct RadialArc *ring, int total) |
Definition at line 18 of file BLI_graph.h.
typedef int(* StoppedFct)(void *iter) |
Definition at line 83 of file BLI_graph.h.
typedef void*(* TailFct)(void *iter) |
Definition at line 78 of file BLI_graph.h.
void BLI_buildAdjacencyList | ( | BGraph * | rg | ) |
Definition at line 107 of file graph.c.
References addArcToNodeAdjacencyList(), BGraph::arcs, BNode::arcs, BNode::degree, ListBase::first, BNode::flag, BArc::head, MEM_callocN(), MEM_freeN(), BArc::next, BNode::next, BGraph::nodes, NULL, and BArc::tail.
Referenced by armatureSelectedToGraph(), BIF_ReebGraphMultiFromEditMesh(), BLI_FlagSubgraphs(), copyReebGraph(), finalizeGraph(), joinSubgraphs(), and RIG_graphFromArmature().
void BLI_calcGraphLength | ( | BGraph * | graph | ) |
Definition at line 498 of file graph.c.
References BLI_FlagSubgraphs(), BLI_subtreeLength(), BNode::degree, ListBase::first, i, BGraph::length, length(), MAX2, BNode::next, BGraph::nodes, and BNode::subgraph_index.
Referenced by BIF_ReebGraphMultiFromEditMesh().
Definition at line 414 of file graph.c.
References BGraph::arcs, ListBase::first, BArc::head, BArc::next, and BArc::tail.
Referenced by removeNormalNodes().
Definition at line 283 of file graph.c.
References distance(), ListBase::first, len_v3v3(), BGraph::nodes, and NULL.
Referenced by RIG_removeUneededOffsets().
void BLI_flagArcs | ( | BGraph * | graph, |
int | flag | ||
) |
Definition at line 91 of file graph.c.
References BGraph::arcs, ListBase::first, BArc::flag, and BArc::next.
Referenced by BIF_flagMultiArcs(), and BLI_markdownSymmetry().
void BLI_flagNodes | ( | BGraph * | graph, |
int | flag | ||
) |
Definition at line 81 of file graph.c.
References ListBase::first, BNode::flag, BNode::next, and BGraph::nodes.
Referenced by BLI_isGraphCyclic(), BLI_markdownSymmetry(), BLI_subtreeShape(), and reweightSubgraph().
int BLI_FlagSubgraphs | ( | BGraph * | graph | ) |
Definition at line 319 of file graph.c.
References BLI_buildAdjacencyList(), BLI_hasAdjacencyList(), ListBase::first, flagSubgraph(), BNode::next, BGraph::nodes, and BNode::subgraph_index.
Referenced by BLI_calcGraphLength(), and joinSubgraphs().
void BLI_freeAdjacencyList | ( | BGraph * | rg | ) |
Definition at line 172 of file graph.c.
References BNode::arcs, ListBase::first, MEM_freeN(), BNode::next, BGraph::nodes, and NULL.
Definition at line 47 of file graph.c.
References BNode::arcs, BGraph::free_node, and MEM_freeN().
Referenced by BLI_removeNode(), REEB_freeGraph(), and RIG_freeRigGraph().
int BLI_hasAdjacencyList | ( | BGraph * | rg | ) |
Definition at line 186 of file graph.c.
References BNode::arcs, ListBase::first, BNode::next, BGraph::nodes, and NULL.
Referenced by BLI_FlagSubgraphs().
int BLI_isGraphCyclic | ( | BGraph * | graph | ) |
Definition at line 391 of file graph.c.
References BLI_flagNodes(), detectCycle(), ListBase::first, BNode::flag, BNode::next, BGraph::nodes, and NULL.
Referenced by armatureSelectedToGraph(), BLI_markdownSymmetry(), joinSubgraphs(), and RIG_graphFromArmature().
Definition at line 1033 of file graph.c.
References BGraph::arcs, BNode::arcs, BLI_flagArcs(), BLI_flagNodes(), BLI_isGraphCyclic(), BNode::degree, ListBase::first, BArc::head, markdownSymmetryArc(), BArc::next, NULL, BNode::symmetry_level, BArc::symmetry_level, and BArc::tail.
Referenced by armatureSelectedToGraph(), BIF_ReebGraphMultiFromEditMesh(), and RIG_graphFromArmature().
void BLI_mirrorAlongAxis | ( | float | v[3], |
float | center[3], | ||
float | axis[3] | ||
) |
Definition at line 529 of file graph.c.
References add_v3_v3(), mul_v3_fl(), project_v3_v3v3(), and sub_v3_v3v3().
Referenced by REEB_AxialSymmetry(), REEB_RadialSymmetry(), testAxialSymmetry(), and testRadialSymmetry().
Definition at line 66 of file graph.c.
References BArc::head, and BArc::tail.
Referenced by BLI_subtreeLength(), detectCycle(), flagSubgraph(), handleAxialSymmetry(), handleRadialSymmetry(), markdownSymmetryArc(), REEB_RadialSymmetry(), retargetSubgraph(), reweightArc(), subtreeShape(), and testRadialSymmetry().
void BLI_rebuildAdjacencyList | ( | BGraph * | rg | ) |
Definition at line 140 of file graph.c.
References addArcToNodeAdjacencyList(), BGraph::arcs, BNode::arcs, BNode::degree, ListBase::first, BNode::flag, BArc::head, MEM_callocN(), MEM_freeN(), BArc::next, NULL, and BArc::tail.
Referenced by joinSubgraphsEnds().
void BLI_ReflagSubgraph | ( | BGraph * | graph, |
int | old_subgraph, | ||
int | new_subgraph | ||
) |
Definition at line 346 of file graph.c.
References ListBase::first, BNode::flag, BNode::next, and BGraph::nodes.
Referenced by joinSubgraphsEnds().
Definition at line 71 of file graph.c.
References BGraph::arcs, BLI_freelinkN(), and BGraph::free_arc.
Referenced by RIG_joinArcs().
void BLI_removeDoubleNodes | ( | BGraph * | graph, |
float | limit | ||
) |
Definition at line 266 of file graph.c.
References BLI_replaceNode(), ListBase::first, len_v3v3(), BNode::next, BGraph::nodes, and BNode::p.
Referenced by armatureSelectedToGraph(), and RIG_graphFromArmature().
Definition at line 60 of file graph.c.
References BLI_freelinkN(), BLI_freeNode(), and BGraph::nodes.
Referenced by BLI_replaceNode(), BLI_replaceNodeInArc(), filterInternalExternalReebGraph(), filterNullReebGraph(), joinSubgraphsEnds(), mergeConnectedArcs(), removeZeroNodes(), and RIG_joinArcs().
Definition at line 229 of file graph.c.
References BGraph::arcs, BLI_freelinkN(), BLI_removeNode(), BNode::degree, ListBase::first, BGraph::free_arc, BArc::head, BArc::next, and BArc::tail.
Referenced by BLI_removeDoubleNodes().
Definition at line 201 of file graph.c.
References BGraph::arcs, BLI_freelinkN(), BLI_removeNode(), BNode::degree, BGraph::free_arc, BArc::head, and BArc::tail.
Referenced by RIG_removeUneededOffsets().
float BLI_subtreeLength | ( | BNode * | node | ) |
Definition at line 476 of file graph.c.
References BNode::arcs, BLI_otherNode(), BLI_subtreeLength(), BNode::degree, BNode::flag, i, length(), BArc::length, and MAX2.
Referenced by BLI_calcGraphLength(), and BLI_subtreeLength().
Definition at line 470 of file graph.c.
References BLI_flagNodes(), and subtreeShape().
Referenced by markdownSymmetryArc(), matchMultiResolutionArc(), matchMultiResolutionNode(), and matchMultiResolutionStartingNode().
void* IT_head | ( | void * | iter | ) |
Definition at line 1095 of file graph.c.
References BArcIterator::head.
Referenced by subdivideArcBy().
void* IT_next | ( | void * | iter | ) |
Definition at line 1125 of file graph.c.
References BArcIterator::next.
Referenced by calculateArcLength(), ExtendArcBuckets(), REEB_AxialSymmetry(), REEB_RadialSymmetry(), and retargetArctoArcLength().
void* IT_nextN | ( | void * | iter, |
int | n | ||
) |
Definition at line 1131 of file graph.c.
References BArcIterator::nextN.
void* IT_peek | ( | void * | iter, |
int | n | ||
) |
Definition at line 1107 of file graph.c.
References BArcIterator::head, BArcIterator::index, BArcIterator::length, BArcIterator::peek, and BArcIterator::tail.
Referenced by calcArcCorrelation(), costDistance(), nextAdaptativeSubdivision(), nextFixedSubdivision(), nextLengthSubdivision(), retargetArctoArcAggresive(), and subdivideArcBy().
void* IT_previous | ( | void * | iter | ) |
Definition at line 1137 of file graph.c.
References BArcIterator::previous.
int IT_stopped | ( | void * | iter | ) |
Definition at line 1143 of file graph.c.
References BArcIterator::stopped.
Referenced by ExtendArcBuckets().
void* IT_tail | ( | void * | iter | ) |
Definition at line 1101 of file graph.c.
References BArcIterator::tail.