Files
comaps/generator/collector_collection.cpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

63 lines
1.5 KiB
C++

#include "generator/collector_collection.hpp"
#include "generator/feature_builder.hpp"
#include "generator/intermediate_elements.hpp"
#include "generator/osm_element.hpp"
using namespace feature;
namespace generator
{
std::shared_ptr<CollectorInterface> CollectorCollection::Clone(IDRInterfacePtr const & cache) const
{
auto p = std::make_shared<CollectorCollection>();
for (auto const & c : m_collection)
p->Append(c->Clone(cache));
return p;
}
void CollectorCollection::Collect(OsmElement const & element)
{
for (auto & c : m_collection)
c->Collect(element);
}
void CollectorCollection::CollectRelation(RelationElement const & element)
{
for (auto & c : m_collection)
c->CollectRelation(element);
}
void CollectorCollection::CollectFeature(FeatureBuilder const & feature, OsmElement const & element)
{
for (auto & c : m_collection)
c->CollectFeature(feature, element);
}
void CollectorCollection::Finish()
{
for (auto & c : m_collection)
c->Finish();
}
void CollectorCollection::Save()
{
for (auto & c : m_collection)
c->Save();
}
void CollectorCollection::OrderCollectedData()
{
for (auto & c : m_collection)
c->OrderCollectedData();
}
void CollectorCollection::MergeInto(CollectorCollection & collector) const
{
auto & otherCollection = collector.m_collection;
CHECK_EQUAL(m_collection.size(), otherCollection.size(), ());
for (size_t i = 0; i < m_collection.size(); ++i)
otherCollection[i]->Merge(*m_collection[i]);
}
} // namespace generator