Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Member Functions | Private Types | Private Attributes | List of all members
osmium::area::MultipolygonManagerLegacy< TAssembler > Class Template Reference

#include <multipolygon_manager_legacy.hpp>

Inheritance diagram for osmium::area::MultipolygonManagerLegacy< TAssembler >:
Inheritance graph
[legend]
Collaboration diagram for osmium::area::MultipolygonManagerLegacy< TAssembler >:
Collaboration graph
[legend]

Public Member Functions

 MultipolygonManagerLegacy (const assembler_config_type &assembler_config)
 
const area_statsstats () const noexcept
 
bool new_relation (const osmium::Relation &relation) const
 
void complete_relation (const osmium::Relation &relation)
 
void way_not_in_any_relation (const osmium::Way &way)
 
- Public Member Functions inherited from osmium::relations::RelationsManager< MultipolygonManagerLegacy< TAssembler >, false, true, false >
 RelationsManager ()
 
SecondPassHandler< RelationsManager > & handler (const std::function< void(osmium::memory::Buffer &&)> &callback=nullptr)
 
void relation (const osmium::Relation &relation)
 
void handle_node (const osmium::Node &node)
 
void handle_way (const osmium::Way &way)
 
void handle_relation (const osmium::Relation &relation)
 
void for_each_incomplete_relation (TFunc &&func)
 
- Public Member Functions inherited from osmium::relations::RelationsManagerBase
 RelationsManagerBase ()
 
osmium::relations::RelationsDatabaserelations_database () noexcept
 Access the internal RelationsDatabase. More...
 
osmium::relations::MembersDatabase< osmium::Node > & member_nodes_database () noexcept
 Access the internal database containing member nodes. More...
 
const osmium::relations::MembersDatabase< osmium::Node > & member_nodes_database () const noexcept
 Access the internal database containing member nodes. More...
 
osmium::relations::MembersDatabase< osmium::Way > & member_ways_database () noexcept
 Access the internal database containing member ways. More...
 
const osmium::relations::MembersDatabase< osmium::Way > & member_ways_database () const noexcept
 Access the internal database containing member ways. More...
 
osmium::relations::MembersDatabase< osmium::Relation > & member_relations_database () noexcept
 Access the internal database containing member relations. More...
 
const osmium::relations::MembersDatabase< osmium::Relation > & member_relations_database () const noexcept
 Access the internal database containing member relations. More...
 
relations::MembersDatabaseCommonmember_database (osmium::item_type type) noexcept
 
const relations::MembersDatabaseCommonmember_database (osmium::item_type type) const noexcept
 
const osmium::OSMObjectget_member_object (const osmium::RelationMember &member) const noexcept
 
const osmium::Nodeget_member_node (osmium::object_id_type id) const noexcept
 
const osmium::Wayget_member_way (osmium::object_id_type id) const noexcept
 
const osmium::Relationget_member_relation (osmium::object_id_type id) const noexcept
 
void prepare_for_lookup ()
 
relations_manager_memory_usage used_memory () const noexcept
 
osmium::memory::Buffer & buffer () noexcept
 Access the output buffer. More...
 
void set_callback (const std::function< void(osmium::memory::Buffer &&)> &callback)
 Set the callback called when the output buffer is full. More...
 
void flush_output ()
 Flush the output buffer. More...
 
void possibly_flush ()
 Flush the output buffer if it is full. More...
 
osmium::memory::Buffer read ()
 Return the contents of the output buffer. More...
 
- Public Member Functions inherited from osmium::handler::Handler
void osm_object (const osmium::OSMObject &) const noexcept
 
void node (const osmium::Node &) const noexcept
 
void way (const osmium::Way &) const noexcept
 
void relation (const osmium::Relation &) const noexcept
 
void area (const osmium::Area &) const noexcept
 
void changeset (const osmium::Changeset &) const noexcept
 
void tag_list (const osmium::TagList &) const noexcept
 
void way_node_list (const osmium::WayNodeList &) const noexcept
 
void relation_member_list (const osmium::RelationMemberList &) const noexcept
 
void outer_ring (const osmium::OuterRing &) const noexcept
 
void inner_ring (const osmium::InnerRing &) const noexcept
 
void changeset_discussion (const osmium::ChangesetDiscussion &) const noexcept
 
void flush () const noexcept
 

Private Types

using assembler_config_type = typename TAssembler::config_type
 

Private Attributes

const assembler_config_type m_assembler_config
 
area_stats m_stats
 

Detailed Description

template<typename TAssembler>
class osmium::area::MultipolygonManagerLegacy< TAssembler >

This class collects all data needed for creating areas from relations tagged with type=multipolygon or type=boundary. Most of its functionality is derived from the parent class osmium::relations::Collector.

The actual assembling of the areas is done by the assembler class given as template argument.

Template Parameters
TAssemblerMultipolygon Assembler class.
Precondition
The Ids of all objects must be unique in the input data.

Member Typedef Documentation

◆ assembler_config_type

template<typename TAssembler >
using osmium::area::MultipolygonManagerLegacy< TAssembler >::assembler_config_type = typename TAssembler::config_type
private

Constructor & Destructor Documentation

◆ MultipolygonManagerLegacy()

template<typename TAssembler >
osmium::area::MultipolygonManagerLegacy< TAssembler >::MultipolygonManagerLegacy ( const assembler_config_type assembler_config)
inlineexplicit

Construct a MultipolygonManagerLegacy.

Parameters
assembler_configThe configuration that will be given to any newly constructed area assembler.

Member Function Documentation

◆ complete_relation()

template<typename TAssembler >
void osmium::area::MultipolygonManagerLegacy< TAssembler >::complete_relation ( const osmium::Relation relation)
inline

This is called when a relation is complete, ie. all members were found in the input. It will build the area using the assembler.

◆ new_relation()

template<typename TAssembler >
bool osmium::area::MultipolygonManagerLegacy< TAssembler >::new_relation ( const osmium::Relation relation) const
inline

We are interested in all relations tagged with type=multipolygon or type=boundary with at least one way member.

◆ stats()

template<typename TAssembler >
const area_stats & osmium::area::MultipolygonManagerLegacy< TAssembler >::stats ( ) const
inlinenoexcept

Access the aggregated statistics generated by the assemblers called from the manager.

◆ way_not_in_any_relation()

template<typename TAssembler >
void osmium::area::MultipolygonManagerLegacy< TAssembler >::way_not_in_any_relation ( const osmium::Way way)
inline

This is called when a way is not in any multipolygon relation.

Member Data Documentation

◆ m_assembler_config

template<typename TAssembler >
const assembler_config_type osmium::area::MultipolygonManagerLegacy< TAssembler >::m_assembler_config
private

◆ m_stats

template<typename TAssembler >
area_stats osmium::area::MultipolygonManagerLegacy< TAssembler >::m_stats
private

The documentation for this class was generated from the following file: