Blender V2.61 - r43446
|
#include "DNA_listBase.h"
#include "BLI_graph.h"
Go to the source code of this file.
Definition in file reeb.h.
#define REEB_MAX_MULTI_LEVEL 10 |
Definition at line 183 of file reeb.h.
Referenced by BIF_ReebGraphMultiFromEditMesh().
typedef struct EmbedBucket EmbedBucket |
typedef struct ReebArcIterator ReebArcIterator |
void angleToVCol | ( | 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 | ) |
Definition at line 398 of file reeb.c.
References ReebGraph::link_up, ReebGraph::multi_level, and ReebNode::multi_level.
Referenced by matchMultiResolutionArc(), and matchMultiResolutionNode().
Definition at line 313 of file reeb.c.
References ReebNode::link_down.
Definition at line 308 of file reeb.c.
References ReebArc::head, ReebNode::index, and ReebArc::tail.
Referenced by testFlipArc().
Definition at line 303 of file reeb.c.
References ReebArc::head, ReebNode::index, and ReebArc::tail.
Referenced by retargetSubgraph().
ReebGraph* BIF_ReebGraphFromEditMesh | ( | void | ) |
Definition at line 3378 of file reeb.c.
References allocVertexData(), BLI_buildAdjacencyList(), BLI_calcGraphLength(), BLI_markdownSymmetry(), buildIndexedEdges(), copyReebGraph(), CTX_data_edit_object(), CTX_data_scene(), data, Object::data, filterGraph(), filterNullReebGraph(), finalizeGraph(), ListBase::first, freeEdgeIndex(), generateReebGraph(), i, joinSubgraphs(), BGraph::length, MEM_freeN(), BGraph::nodes, NULL, REEB_MAX_MULTI_LEVEL, relinkNodes(), removeNormalNodes(), renormalizeWeight(), repositionNodes(), SKGEN_FILTER_SMART, SKGEN_HARMONIC, ToolSettings::skgen_options, ToolSettings::skgen_postpro, ToolSettings::skgen_postpro_passes, ToolSettings::skgen_resolution, ToolSettings::skgen_symmetry_limit, ToolSettings::skgen_threshold_external, ToolSettings::skgen_threshold_internal, Scene::toolsettings, verifyMultiResolutionLinks(), weightFromDistance(), and weightToHarmonic().
Referenced by BIF_retargetArmature().
int filterExternalReebGraph | ( | ReebGraph * | rg, |
float | threshold | ||
) |
int filterInternalReebGraph | ( | ReebGraph * | rg, |
float | threshold | ||
) |
void filterNullReebGraph | ( | ReebGraph * | rg | ) |
Definition at line 1574 of file reeb.c.
References ReebGraph::arcs, ReebArc::bcount, blend(), BLI_remlink(), BLI_removeNode(), ReebNode::degree, filterArc(), ListBase::first, ReebArc::head, interp_v3_v3v3(), ReebArc::next, NULL, ReebNode::p, REEB_freeArc(), and ReebArc::tail.
Referenced by BIF_ReebGraphMultiFromEditMesh().
int filterSmartReebGraph | ( | ReebGraph * | rg, |
float | threshold | ||
) |
Definition at line 2557 of file reeb.c.
References addNode(), addTriangleToGraph(), BLI_countlist(), EditVert::f2, EditMesh::faces, ListBase::first, EditFace::h, EditVert::h, newReebGraph(), EditFace::next, EditVert::next, nodeData(), removeNormalNodes(), removeZeroNodes(), renormalizeWeight(), ReebGraph::resolution, spreadWeight(), EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, and EditMesh::verts.
Referenced by BIF_ReebGraphMultiFromEditMesh().
void initArcIterator | ( | BArcIterator * | iter, |
struct ReebArc * | arc, | ||
struct ReebNode * | head | ||
) |
Definition at line 3177 of file reeb.c.
References ReebArcIterator::arc, ReebArc::bcount, ReebArcIterator::end, ReebArc::head, ReebArcIterator::index, initIteratorFct(), ReebArcIterator::length, ReebArcIterator::start, and ReebArcIterator::stride.
Referenced by calculateArcLength(), ExtendArcBuckets(), filterSmartReebGraph(), REEB_AxialSymmetry(), REEB_RadialSymmetry(), retargetArctoArcAggresive(), and retargetArctoArcLength().
void initArcIterator2 | ( | BArcIterator * | iter, |
struct ReebArc * | arc, | ||
int | start, | ||
int | end | ||
) |
Definition at line 3232 of file reeb.c.
References abs(), ReebArcIterator::arc, ReebArcIterator::end, ReebArcIterator::index, initIteratorFct(), ReebArcIterator::length, ReebArcIterator::start, and ReebArcIterator::stride.
void initArcIteratorStart | ( | BArcIterator * | iter, |
struct ReebArc * | arc, | ||
struct ReebNode * | head, | ||
int | start | ||
) |
Definition at line 3202 of file reeb.c.
References ReebArcIterator::arc, ReebArc::bcount, ReebArcIterator::end, ReebArc::head, ReebArcIterator::index, initIteratorFct(), ReebArcIterator::length, ReebArcIterator::start, and ReebArcIterator::stride.
ReebGraph* newReebGraph | ( | void | ) |
Definition at line 209 of file reeb.c.
References ReebGraph::axial_symmetry, BLI_edgehash_new(), ReebGraph::emap, ReebGraph::free_arc, ReebGraph::free_node, MEM_callocN(), NULL, ReebGraph::radial_symmetry, REEB_AxialSymmetry(), REEB_freeArc(), REEB_RadialSymmetry(), and ReebGraph::totnodes.
Referenced by copyReebGraph(), and generateReebGraph().
void postprocessGraph | ( | ReebGraph * | rg, |
char | mode | ||
) |
Definition at line 1162 of file reeb.c.
References ReebGraph::arcs, ReebArc::bcount, ReebArc::buckets, ListBase::first, interp_v3_v3v3(), ReebArc::next, p, SKGEN_AVERAGE, SKGEN_SHARPEN, and SKGEN_SMOOTH.
Referenced by finalizeGraph().
void REEB_draw | ( | void | ) |
void REEB_exportGraph | ( | ReebGraph * | rg, |
int | count | ||
) |
Definition at line 2030 of file reeb.c.
References add_v3_v3v3(), ReebArc::angle, ReebGraph::arcs, ReebArc::bcount, BLI_ghash_size(), ReebArc::buckets, exportNode(), ReebArc::faces, ListBase::first, ReebArc::head, i, mul_v3_fl(), ReebArc::next, EmbedBucket::nv, ReebNode::p, EmbedBucket::p, p, and ReebArc::tail.
void REEB_freeArc | ( | BArc * | barc | ) |
Definition at line 162 of file reeb.c.
References BLI_freelistN(), BLI_ghash_free(), ReebArc::buckets, ReebArc::edges, ReebArc::faces, MEM_freeN(), and NULL.
Referenced by filterArc(), filterCyclesReebGraph(), filterInternalExternalReebGraph(), filterNullReebGraph(), filterSmartReebGraph(), mergeArcs(), mergeConnectedArcs(), newReebGraph(), REEB_freeGraph(), and sk_retargetStroke().
void REEB_freeGraph | ( | ReebGraph * | rg | ) |
Definition at line 176 of file reeb.c.
References ReebGraph::arcs, BLI_edgehash_free(), BLI_freelistN(), BLI_freeNode(), ReebGraph::emap, ListBase::first, ReebGraph::link_up, MEM_freeN(), ReebArc::next, next, ReebNode::next, ReebGraph::nodes, NULL, REEB_freeArc(), and REEB_freeGraph().
Referenced by REEB_freeGraph(), and RIG_freeRigGraph().
void removeNormalNodes | ( | ReebGraph * | rg | ) |
Definition at line 2085 of file reeb.c.
References ReebGraph::arcs, BLI_findConnectedArc(), ReebNode::degree, ListBase::first, ReebArc::head, mergeConnectedArcs(), ReebArc::next, ReebArc::tail, and ReebNode::weight.
Referenced by BIF_ReebGraphMultiFromEditMesh(), filterGraph(), generateReebGraph(), and joinSubgraphs().
void renormalizeWeight | ( | struct EditMesh * | em, |
float | newmax | ||
) |
Definition at line 2636 of file reeb.c.
References BLI_countlist(), ListBase::first, MAX2, MIN2, EditVert::next, NULL, EditMesh::verts, weightData(), and weightSetData().
Referenced by BIF_ReebGraphMultiFromEditMesh(), and generateReebGraph().
void repositionNodes | ( | ReebGraph * | rg | ) |
Definition at line 472 of file reeb.c.
References add_v3_v3(), ReebGraph::arcs, ReebNode::degree, ListBase::first, ReebArc::head, mul_v3_fl(), BArc::next, BNode::next, ReebGraph::nodes, NULL, ReebNode::p, p, BNode::p, ReebArc::tail, and VECCOPY.
Referenced by BIF_ReebGraphMultiFromEditMesh(), and filterGraph().
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 | ) |
Definition at line 582 of file reeb.c.
References ReebGraph::arcs, ListBase::first, ReebArc::head, ReebArc::next, ReebArc::tail, and ReebNode::weight.
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 | ) |
Definition at line 500 of file reeb.c.
References ReebGraph::arcs, ReebNode::degree, ListBase::first, ReebArc::head, ReebNode::index, ReebNode::next, ReebArc::next, ReebGraph::nodes, NULL, ReebArc::tail, and ReebNode::weight.
Definition at line 3027 of file reeb.c.
References BLI_countlist(), EditVert::co, distance(), EditMesh::edges, EditVert::f, EditVert::f1, ListBase::first, FLT_MAX, EditEdge::fp, EditVert::h, len_v3v3(), EditEdge::next, EditVert::next, NULL, SELECT, shortestPathsFromVert(), EditEdge::tmp, EditEdge::v1, EditEdge::v2, EditMesh::verts, weightData(), and weightSetData().
Referenced by BIF_ReebGraphMultiFromEditMesh().
int weightFromLoc | ( | struct EditMesh * | me, |
int | axis | ||
) |
Definition at line 2665 of file reeb.c.
References BLI_countlist(), EditVert::co, ListBase::first, EditVert::next, NULL, EditMesh::verts, and weightSetData().
Definition at line 2726 of file reeb.c.
References addTriangle(), EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EditVert::f1, EditMesh::faces, ListBase::first, EditVert::h, EditFace::h, EditEdge::l, EditEdge::next, EditFace::next, EditVert::next, NextEdgeForVert(), NL_MATRIX, NL_NB_VARIABLES, NL_SYSTEM, NL_TRUE, nlBegin(), nlDeleteContext(), nlEnd(), nlGetCurrent(), nlGetVariable(), nlLockVariable(), nlNewContext(), nlSetVariable(), nlSolveAdvanced(), nlSolverParameteri(), NULL, EditEdge::tmp, EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, EditMesh::verts, simple_enum_gen::w, weightData(), and weightSetData().
Referenced by BIF_ReebGraphMultiFromEditMesh().
void weightToVCol | ( | struct EditMesh * | em, |
int | index | ||
) |