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:
authorVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2018-04-24 18:23:51 +0300
committerAleksandr Zatsepin <alexzatsepin@users.noreply.github.com>2018-04-25 15:38:50 +0300
commit033e38343146162bcece9545ca636fba19cf5b91 (patch)
treed2dc8a051190f0ffc6fb648832c205612f5307e4 /routing
parentb566fcf4870a5ca9a6e3637b7d605c10d8359d1b (diff)
Changing turn angles in rightmost and leftmost direction.
Diffstat (limited to 'routing')
-rw-r--r--routing/routing_integration_tests/bicycle_turn_test.cpp6
-rw-r--r--routing/routing_integration_tests/turn_test.cpp18
-rw-r--r--routing/turns_generator.cpp8
3 files changed, 17 insertions, 15 deletions
diff --git a/routing/routing_integration_tests/bicycle_turn_test.cpp b/routing/routing_integration_tests/bicycle_turn_test.cpp
index 337ef612ea..c82ecb963c 100644
--- a/routing/routing_integration_tests/bicycle_turn_test.cpp
+++ b/routing/routing_integration_tests/bicycle_turn_test.cpp
@@ -63,7 +63,7 @@ UNIT_TEST(RussiaMoscowSalameiNerisPossibleTurnCorrectionBicycleWayTurnTest)
integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightRight);
integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft);
integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnSlightLeft);
- integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::GoStraight);
+ integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightRight);
}
// Test that there's no uturn notification in case of zero point edges on two way edges.
@@ -79,7 +79,7 @@ UNIT_TEST(RussiaMoscowSalameiNerisNoUTurnBicycleWayTurnTest)
TEST_EQUAL(result, IRouter::NoError, ());
integration::TestTurnCount(route, 1 /* expectedTurnCount */);
- integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight);
+ integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightRight);
}
UNIT_TEST(RussiaMoscowSevTushinoParkBicycleOnePointOnewayRoadTurnTest)
@@ -139,7 +139,7 @@ UNIT_TEST(RussiaMoscowSvobodiOnewayBicycleWayTurnTest)
integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnLeft);
integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightRight);
integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnSlightLeft);
- integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::GoStraight);
+ integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightRight);
integration::GetNthTurn(route, 4).TestValid().TestOneOfDirections(
{CarDirection::TurnSlightRight, CarDirection::TurnRight});
integration::GetNthTurn(route, 5).TestValid().TestDirection(CarDirection::TurnLeft);
diff --git a/routing/routing_integration_tests/turn_test.cpp b/routing/routing_integration_tests/turn_test.cpp
index ed18b6e905..f4b695bb70 100644
--- a/routing/routing_integration_tests/turn_test.cpp
+++ b/routing/routing_integration_tests/turn_test.cpp
@@ -160,7 +160,7 @@ UNIT_TEST(RussiaMoscowPlanetnayaOnlyStraightTest)
integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight);
integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnRight);
integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnLeft);
- integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::GoStraight);
+ integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightRight);
integration::GetNthTurn(route, 4).TestValid().TestDirection(CarDirection::TurnRight);
integration::TestRouteLength(route, 454.);
@@ -199,7 +199,7 @@ UNIT_TEST(RussiaMoscowTTKVarshavskoeShosseOutTurnTest)
TEST_EQUAL(result, IRouter::NoError, ());
integration::TestTurnCount(route, 2 /* expectedTurnCount */);
integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::ExitHighwayToRight);
- integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft);
+ integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight);
}
UNIT_TEST(RussiaMoscowTTKUTurnTest)
@@ -216,7 +216,7 @@ UNIT_TEST(RussiaMoscowTTKUTurnTest)
integration::TestTurnCount(route, 4 /* expectedTurnCount */);
integration::GetNthTurn(route, 0).TestValid().TestOneOfDirections(
{CarDirection::TurnSlightRight, CarDirection::TurnRight});
- integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft);
+ integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight);
integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::UTurnLeft);
integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightLeft);
}
@@ -385,7 +385,7 @@ UNIT_TEST(ThailandPhuketNearPrabarameeRoad)
TEST_EQUAL(result, IRouter::NoError, ());
integration::TestTurnCount(route, 1 /* expectedTurnCount */);
- integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightLeft);
+ integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::GoStraight);
}
// Test case: a route goes in Moscow from Varshavskoe shosse (from the city center direction)
@@ -512,7 +512,9 @@ UNIT_TEST(RussiaMoscowLeningradskiyPrptToTTKTest)
TEST_EQUAL(result, IRouter::NoError, ());
integration::TestTurnCount(route, 2 /* expectedTurnCount */);
integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::ExitHighwayToRight);
- integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight);
+ // @TODO(bykoianko) It's a case when two possible ways go slight left.
+ // A special processing should be implemented for such cases.
+ integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft);
}
UNIT_TEST(RussiaMoscowLeningradskiyPrptDublToTTKTest)
@@ -528,7 +530,7 @@ UNIT_TEST(RussiaMoscowLeningradskiyPrptDublToTTKTest)
TEST_EQUAL(result, IRouter::NoError, ());
integration::TestTurnCount(route, 2 /* expectedTurnCount */);
integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightLeft);
- integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight);
+ integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft);
}
UNIT_TEST(RussiaMoscowSvobodaStTest)
@@ -543,7 +545,7 @@ UNIT_TEST(RussiaMoscowSvobodaStTest)
TEST_EQUAL(result, IRouter::NoError, ());
integration::TestTurnCount(route, 1 /* expectedTurnCount */);
- integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightLeft);
+ integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::GoStraight);
}
UNIT_TEST(RussiaTiinskTest)
@@ -766,7 +768,7 @@ UNIT_TEST(NetherlandsBarneveldTest)
TEST_EQUAL(result, IRouter::NoError, ());
integration::TestTurnCount(route, 1 /* expectedTurnCount */);
- integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightRight);
+ integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::GoStraight);
}
UNIT_TEST(GermanyRaunheimAirportTest)
diff --git a/routing/turns_generator.cpp b/routing/turns_generator.cpp
index d10d8036f7..73d53fd872 100644
--- a/routing/turns_generator.cpp
+++ b/routing/turns_generator.cpp
@@ -628,10 +628,10 @@ CarDirection RightmostDirection(const double angle)
{
static vector<pair<double, CarDirection>> const kLowerBounds = {
{157., CarDirection::TurnSharpRight},
- {40., CarDirection::TurnRight},
- {-10., CarDirection::TurnSlightRight},
- {-20., CarDirection::GoStraight},
- {-60., CarDirection::TurnSlightLeft},
+ {50., CarDirection::TurnRight},
+ {2., CarDirection::TurnSlightRight},
+ {-10., CarDirection::GoStraight},
+ {-50., CarDirection::TurnSlightLeft},
{-157., CarDirection::TurnLeft},
{-180., CarDirection::TurnSharpLeft}};