本文整理汇总了C++中MultilevelGraph::weight方法的典型用法代码示例。如果您正苦于以下问题:C++ MultilevelGraph::weight方法的具体用法?C++ MultilevelGraph::weight怎么用?C++ MultilevelGraph::weight使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MultilevelGraph
的用法示例。
在下文中一共展示了MultilevelGraph::weight方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: placeOneNode
void BarycenterPlacer::placeOneNode(MultilevelGraph &MLG)
{
node merged = MLG.undoLastMerge();
double x = 0.0;
double y = 0.0;
double i = 0.0;
for(adjEntry adj : merged->adjEdges) {
if(m_weightedPositions) {
double weight = 1.0 / MLG.weight(adj->theEdge());
i = i + weight;
x += MLG.x(adj->twinNode()) * weight;
y += MLG.y(adj->twinNode()) * weight;
} else {
i = i + 1.f;
x += MLG.x(adj->twinNode());
y += MLG.y(adj->twinNode());
}
}
OGDF_ASSERT(i > 0);
x = x / i;
y = y / i;
MLG.x(merged, x + ((m_randomOffset)?(float)randomDouble(-1.0, 1.0):0.f));
MLG.y(merged, y + ((m_randomOffset)?(float)randomDouble(-1.0, 1.0):0.f));
}
示例2: call
void ModularMultilevelMixer::call(MultilevelGraph &MLG)
{
const Graph &G = MLG.getGraph();
m_errorCode = ercNone;
clock_t time = clock();
if ((m_multilevelBuilder.valid() == false || m_initialPlacement.valid() == false) && m_oneLevelLayoutModule.valid() == false) {
OGDF_THROW(AlgorithmFailureException);
}
if (m_fixedEdgeLength > 0.0) {
edge e;
forall_edges(e,G) {
MLG.weight(e, m_fixedEdgeLength);
}