From dc74351cbf6079079137015ce1ae25846bb9e1a0 Mon Sep 17 00:00:00 2001 From: Maksim Andrianov Date: Tue, 13 Aug 2019 18:54:16 +0300 Subject: [PATCH] [generator] Removed unused files. --- generator/emitter_booking.hpp | 49 -------------- generator/emitter_coastline.cpp | 66 ------------------- generator/emitter_factory.hpp | 54 ---------------- generator/emitter_interface.hpp | 29 --------- generator/emitter_noop.hpp | 25 -------- generator/emitter_restaurants.cpp | 46 ------------- generator/emitter_restaurants.hpp | 31 --------- generator/emitter_simple.cpp | 33 ---------- generator/emitter_simple.hpp | 40 ------------ generator/polygonizer.hpp | 103 ------------------------------ 10 files changed, 476 deletions(-) delete mode 100644 generator/emitter_booking.hpp delete mode 100644 generator/emitter_coastline.cpp delete mode 100644 generator/emitter_factory.hpp delete mode 100644 generator/emitter_interface.hpp delete mode 100644 generator/emitter_noop.hpp delete mode 100644 generator/emitter_restaurants.cpp delete mode 100644 generator/emitter_restaurants.hpp delete mode 100644 generator/emitter_simple.cpp delete mode 100644 generator/emitter_simple.hpp delete mode 100644 generator/polygonizer.hpp diff --git a/generator/emitter_booking.hpp b/generator/emitter_booking.hpp deleted file mode 100644 index 64617610e0..0000000000 --- a/generator/emitter_booking.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include "generator/emitter_interface.hpp" -#include "generator/feature_builder.hpp" -#include "generator/feature_generator.hpp" - -#include "indexer/feature_data.hpp" - -#include "base/geo_object_id.hpp" -#include "base/logging.hpp" - -#include - -namespace generator -{ -using namespace std; - -template -class EmitterBooking : public EmitterInterface -{ -public: - EmitterBooking(Dataset const & dataset, map & features) - : m_dataset(dataset), m_features(features) - { - } - - // EmitterInterface overrides: - void Process(feature::FeatureBuilder & fb) override - { - if (m_dataset.NecessaryMatchingConditionHolds(fb)) - m_features.emplace(fb.GetMostGenericOsmId(), fb); - } - - void GetNames(vector & names) const override - { - names.clear(); - } - - bool Finish() override - { - LOG_SHORT(LINFO, ("Num of booking elements:", m_features.size())); - return true; - } - -private: - Dataset const & m_dataset; - map & m_features; -}; -} // namespace generator diff --git a/generator/emitter_coastline.cpp b/generator/emitter_coastline.cpp deleted file mode 100644 index 9fda69cbb3..0000000000 --- a/generator/emitter_coastline.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "generator/emitter_coastline.hpp" - -#include "generator/coastlines_generator.hpp" -#include "generator/feature_builder.hpp" -#include "generator/feature_processing_layers.hpp" -#include "generator/feature_generator.hpp" -#include "generator/generate_info.hpp" -#include "generator/type_helper.hpp" - -#include "base/logging.hpp" - -#include - -#include "defines.hpp" - -using namespace feature; - -namespace generator -{ -EmitterCoastline::EmitterCoastline(feature::GenerateInfo const & info) - : m_generator(std::make_shared(ftypes::IsCoastlineChecker::Instance().GetCoastlineType())) - , m_coastlineGeomFilename(info.GetIntermediateFileName(WORLD_COASTS_FILE_NAME, ".geom")) - , m_coastlineRawGeomFilename(info.GetIntermediateFileName(WORLD_COASTS_FILE_NAME, RAW_GEOM_FILE_EXTENSION)) -{ - m_processingChain = std::make_shared(); - m_processingChain->Add(std::make_shared()); - m_processingChain->Add(std::make_shared(m_generator)); -} - -void EmitterCoastline::Process(FeatureBuilder & feature) -{ - m_processingChain->Handle(feature); -} - -bool EmitterCoastline::Finish() -{ - feature::FeaturesAndRawGeometryCollector collector(m_coastlineGeomFilename, m_coastlineRawGeomFilename); - // Check and stop if some coasts were not merged - if (!m_generator->Finish()) - return false; - - LOG(LINFO, ("Generating coastline polygons")); - - size_t totalFeatures = 0; - size_t totalPoints = 0; - size_t totalPolygons = 0; - - vector features; - m_generator->GetFeatures(features); - for (auto & feature : features) - { - collector.Collect(feature); - - ++totalFeatures; - totalPoints += feature.GetPointsCount(); - totalPolygons += feature.GetPolygonsCount(); - } - - LOG(LINFO, ("Total features:", totalFeatures, "total polygons:", totalPolygons, - "total points:", totalPoints)); - - return true; -} - -void EmitterCoastline::GetNames(std::vector &) const {} -} // namespace generator diff --git a/generator/emitter_factory.hpp b/generator/emitter_factory.hpp deleted file mode 100644 index c212fb5247..0000000000 --- a/generator/emitter_factory.hpp +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once - -#include "generator/emitter_booking.hpp" -#include "generator/emitter_coastline.hpp" -#include "generator/emitter_country.hpp" -#include "generator/emitter_interface.hpp" -#include "generator/emitter_noop.hpp" -#include "generator/emitter_restaurants.hpp" -#include "generator/emitter_simple.hpp" -#include "generator/emitter_world.hpp" -#include "generator/factory_utils.hpp" - -#include "base/assert.hpp" - -#include -#include - -namespace generator -{ -enum class EmitterType -{ - Restaurants, - Simple, - SimpleWithPreserialize, - Country, - Coastline, - World, - Noop - // Booking -}; - -template -std::shared_ptr CreateEmitter(EmitterType type, Args&&... args) -{ - switch (type) - { - case EmitterType::Coastline: - return create(std::forward(args)...); - case EmitterType::Country: - return create(std::forward(args)...); - case EmitterType::Simple: - return create(std::forward(args)...); - case EmitterType::SimpleWithPreserialize: - return create(std::forward(args)...); - case EmitterType::Restaurants: - return create(std::forward(args)...); - case EmitterType::World: - return create(std::forward(args)...); - case EmitterType::Noop: - return create(std::forward(args)...); - } - UNREACHABLE(); -} -} // namespace generator diff --git a/generator/emitter_interface.hpp b/generator/emitter_interface.hpp deleted file mode 100644 index 14541a2308..0000000000 --- a/generator/emitter_interface.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include -#include - -class FeatureParams; -namespace feature -{ -class FeatureBuilder; -} // namespace feature - -namespace generator -{ -// Implementing this interface allows an object to process FeatureBuilder1 objects and broadcast them. -class EmitterInterface -{ -public: - virtual ~EmitterInterface() = default; - - // This method is used by OsmTranslator to pass |fb| to Emitter for further processing. - virtual void Process(feature::FeatureBuilder & fb) = 0; - // Finish is used in GenerateFeatureImpl to make whatever work is needed after all OsmElements - // are processed. - virtual bool Finish() = 0; - // Sets buckets (mwm names). - // TODO(syershov): Make this topic clear. - virtual void GetNames(std::vector & names) const = 0; -}; -} // namespace generator diff --git a/generator/emitter_noop.hpp b/generator/emitter_noop.hpp deleted file mode 100644 index 0aa82a6e20..0000000000 --- a/generator/emitter_noop.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "emitter_interface.hpp" - -#include -#include - -class FeatureParams; - -namespace feature -{ -class FeatureBuilder; -} // namespace feature - -namespace generator -{ -class EmitterNoop : public EmitterInterface -{ -public: - // EmitterInterface overrides: - void Process(feature::FeatureBuilder &) override {} - bool Finish() override { return true; } - void GetNames(std::vector &) const override {} -}; -} // namespace generator diff --git a/generator/emitter_restaurants.cpp b/generator/emitter_restaurants.cpp deleted file mode 100644 index 39cfbff3e7..0000000000 --- a/generator/emitter_restaurants.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "generator/emitter_restaurants.hpp" - -#include "indexer/ftypes_matcher.hpp" -#include "generator/feature_builder.hpp" - -using namespace feature; - -namespace generator -{ -EmitterRestaurants::EmitterRestaurants(std::vector & features) - : m_features(features) -{ -} - -void EmitterRestaurants::Process(FeatureBuilder & fb) -{ - if (!ftypes::IsEatChecker::Instance()(fb.GetParams().m_types) || fb.GetParams().name.IsEmpty()) - { - ++m_stats.m_unexpectedFeatures; - return; - } - - switch (fb.GetGeomType()) - { - case feature::GeomType::Point: ++m_stats.m_restaurantsPoi; break; - case feature::GeomType::Area: ++m_stats.m_restaurantsBuilding; break; - default: ++m_stats.m_unexpectedFeatures; - } - m_features.emplace_back(fb); -} - -void EmitterRestaurants::GetNames(std::vector & names) const -{ - // We do not need to create any data file. See generator_tool.cpp and osm_source.cpp. - names.clear(); -} - -bool EmitterRestaurants::Finish() -{ - LOG_SHORT(LINFO, ("Number of restaurants: POI:", m_stats.m_restaurantsPoi, - "BUILDING:", m_stats.m_restaurantsBuilding, - "TOTAL:", m_features.size(), - "INVALID:", m_stats.m_unexpectedFeatures)); - return true; -} -} // namespace generator diff --git a/generator/emitter_restaurants.hpp b/generator/emitter_restaurants.hpp deleted file mode 100644 index e5d32f636d..0000000000 --- a/generator/emitter_restaurants.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#include "generator/emitter_interface.hpp" -#include "generator/feature_builder.hpp" - -#include -#include - -namespace generator -{ -class EmitterRestaurants : public EmitterInterface -{ -public: - EmitterRestaurants(std::vector & features); - - // EmitterInterface overrides: - void Process(feature::FeatureBuilder & fb) override; - void GetNames(std::vector & names) const override; - bool Finish() override; - -private: - struct Stats - { - // Number of features of any "food type". - uint32_t m_restaurantsPoi = 0; - uint32_t m_restaurantsBuilding = 0; - uint32_t m_unexpectedFeatures = 0; - }; - - std::vector & m_features; - Stats m_stats; -}; -} // namespace generator diff --git a/generator/emitter_simple.cpp b/generator/emitter_simple.cpp deleted file mode 100644 index 9b1d033edc..0000000000 --- a/generator/emitter_simple.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "generator/emitter_simple.hpp" - -#include "generator/feature_builder.hpp" - -#include "base/macros.hpp" - -using namespace feature; - -namespace generator -{ -EmitterSimple::EmitterSimple(feature::GenerateInfo const & info) : - m_regionGenerator(std::make_unique(info)) {} - -void EmitterSimple::GetNames(std::vector & names) const -{ - names = m_regionGenerator->Parent().GetNames(); -} - -void EmitterSimple::Process(FeatureBuilder & fb) -{ - auto & polygonizer = m_regionGenerator->Parent(); - // Emit each feature independently: clear current country names (see Polygonizer::GetCurrentNames()). - polygonizer.Start(); - (*m_regionGenerator)(fb); - polygonizer.Finish(); -} - -void EmitterPreserialize::Process(FeatureBuilder & fb) -{ - UNUSED_VALUE(fb.PreSerialize()); - EmitterSimple::Process(fb); -} -} // namespace generator diff --git a/generator/emitter_simple.hpp b/generator/emitter_simple.hpp deleted file mode 100644 index 161adc7ba0..0000000000 --- a/generator/emitter_simple.hpp +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once - -#include "generator/emitter_interface.hpp" -#include "generator/feature_generator.hpp" -#include "generator/generate_info.hpp" -#include "generator/polygonizer.hpp" -#include "generator/world_map_generator.hpp" - -#include -#include -#include - -namespace generator -{ -// EmitterSimple class is a simple emitter. It does not filter objects. -class EmitterSimple : public EmitterInterface -{ -public: - explicit EmitterSimple(feature::GenerateInfo const & info); - - // EmitterInterface overrides: - void GetNames(std::vector & names) const override; - void Process(feature::FeatureBuilder & fb) override; - bool Finish() override { return true; } - -private: - using SimpleGenerator = SimpleCountryMapGenerator>; - - std::unique_ptr m_regionGenerator; -}; - -class EmitterPreserialize : public EmitterSimple -{ -public: - using EmitterSimple::EmitterSimple; - - // EmitterInterface overrides: - void Process(feature::FeatureBuilder & fb) override; -}; -} // namespace generator diff --git a/generator/polygonizer.hpp b/generator/polygonizer.hpp deleted file mode 100644 index 805bda25ab..0000000000 --- a/generator/polygonizer.hpp +++ /dev/null @@ -1,103 +0,0 @@ -#pragma once - -#include "generator/borders.hpp" -#include "generator/feature_builder.hpp" -#include "generator/generate_info.hpp" - -#include "geometry/rect2d.hpp" -#include "geometry/mercator.hpp" - -#include -#include -#include -#include - -namespace feature -{ -// Groups features according to country polygons. -template -class Polygonizer -{ -public: - Polygonizer(feature::GenerateInfo const & info) - : m_info(info) - { - if (info.m_splitByPolygons) - { - CHECK(borders::LoadCountriesList(info.m_targetDir, m_countries), - ("Error loading country polygons files.")); - } - else - { - // Insert fake country polygon equal to whole world to - // create only one output file which contains all features. - borders::RegionsContainer regions; - auto const rect = MercatorBounds::FullRect(); - std::vector points {rect.LeftBottom(), rect.LeftTop(), rect.RightTop(), - rect.RightBottom(), rect.LeftBottom()}; - regions.Add(m2::RegionD(std::move(points)), rect); - auto countries = borders::CountryPolygons(info.m_fileName, regions); - m_countries.Add(std::move(countries), rect); - } - } - - ~Polygonizer() - { - Finish(); - } - - void operator()(FeatureBuilder & fb) - { - m_countries.ForEachInRect(fb.GetLimitRect(), [&](auto const & countryPolygons) { - auto const need = fb.ForAnyGeometryPoint([&](auto const & point) { - return countryPolygons.Contains(point); - }); - - if (need) - this->EmitFeature(countryPolygons, fb); - }); - } - - void Start() - { - m_currentNames.clear(); - } - - void Finish() - { - } - - void EmitFeature(borders::CountryPolygons const & countryPolygons, FeatureBuilder const & fb) - { - if (countryPolygons.m_index == -1) - { - m_names.push_back(countryPolygons.GetName()); - m_buckets.emplace_back(new FeatureOut(m_info.GetTmpFileName(countryPolygons.GetName()))); - countryPolygons.m_index = static_cast(m_buckets.size()) - 1; - } - - if (!m_currentNames.empty()) - m_currentNames += ';'; - - m_currentNames += countryPolygons.GetName(); - m_buckets[countryPolygons.m_index]->Collect(fb); - } - - std::vector const & GetNames() const - { - return m_names; - } - - std::string const & GetCurrentNames() const - { - return m_currentNames; - } - -private: - feature::GenerateInfo const & m_info; - std::vector> m_buckets; - std::vector m_names; - borders::CountriesContainer m_countries; - std::string m_currentNames; -}; -} // namespace feature