Only swap nodes if it contains a big component

This commit is contained in:
Patrick Niklaus 2015-08-06 13:20:29 +02:00
parent d4356b0453
commit 1cc75ca636

View File

@ -110,7 +110,7 @@ template <class DataFacadeT> class ViaRoutePlugin final : public BasePlugin
auto check_component_id_is_tiny = [](const phantom_node_pair &phantom_pair)
{
return phantom_pair.first.component_id != 0;
return phantom_pair.first.is_in_tiny_component();
};
const bool every_phantom_is_in_tiny_cc =
@ -131,7 +131,7 @@ template <class DataFacadeT> class ViaRoutePlugin final : public BasePlugin
auto swap_phantom_from_big_cc_into_front = [](phantom_node_pair &phantom_pair)
{
if (0 != phantom_pair.first.component_id)
if (0 != phantom_pair.first.component_id && 0 == phantom_pair.second.component_id)
{
using namespace std;
swap(phantom_pair.first, phantom_pair.second);