Integrate internal cell scan into customizer

This commit is contained in:
Patrick Niklaus 2017-03-20 15:28:47 +00:00 committed by Patrick Niklaus
parent 2b397942fe
commit b085add973

View File

@ -116,12 +116,11 @@ class CellCustomizer
} }
// Relax base graph edges if a sub-cell border edge // Relax base graph edges if a sub-cell border edge
for (auto edge : graph.GetAdjacentEdgeRange(node)) for (auto edge : graph.GetInternalEdgeRange(level, node))
{ {
const NodeID to = graph.GetTarget(edge); const NodeID to = graph.GetTarget(edge);
const auto &data = graph.GetEdgeData(edge); const auto &data = graph.GetEdgeData(edge);
if (data.forward && partition.GetCell(level, to) == id && if (data.forward && (first_level ||
(first_level ||
partition.GetCell(level - 1, node) != partition.GetCell(level - 1, to))) partition.GetCell(level - 1, node) != partition.GetCell(level - 1, to)))
{ {
const EdgeWeight to_weight = data.weight + weight; const EdgeWeight to_weight = data.weight + weight;