diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2018-04-24 18:23:51 +0300 |
---|---|---|
committer | Aleksandr Zatsepin <alexzatsepin@users.noreply.github.com> | 2018-04-25 15:38:50 +0300 |
commit | 033e38343146162bcece9545ca636fba19cf5b91 (patch) | |
tree | d2dc8a051190f0ffc6fb648832c205612f5307e4 /routing | |
parent | b566fcf4870a5ca9a6e3637b7d605c10d8359d1b (diff) |
Changing turn angles in rightmost and leftmost direction.
Diffstat (limited to 'routing')
-rw-r--r-- | routing/routing_integration_tests/bicycle_turn_test.cpp | 6 | ||||
-rw-r--r-- | routing/routing_integration_tests/turn_test.cpp | 18 | ||||
-rw-r--r-- | routing/turns_generator.cpp | 8 |
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}}; |