Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaria Volvenkova <d.volvenkova@corp.mail.ru>2016-11-23 16:18:28 +0300
committerDaria Volvenkova <d.volvenkova@corp.mail.ru>2016-11-23 16:21:18 +0300
commit6e81cdf59b2417264983399f49d3b4ad566ed2c5 (patch)
tree03a1b59fde26011c4d9e273eb952239a5316fb86 /drape_frontend
parentf629da30d28732f748927bc8a0e42b4d7baba150 (diff)
Check mwm on left-hand traffic.
Diffstat (limited to 'drape_frontend')
-rw-r--r--drape_frontend/rule_drawer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/drape_frontend/rule_drawer.cpp b/drape_frontend/rule_drawer.cpp
index 3ada0a3f72..69c21481de 100644
--- a/drape_frontend/rule_drawer.cpp
+++ b/drape_frontend/rule_drawer.cpp
@@ -47,6 +47,8 @@ void ExtractTrafficGeometry(FeatureType const & f, df::RoadClass const & roadCla
if (polyline.GetSize() < 2)
return;
+ bool const isLeftHandTraffic = f.GetID().m_mwmId.GetInfo()->GetRegionData().Get(feature::RegionData::RD_DRIVING) == "l";
+
static vector<uint8_t> directions = {traffic::TrafficInfo::RoadSegmentId::kForwardDirection,
traffic::TrafficInfo::RoadSegmentId::kReverseDirection};
auto & segments = geometry[f.GetID().m_mwmId];
@@ -56,7 +58,10 @@ void ExtractTrafficGeometry(FeatureType const & f, df::RoadClass const & roadCla
for (size_t dirIndex = 0; dirIndex < directions.size(); ++dirIndex)
{
auto const sid = traffic::TrafficInfo::RoadSegmentId(f.GetID().m_index, segmentIndex, directions[dirIndex]);
- bool const isReversed = (directions[dirIndex] == traffic::TrafficInfo::RoadSegmentId::kReverseDirection);
+ bool isReversed = (directions[dirIndex] == traffic::TrafficInfo::RoadSegmentId::kReverseDirection);
+ if (isLeftHandTraffic)
+ isReversed = !isReversed;
+
segments.emplace_back(sid, df::TrafficSegmentGeometry(polyline.ExtractSegment(segmentIndex, isReversed), roadClass));
}
}