From 444efc78d318f936c647967e3fad77679f706d47 Mon Sep 17 00:00:00 2001 From: Yuri Gorshenin Date: Mon, 9 Oct 2017 17:37:20 +0300 Subject: [PATCH] Review fixes. --- generator/cities_boundaries_builder.cpp | 3 +-- generator/osm_source.cpp | 3 ++- generator/osm_translator.hpp | 5 ++--- generator/utils.hpp | 4 +++- indexer/cities_boundaries_serdes.hpp | 9 ++++++--- indexer/indexer_tests/cities_boundaries_serdes_tests.cpp | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/generator/cities_boundaries_builder.cpp b/generator/cities_boundaries_builder.cpp index c59cf3cb46..271ffa7570 100644 --- a/generator/cities_boundaries_builder.cpp +++ b/generator/cities_boundaries_builder.cpp @@ -14,11 +14,10 @@ #include "platform/local_country_file.hpp" -#include "coding/compressed_bit_vector.hpp" - #include "base/assert.hpp" #include "base/checked_cast.hpp" +#include #include #include diff --git a/generator/osm_source.cpp b/generator/osm_source.cpp index 0b6406a60b..49366a21df 100644 --- a/generator/osm_source.cpp +++ b/generator/osm_source.cpp @@ -1,3 +1,5 @@ +#include "generator/osm_source.hpp" + #include "generator/cities_boundaries_builder.hpp" #include "generator/coastlines_generator.hpp" #include "generator/feature_generator.hpp" @@ -5,7 +7,6 @@ #include "generator/intermediate_elements.hpp" #include "generator/osm_element.hpp" #include "generator/osm_o5m_source.hpp" -#include "generator/osm_source.hpp" #include "generator/osm_translator.hpp" #include "generator/osm_xml_source.hpp" #include "generator/polygonizer.hpp" diff --git a/generator/osm_translator.hpp b/generator/osm_translator.hpp index 5872fb1e84..976812f111 100644 --- a/generator/osm_translator.hpp +++ b/generator/osm_translator.hpp @@ -380,9 +380,6 @@ class OsmToFeatureTranslator if (!ft.IsGeometryClosed()) return; - // Key point here is that IsDrawableLike and RemoveNoDrawableTypes - // work a bit different for GEOM_AREA. - if (IsCityBoundary(params)) { auto fb = ft; @@ -390,6 +387,8 @@ class OsmToFeatureTranslator m_emitter.EmitCityBoundary(fb, params); } + // Key point here is that IsDrawableLike and RemoveNoDrawableTypes + // work a bit different for GEOM_AREA. if (IsDrawableLike(params.m_Types, GEOM_AREA)) { // Make the area feature if it has unique area styles. diff --git a/generator/utils.hpp b/generator/utils.hpp index db026718e7..3063ca5a94 100644 --- a/generator/utils.hpp +++ b/generator/utils.hpp @@ -9,12 +9,14 @@ #include "base/logging.hpp" +#include + namespace generator { void LoadIndex(Index & index); template -bool ForEachOsmId2FeatureId(string const & path, ToDo && toDo) +bool ForEachOsmId2FeatureId(std::string const & path, ToDo && toDo) { gen::OsmID2FeatureID mapping; try diff --git a/indexer/cities_boundaries_serdes.hpp b/indexer/cities_boundaries_serdes.hpp index c19e46ac1e..b537c1c4f5 100644 --- a/indexer/cities_boundaries_serdes.hpp +++ b/indexer/cities_boundaries_serdes.hpp @@ -18,6 +18,7 @@ #include "geometry/point2d.hpp" #include "base/assert.hpp" +#include "base/checked_cast.hpp" #include "base/logging.hpp" #include "base/macros.hpp" #include "base/visitor.hpp" @@ -147,8 +148,10 @@ public: void EncodeDelta(m2::PointU const & curr, m2::PointU const & next) { - auto const dx = static_cast(next.x) - static_cast(curr.x); - auto const dy = static_cast(next.y) - static_cast(curr.y); + auto const dx = base::asserted_cast(next.x) - + base::asserted_cast(curr.x); + auto const dy = base::asserted_cast(next.y) - + base::asserted_cast(curr.y); WriteVarInt(m_sink, dx); WriteVarInt(m_sink, dy); } @@ -308,7 +311,7 @@ public: { auto const dx = ReadVarUint(m_source); auto const dy = ReadVarUint(m_source); - return m2::PointU(static_cast(dx), static_cast(dy)); + return m2::PointU(dx, dy); } Source & m_source; diff --git a/indexer/indexer_tests/cities_boundaries_serdes_tests.cpp b/indexer/indexer_tests/cities_boundaries_serdes_tests.cpp index 534044be3d..cf608669a1 100644 --- a/indexer/indexer_tests/cities_boundaries_serdes_tests.cpp +++ b/indexer/indexer_tests/cities_boundaries_serdes_tests.cpp @@ -26,7 +26,7 @@ using Boundaries = vector; static_assert(CitiesBoundariesSerDes::kLatestVersion == 0, ""); static_assert(CitiesBoundariesSerDes::HeaderV0::kDefaultCoordBits == 19, ""); -// Precision of mercator coords encoded with 19 bits. +// Absolute precision of mercator coords encoded with 19 bits. double const kEps = 1e-3; void TestEqual(vector const & lhs, vector const & rhs)