[overlay] use colocated for colocated cc turns, and if it is like that,

include it in turn_info_map to mark it as traversed
This commit is contained in:
Barend Gehrels 2016-01-03 14:44:12 +01:00
parent f6411ddfcf
commit 0d6f2e5285
3 changed files with 12 additions and 18 deletions

View File

@ -338,7 +338,7 @@ inline void handle_colocation_cluster(TurnPoints& turn_points,
if (ref_turn.both(operation_blocked))
{
turn.discarded = true;
turn.colocated = true;
// We can either set or not set colocated because it is not effective on blocked turns
}
if (ref_turn.both(operation_union)

View File

@ -91,14 +91,12 @@ inline void get_ring_turn_info(TurnInfoMap& turn_info_map,
++it)
{
typename boost::range_value<TurnPoints>::type const& turn_info = *it;
bool skip = turn_info.discarded
&& ! turn_info.any_blocked()
&& ! turn_info.both(operation_intersection)
;
if (turn_info.colocated)
if (turn_info.discarded
&& ! turn_info.any_blocked()
&& ! turn_info.colocated)
{
skip = true;
continue;
}
for (typename boost::range_iterator<container_type const>::type
@ -106,17 +104,13 @@ inline void get_ring_turn_info(TurnInfoMap& turn_info_map,
op_it != boost::end(turn_info.operations);
++op_it)
{
ring_identifier ring_id
ring_identifier const ring_id
(
op_it->seg_id.source_index,
op_it->seg_id.multi_index,
op_it->seg_id.ring_index
);
if (! skip)
{
turn_info_map[ring_id].has_normal_turn = true;
}
turn_info_map[ring_id].has_normal_turn = true;
}
}
}

View File

@ -235,7 +235,11 @@ struct map_visitor
bool lab2 = label_operation(turn, 1, out);
std::string style = "fill:rgb(0,0,0);font-family:Arial;font-size:8px";
if (turn.discarded)
if (turn.colocated)
{
style = "fill:rgb(255,0,0);font-family:Arial;font-size:8px";
}
else if (turn.discarded)
{
style = "fill:rgb(92,92,92);font-family:Arial;font-size:6px";
}
@ -243,10 +247,6 @@ struct map_visitor
{
style = "fill:rgb(0,0,255);font-family:Arial;font-size:8px";
}
else if (turn.colocated)
{
style = "fill:rgb(255,0,0);font-family:Arial;font-size:8px";
}
else if (! lab1 || ! lab2)
{
style = "fill:rgb(0,0,255);font-family:Arial;font-size:6px";