Libosmium  2.12.2
Fast and flexible C++ library for working with OpenStreetMap data
Classes | Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | List of all members
osmium::area::Assembler Class Reference

#include <assembler.hpp>

Inheritance diagram for osmium::area::Assembler:
Inheritance graph
[legend]
Collaboration diagram for osmium::area::Assembler:
Collaboration graph
[legend]

Classes

struct  MPFilter
 

Public Types

using config_type = osmium::area::AssemblerConfig
 

Public Member Functions

 Assembler (const config_type &config)
 
 ~Assembler () noexcept=default
 
bool operator() (const osmium::Way &way, osmium::memory::Buffer &out_buffer)
 
OSMIUM_DEPRECATED void operator() (const osmium::Relation &relation, const std::vector< size_t > &members, const osmium::memory::Buffer &in_buffer, osmium::memory::Buffer &out_buffer)
 
bool operator() (const osmium::Relation &relation, const std::vector< const osmium::Way *> &members, osmium::memory::Buffer &out_buffer)
 

Private Member Functions

bool report_ways () const noexcept
 
void add_tags_to_area (osmium::builder::AreaBuilder &builder, const osmium::Way &way) const
 
void add_common_tags (osmium::builder::TagListBuilder &tl_builder, std::set< const osmium::Way *> &ways) const
 
void add_tags_to_area (osmium::builder::AreaBuilder &builder, const osmium::Relation &relation)
 
bool create_area (osmium::memory::Buffer &out_buffer, const osmium::Way &way)
 
bool create_area (osmium::memory::Buffer &out_buffer, const osmium::Relation &relation, const std::vector< const osmium::Way *> &members)
 

Static Private Member Functions

static const MPFilterfilter () noexcept
 
static void copy_tags_without_type (osmium::builder::AreaBuilder &builder, const osmium::TagList &tags)
 

Detailed Description

Assembles area objects from closed ways or multipolygon relations and their members.

Member Typedef Documentation

◆ config_type

Constructor & Destructor Documentation

◆ Assembler()

osmium::area::Assembler::Assembler ( const config_type config)
inlineexplicit

◆ ~Assembler()

osmium::area::Assembler::~Assembler ( )
defaultnoexcept

Member Function Documentation

◆ add_common_tags()

void osmium::area::Assembler::add_common_tags ( osmium::builder::TagListBuilder tl_builder,
std::set< const osmium::Way *> &  ways 
) const
inlineprivate

◆ add_tags_to_area() [1/2]

void osmium::area::Assembler::add_tags_to_area ( osmium::builder::AreaBuilder builder,
const osmium::Way way 
) const
inlineprivate

◆ add_tags_to_area() [2/2]

void osmium::area::Assembler::add_tags_to_area ( osmium::builder::AreaBuilder builder,
const osmium::Relation relation 
)
inlineprivate

◆ copy_tags_without_type()

static void osmium::area::Assembler::copy_tags_without_type ( osmium::builder::AreaBuilder builder,
const osmium::TagList tags 
)
inlinestaticprivate

◆ create_area() [1/2]

bool osmium::area::Assembler::create_area ( osmium::memory::Buffer out_buffer,
const osmium::Way way 
)
inlineprivate

◆ create_area() [2/2]

bool osmium::area::Assembler::create_area ( osmium::memory::Buffer out_buffer,
const osmium::Relation relation,
const std::vector< const osmium::Way *> &  members 
)
inlineprivate

◆ filter()

static const MPFilter& osmium::area::Assembler::filter ( )
inlinestaticprivatenoexcept

◆ operator()() [1/3]

bool osmium::area::Assembler::operator() ( const osmium::Way way,
osmium::memory::Buffer out_buffer 
)
inline

Assemble an area from the given way. The resulting area is put into the out_buffer.

Returns
false if there was some kind of error building the area, true otherwise.

◆ operator()() [2/3]

OSMIUM_DEPRECATED void osmium::area::Assembler::operator() ( const osmium::Relation relation,
const std::vector< size_t > &  members,
const osmium::memory::Buffer in_buffer,
osmium::memory::Buffer out_buffer 
)
inline

Assemble an area from the given relation and its members. All members are to be found in the in_buffer at the offsets given by the members parameter. The resulting area is put into the out_buffer.

Deprecated:
This function is deprecated. Use the other form of the function instead.

◆ operator()() [3/3]

bool osmium::area::Assembler::operator() ( const osmium::Relation relation,
const std::vector< const osmium::Way *> &  members,
osmium::memory::Buffer out_buffer 
)
inline

Assemble an area from the given relation and its members. The resulting area is put into the out_buffer.

Returns
false if there was some kind of error building the area(s), true otherwise.

◆ report_ways()

bool osmium::area::Assembler::report_ways ( ) const
inlineprivatenoexcept

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