From 45426f3f16be2187f283e33ada9a1404ef9280ef Mon Sep 17 00:00:00 2001 From: "r.kuznetsov" Date: Wed, 2 Mar 2016 18:07:17 +0300 Subject: [PATCH] Removed unused code --- drape/batcher.hpp | 4 - drape/drape_common.pri | 1 - drape/feature_geometry_decl.hpp | 28 ----- drape/render_bucket.hpp | 1 - drape_frontend/apply_feature_functors.cpp | 10 ++ drape_frontend/drape_frontend.pro | 2 - .../drape_frontend_tests.pro | 1 - .../memory_feature_index_tests.cpp | 113 ------------------ drape_frontend/map_shape.hpp | 1 - drape_frontend/memory_feature_index.cpp | 38 ------ drape_frontend/memory_feature_index.hpp | 49 -------- drape_frontend/read_manager.hpp | 1 - drape_frontend/render_group.hpp | 1 + 13 files changed, 11 insertions(+), 239 deletions(-) delete mode 100644 drape/feature_geometry_decl.hpp delete mode 100644 drape_frontend/drape_frontend_tests/memory_feature_index_tests.cpp delete mode 100644 drape_frontend/memory_feature_index.cpp delete mode 100644 drape_frontend/memory_feature_index.hpp diff --git a/drape/batcher.hpp b/drape/batcher.hpp index 69466d7670..1326de0372 100644 --- a/drape/batcher.hpp +++ b/drape/batcher.hpp @@ -1,7 +1,6 @@ #pragma once #include "drape/attribute_provider.hpp" -#include "drape/feature_geometry_decl.hpp" #include "drape/glstate.hpp" #include "drape/overlay_handle.hpp" #include "drape/pointers.hpp" @@ -50,9 +49,6 @@ public: void StartSession(TFlushFn const & flusher); void EndSession(); - // Begin/end processing of feature with FeatureGeometryId in the batcher. - void StartFeatureRecord(FeatureGeometryId feature, m2::RectD const & limitRect); - void EndFeatureRecord(); void SetFeatureMinZoom(int minZoom); private: diff --git a/drape/drape_common.pri b/drape/drape_common.pri index 109e217fab..7cb8e4da16 100644 --- a/drape/drape_common.pri +++ b/drape/drape_common.pri @@ -67,7 +67,6 @@ HEADERS += \ $$DRAPE_DIR/depth_constants.hpp \ $$DRAPE_DIR/drape_global.hpp \ $$DRAPE_DIR/dynamic_texture.hpp \ - $$DRAPE_DIR/feature_geometry_decl.hpp \ $$DRAPE_DIR/font_texture.hpp \ $$DRAPE_DIR/fribidi.hpp \ $$DRAPE_DIR/glconstants.hpp \ diff --git a/drape/feature_geometry_decl.hpp b/drape/feature_geometry_decl.hpp deleted file mode 100644 index 7299ac3ec7..0000000000 --- a/drape/feature_geometry_decl.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "indexer/feature_decl.hpp" - -namespace dp -{ - -struct FeatureGeometryId -{ - FeatureID m_featureId; - uint32_t m_shapeInd = 0; - - FeatureGeometryId() = default; - FeatureGeometryId(FeatureID feature, uint32_t shapeInd) - : m_featureId(feature) - , m_shapeInd(shapeInd) - {} - - bool IsValid() const { return m_featureId.IsValid(); } - bool operator<(FeatureGeometryId const & r) const - { - if (m_featureId != r.m_featureId) - return m_featureId < r.m_featureId; - return m_shapeInd < r.m_shapeInd; - } -}; - -} // namespace dp diff --git a/drape/render_bucket.hpp b/drape/render_bucket.hpp index d4688b4937..5669603a1d 100644 --- a/drape/render_bucket.hpp +++ b/drape/render_bucket.hpp @@ -1,6 +1,5 @@ #pragma once -#include "drape/feature_geometry_decl.hpp" #include "drape/pointers.hpp" #include "std/function.hpp" diff --git a/drape_frontend/apply_feature_functors.cpp b/drape_frontend/apply_feature_functors.cpp index 9b5af5cb4f..319a8977ef 100644 --- a/drape_frontend/apply_feature_functors.cpp +++ b/drape_frontend/apply_feature_functors.cpp @@ -342,6 +342,16 @@ void ApplyAreaFeature::operator()(m2::PointD const & p1, m2::PointD const & p2, return; } + m2::PointD const v1 = p2 - p1; + m2::PointD const v2 = p3 - p1; + if (v1.IsAlmostZero() || v2.IsAlmostZero()) + return; + + double const crossProduct = m2::CrossProduct(v1.Normalize(), v2.Normalize()); + double const kEps = 1e-7; + if (fabs(crossProduct) < kEps) + return; + auto const clipFunctor = [this](m2::PointD const & p1, m2::PointD const & p2, m2::PointD const & p3) { m_triangles.push_back(p1); diff --git a/drape_frontend/drape_frontend.pro b/drape_frontend/drape_frontend.pro index 77b3b0c58a..378469d9ee 100755 --- a/drape_frontend/drape_frontend.pro +++ b/drape_frontend/drape_frontend.pro @@ -46,7 +46,6 @@ SOURCES += \ line_shape.cpp \ line_shape_helper.cpp \ map_data_provider.cpp \ - memory_feature_index.cpp \ message_acceptor.cpp \ message_queue.cpp \ my_position.cpp \ @@ -133,7 +132,6 @@ HEADERS += \ line_shape_helper.hpp \ map_data_provider.hpp \ map_shape.hpp \ - memory_feature_index.hpp \ message.hpp \ message_acceptor.hpp \ message_queue.hpp \ diff --git a/drape_frontend/drape_frontend_tests/drape_frontend_tests.pro b/drape_frontend/drape_frontend_tests/drape_frontend_tests.pro index 2f615e5739..0f3405ad48 100644 --- a/drape_frontend/drape_frontend_tests/drape_frontend_tests.pro +++ b/drape_frontend/drape_frontend_tests/drape_frontend_tests.pro @@ -19,7 +19,6 @@ macx-* { SOURCES += \ ../../testing/testingmain.cpp \ anyrect_interpolation_tests.cpp \ - memory_feature_index_tests.cpp \ navigator_test.cpp \ object_pool_tests.cpp \ user_event_stream_tests.cpp \ diff --git a/drape_frontend/drape_frontend_tests/memory_feature_index_tests.cpp b/drape_frontend/drape_frontend_tests/memory_feature_index_tests.cpp deleted file mode 100644 index 0e7bf31622..0000000000 --- a/drape_frontend/drape_frontend_tests/memory_feature_index_tests.cpp +++ /dev/null @@ -1,113 +0,0 @@ -#include "testing/testing.hpp" - -#include "drape_frontend/memory_feature_index.hpp" - -#include "base/thread.hpp" -#include "base/thread_pool.hpp" -#include "base/condition.hpp" - -#include "std/vector.hpp" -#include "std/set.hpp" -#include "std/bind.hpp" - -#include -#include - -namespace -{ - -void JoinFinishFinction(threads::IRoutine * routine, threads::Condition & condition, int & counter) -{ - condition.Lock(); - counter++; - condition.Unlock(); - delete routine; - - condition.Signal(); -} - -class TestRoutine : public threads::IRoutine -{ -public: - TestRoutine(df::TFeaturesInfo & features, df::MemoryFeatureIndex &index) - : m_features(features) - , m_index(index) - {} - - virtual void Do() - { - vector result; - { - df::MemoryFeatureIndex::Lock lock(m_index); - m_index.ReadFeaturesRequest(m_features, result); - } - - for (size_t i = 0, count = result.size(); i < count; ++i) - SetFeatureOwner(result[i]); - } - - void SetFeatureOwner(FeatureID const & feature) - { - df::MemoryFeatureIndex::Lock lock(m_index); - if (!m_features[feature]) - m_features[feature] = m_index.SetFeatureOwner(feature); - } - -private: - df::TFeaturesInfo & m_features; - df::MemoryFeatureIndex & m_index; -}; - -void GenerateFeatures(df::TFeaturesInfo & features, int taskIndex) -{ - int const kCount = 10000; - for (int i = 0; i < kCount; ++i) - features.insert(make_pair(FeatureID(MwmSet::MwmId(), taskIndex * kCount / 2 + i), false)); -} - -} // namespace - -UNIT_TEST(MemoryFeatureIndex_MT_Test) -{ - const int TASK_COUNT = 10; - threads::Condition cond; - int counter = 0; - threads::ThreadPool pool(4, bind(&JoinFinishFinction, _1, ref(cond), ref(counter))); - - df::MemoryFeatureIndex index; - df::TFeaturesInfo features[TASK_COUNT]; - - for (int i = 0; i < TASK_COUNT; ++i) - { - GenerateFeatures(features[i], i); - pool.PushBack(new TestRoutine(features[i], index)); - } - - while(true) - { - cond.Lock(); - if (counter == TASK_COUNT) - { - cond.Unlock(); - break; - } - - cond.Wait(); - cond.Unlock(); - } - - set allFeatures; - set readedFeatures; - - for (int i = 0; i < TASK_COUNT; ++i) - { - for (auto it = features[i].begin(); it != features[i].end(); ++it) - { - allFeatures.insert(it->first); - if (it->second == true) - TEST_EQUAL(readedFeatures.insert(it->first).second, true, ()); - } - } - - TEST_EQUAL(allFeatures.size(), readedFeatures.size(), ()); -} diff --git a/drape_frontend/map_shape.hpp b/drape_frontend/map_shape.hpp index d1d091d081..49b1e8d9f5 100644 --- a/drape_frontend/map_shape.hpp +++ b/drape_frontend/map_shape.hpp @@ -3,7 +3,6 @@ #include "drape_frontend/message.hpp" #include "drape_frontend/tile_key.hpp" -#include "drape/feature_geometry_decl.hpp" #include "drape/pointers.hpp" namespace dp diff --git a/drape_frontend/memory_feature_index.cpp b/drape_frontend/memory_feature_index.cpp deleted file mode 100644 index fa4e356678..0000000000 --- a/drape_frontend/memory_feature_index.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "drape_frontend/memory_feature_index.hpp" - -namespace df -{ - -void MemoryFeatureIndex::ReadFeaturesRequest(TFeaturesInfo const & features, vector & featuresToRead) -{ - ASSERT(m_isLocked, ()); - - for (auto const & featureInfo : features) - { - if (m_features.find(featureInfo.first) == m_features.end()) - featuresToRead.push_back(featureInfo.first); - } -} - -bool MemoryFeatureIndex::SetFeatureOwner(FeatureID const & feature) -{ - ASSERT(m_isLocked, ()); - - return m_features.insert(feature).second; -} - -void MemoryFeatureIndex::RemoveFeatures(TFeaturesInfo & features) -{ - ASSERT(m_isLocked, ()); - - for (auto & featureInfo : features) - { - if (featureInfo.second) - { - VERIFY(m_features.erase(featureInfo.first) == 1, ()); - featureInfo.second = false; - } - } -} - -} // namespace df diff --git a/drape_frontend/memory_feature_index.hpp b/drape_frontend/memory_feature_index.hpp deleted file mode 100644 index fa103f3ce6..0000000000 --- a/drape_frontend/memory_feature_index.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include "indexer/feature_decl.hpp" - -#include "base/buffer_vector.hpp" -#include "base/mutex.hpp" - -#include "std/set.hpp" -#include "std/utility.hpp" -#include "std/vector.hpp" -#include "std/noncopyable.hpp" - -namespace df -{ - -using TFeaturesInfo = map; - -class MemoryFeatureIndex : private noncopyable -{ -public: - class Lock - { - threads::MutexGuard lock; - MemoryFeatureIndex & m_index; - public: - Lock(MemoryFeatureIndex & index) - : lock(index.m_mutex) - , m_index(index) - { - m_index.m_isLocked = true; - } - - ~Lock() - { - m_index.m_isLocked = false; - } - }; - - void ReadFeaturesRequest(const TFeaturesInfo & features, vector & featuresToRead); - bool SetFeatureOwner(const FeatureID & feature); - void RemoveFeatures(TFeaturesInfo & features); - -private: - bool m_isLocked = false; - threads::Mutex m_mutex; - set m_features; -}; - -} // namespace df diff --git a/drape_frontend/read_manager.hpp b/drape_frontend/read_manager.hpp index 407771eb28..d4b8e1c833 100755 --- a/drape_frontend/read_manager.hpp +++ b/drape_frontend/read_manager.hpp @@ -1,7 +1,6 @@ #pragma once #include "drape_frontend/engine_context.hpp" -#include "drape_frontend/memory_feature_index.hpp" #include "drape_frontend/read_mwm_task.hpp" #include "drape_frontend/tile_info.hpp" #include "drape_frontend/tile_utils.hpp" diff --git a/drape_frontend/render_group.hpp b/drape_frontend/render_group.hpp index 4bf77fe023..5cf413a69a 100755 --- a/drape_frontend/render_group.hpp +++ b/drape_frontend/render_group.hpp @@ -8,6 +8,7 @@ #include "drape/glstate.hpp" #include "drape/render_bucket.hpp" +#include "std/deque.hpp" #include "std/vector.hpp" #include "std/set.hpp" #include "std/unique_ptr.hpp"