diff --git a/indexer/feature.hpp b/indexer/feature.hpp index a96882f344..5407b2390b 100644 --- a/indexer/feature.hpp +++ b/indexer/feature.hpp @@ -29,7 +29,7 @@ class FeatureBase public: - typedef char const * BufferT; + using BufferT = char const *; void Deserialize(feature::LoaderBase * pLoader, BufferT buffer); diff --git a/routing/turns_generator.cpp b/routing/turns_generator.cpp index 6e351fda5c..ad63403e19 100644 --- a/routing/turns_generator.cpp +++ b/routing/turns_generator.cpp @@ -49,7 +49,7 @@ struct TurnCandidate TurnCandidate(double a, NodeID n) : angle(a), node(n) {} }; -typedef vector TTurnCandidates; +using TTurnCandidates = vector; /*! * \brief The Point2Geometry class is responsable for looking for all adjacent to junctionPoint @@ -251,8 +251,10 @@ bool KeepTurnByIngoingEdges(m2::PointD const & junctionPoint, m2::PointD const & outgoingPoint, bool hasMultiTurns, RoutingMapping const & routingMapping, Index const & index) { - bool const isGoStraightOrSlightTurn = IsGoStraightOrSlightTurn(IntermediateDirection( - my::RadToDeg(PiMinusTwoVectorsAngle(junctionPoint, ingoingPointOneSegment, outgoingPoint)))); + double const turnAngle = + my::RadToDeg(PiMinusTwoVectorsAngle(junctionPoint, ingoingPointOneSegment, outgoingPoint)); + bool const isGoStraightOrSlightTurn = IsGoStraightOrSlightTurn(IntermediateDirection(turnAngle)); + // The code below is resposible for cases when there is only one way to leave the junction. // Such junction has to be kept as a turn when it's not a slight turn and it has ingoing edges // (one or more); @@ -738,8 +740,8 @@ void GetTurnDirection(Index const & index, TurnInfo & turnInfo, TurnItem & turn) { return end > start ? start + i : start - i; }); - double const a = my::RadToDeg(PiMinusTwoVectorsAngle(junctionPoint, ingoingPoint, outgoingPoint)); - TurnDirection const intermediateDirection = IntermediateDirection(a); + double const turnAngle = my::RadToDeg(PiMinusTwoVectorsAngle(junctionPoint, ingoingPoint, outgoingPoint)); + TurnDirection const intermediateDirection = IntermediateDirection(turnAngle); // Getting all the information about ingoing and outgoing edges. turnInfo.m_isIngoingEdgeRoundabout = ftypes::IsRoundAboutChecker::Instance()(ingoingFeature); @@ -768,7 +770,7 @@ void GetTurnDirection(Index const & index, TurnInfo & turnInfo, TurnItem & turn) turnInfo.m_routeMapping, nodes); size_t const nodesSize = nodes.size(); - bool const hasMultiTurns = (nodesSize >= 2); + bool const hasMultiTurns = nodesSize > 1; if (nodesSize == 0) return; @@ -780,9 +782,9 @@ void GetTurnDirection(Index const & index, TurnInfo & turnInfo, TurnItem & turn) else { if (nodes.front().node == turnInfo.m_outgoingNodeID) - turn.m_turn = LeftmostDirection(a); + turn.m_turn = LeftmostDirection(turnAngle); else if (nodes.back().node == turnInfo.m_outgoingNodeID) - turn.m_turn = RightmostDirection(a); + turn.m_turn = RightmostDirection(turnAngle); else turn.m_turn = intermediateDirection; } diff --git a/routing/turns_generator.hpp b/routing/turns_generator.hpp index c9c250ea26..83461c6506 100644 --- a/routing/turns_generator.hpp +++ b/routing/turns_generator.hpp @@ -26,7 +26,7 @@ namespace turns /*! * \brief Returns a segment index by STL-like range [s, e) of segments indices for the passed node. */ -typedef function)> TGetIndexFunction; +using TGetIndexFunction = function)>; /*! * \brief The TurnInfo struct is an accumulator for all junction information. @@ -116,6 +116,9 @@ bool CheckRoundaboutExit(bool isIngoingEdgeRoundabout, bool isOutgoingEdgeRounda */ TurnDirection GetRoundaboutDirection(bool isIngoingEdgeRoundabout, bool isOutgoingEdgeRoundabout, bool isMultiTurnJunction, bool keepTurnByHighwayClass); + + + /*! * \brief GetTurnDirection makes a primary decision about turns on the route. * \param turnInfo is used for cashing some information while turn calculation.