diff options
author | Aleksandr Zatsepin <alexzatsepin@users.noreply.github.com> | 2016-12-02 19:42:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-02 19:42:47 +0300 |
commit | 9eae4de5a65a3ba752cdcd77ae120289b4bd9c31 (patch) | |
tree | 37f268abf4eee00627c696690d4915011b9777c2 | |
parent | 21fa73463e9358f0c00948d475c73c7e4330d861 (diff) | |
parent | a5dd351b41cb88e8180db429f72e5f8b17345b0a (diff) |
Fixed crash on segment vector normalization.
-rw-r--r-- | drape_frontend/rule_drawer.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drape_frontend/rule_drawer.cpp b/drape_frontend/rule_drawer.cpp index fcddf690cf..548cc08efe 100644 --- a/drape_frontend/rule_drawer.cpp +++ b/drape_frontend/rule_drawer.cpp @@ -80,7 +80,8 @@ void ExtractTrafficGeometry(FeatureType const & f, df::RoadClass const & roadCla auto const segment = polyline.ExtractSegment(segIndex, isReversed); ASSERT_EQUAL(segment.size(), 2, ()); - if (needTwoWayOffset) + double const kEps = 1e-5; + if (needTwoWayOffset && !segment[0].EqualDxDy(segment[1], kEps)) { m2::PointD const tangent = (segment[1] - segment[0]).Normalize(); m2::PointD const normal = isLeftHandTraffic ? m2::PointD(-tangent.y, tangent.x) : |