Apply clang format
This commit is contained in:
parent
580c5e39ae
commit
c2fd64d3cc
@ -14,10 +14,7 @@ namespace extractor
|
|||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
|
||||||
inline const char * checkedString(const char * str)
|
inline const char *checkedString(const char *str) { return str ? str : ""; }
|
||||||
{
|
|
||||||
return str ? str : "";
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
@ -25,10 +22,7 @@ struct ExtractionRelation
|
|||||||
{
|
{
|
||||||
using AttributesMap = std::unordered_map<std::string, std::string>;
|
using AttributesMap = std::unordered_map<std::string, std::string>;
|
||||||
|
|
||||||
ExtractionRelation()
|
ExtractionRelation() : is_restriction(false) {}
|
||||||
: is_restriction(false)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void clear()
|
void clear()
|
||||||
{
|
{
|
||||||
@ -36,15 +30,9 @@ struct ExtractionRelation
|
|||||||
values.clear();
|
values.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsRestriction() const
|
bool IsRestriction() const { return is_restriction; }
|
||||||
{
|
|
||||||
return is_restriction;
|
|
||||||
}
|
|
||||||
|
|
||||||
AttributesMap & GetMember(util::OsmIDTyped id)
|
AttributesMap &GetMember(util::OsmIDTyped id) { return values[id.Hash()]; }
|
||||||
{
|
|
||||||
return values[id.Hash()];
|
|
||||||
}
|
|
||||||
|
|
||||||
bool is_restriction;
|
bool is_restriction;
|
||||||
std::unordered_map<util::OsmIDTyped::HashType, AttributesMap> values;
|
std::unordered_map<util::OsmIDTyped::HashType, AttributesMap> values;
|
||||||
|
@ -90,7 +90,6 @@ class ExtractorCallbacks
|
|||||||
// warning: caller needs to take care of synchronization!
|
// warning: caller needs to take care of synchronization!
|
||||||
void ProcessWay(const osmium::Way ¤t_way, const ExtractionWay &result_way);
|
void ProcessWay(const osmium::Way ¤t_way, const ExtractionWay &result_way);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,8 +62,8 @@ class ScriptingEnvironment
|
|||||||
virtual void ProcessTurn(ExtractionTurn &turn) = 0;
|
virtual void ProcessTurn(ExtractionTurn &turn) = 0;
|
||||||
virtual void ProcessSegment(ExtractionSegment &segment) = 0;
|
virtual void ProcessSegment(ExtractionSegment &segment) = 0;
|
||||||
|
|
||||||
virtual void
|
virtual void ProcessElements(
|
||||||
ProcessElements(const osmium::memory::Buffer &buffer,
|
const osmium::memory::Buffer &buffer,
|
||||||
const RestrictionParser &restriction_parser,
|
const RestrictionParser &restriction_parser,
|
||||||
const ExtractionRelationContainer &relations,
|
const ExtractionRelationContainer &relations,
|
||||||
std::vector<std::pair<const osmium::Node &, ExtractionNode>> &resulting_nodes,
|
std::vector<std::pair<const osmium::Node &, ExtractionNode>> &resulting_nodes,
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#ifndef SCRIPTING_ENVIRONMENT_LUA_HPP
|
#ifndef SCRIPTING_ENVIRONMENT_LUA_HPP
|
||||||
#define SCRIPTING_ENVIRONMENT_LUA_HPP
|
#define SCRIPTING_ENVIRONMENT_LUA_HPP
|
||||||
|
|
||||||
|
#include "extractor/extraction_relation.hpp"
|
||||||
#include "extractor/raster_source.hpp"
|
#include "extractor/raster_source.hpp"
|
||||||
#include "extractor/scripting_environment.hpp"
|
#include "extractor/scripting_environment.hpp"
|
||||||
#include "extractor/extraction_relation.hpp"
|
|
||||||
|
|
||||||
#include <tbb/enumerable_thread_specific.h>
|
#include <tbb/enumerable_thread_specific.h>
|
||||||
|
|
||||||
@ -20,8 +20,12 @@ namespace extractor
|
|||||||
|
|
||||||
struct LuaScriptingContext final
|
struct LuaScriptingContext final
|
||||||
{
|
{
|
||||||
void ProcessNode(const osmium::Node &, ExtractionNode &result, const ExtractionRelationContainer::RelationList &relations);
|
void ProcessNode(const osmium::Node &,
|
||||||
void ProcessWay(const osmium::Way &, ExtractionWay &result, const ExtractionRelationContainer::RelationList &relations);
|
ExtractionNode &result,
|
||||||
|
const ExtractionRelationContainer::RelationList &relations);
|
||||||
|
void ProcessWay(const osmium::Way &,
|
||||||
|
ExtractionWay &result,
|
||||||
|
const ExtractionRelationContainer::RelationList &relations);
|
||||||
void ProcessRelation(const osmium::Relation &, ExtractionRelation &result);
|
void ProcessRelation(const osmium::Relation &, ExtractionRelation &result);
|
||||||
|
|
||||||
ProfileProperties properties;
|
ProfileProperties properties;
|
||||||
@ -69,8 +73,8 @@ class Sol2ScriptingEnvironment final : public ScriptingEnvironment
|
|||||||
void ProcessTurn(ExtractionTurn &turn) override;
|
void ProcessTurn(ExtractionTurn &turn) override;
|
||||||
void ProcessSegment(ExtractionSegment &segment) override;
|
void ProcessSegment(ExtractionSegment &segment) override;
|
||||||
|
|
||||||
void
|
void ProcessElements(
|
||||||
ProcessElements(const osmium::memory::Buffer &buffer,
|
const osmium::memory::Buffer &buffer,
|
||||||
const RestrictionParser &restriction_parser,
|
const RestrictionParser &restriction_parser,
|
||||||
const ExtractionRelationContainer &relations,
|
const ExtractionRelationContainer &relations,
|
||||||
std::vector<std::pair<const osmium::Node &, ExtractionNode>> &resulting_nodes,
|
std::vector<std::pair<const osmium::Node &, ExtractionNode>> &resulting_nodes,
|
||||||
|
@ -13,9 +13,7 @@ class OsmIDTyped
|
|||||||
public:
|
public:
|
||||||
using HashType = std::uint64_t;
|
using HashType = std::uint64_t;
|
||||||
|
|
||||||
OsmIDTyped(std::uint64_t id_, std::uint8_t type_)
|
OsmIDTyped(std::uint64_t id_, std::uint8_t type_) : id(id_), type(type_)
|
||||||
: id(id_)
|
|
||||||
, type(type_)
|
|
||||||
{
|
{
|
||||||
// check if type value not above type size bound
|
// check if type value not above type size bound
|
||||||
BOOST_ASSERT(id_ < (std::uint64_t(1) << 56));
|
BOOST_ASSERT(id_ < (std::uint64_t(1) << 56));
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
#include "extractor/edge_based_edge.hpp"
|
#include "extractor/edge_based_edge.hpp"
|
||||||
#include "extractor/extraction_containers.hpp"
|
#include "extractor/extraction_containers.hpp"
|
||||||
#include "extractor/extraction_node.hpp"
|
#include "extractor/extraction_node.hpp"
|
||||||
#include "extractor/extraction_way.hpp"
|
|
||||||
#include "extractor/extraction_relation.hpp"
|
#include "extractor/extraction_relation.hpp"
|
||||||
|
#include "extractor/extraction_way.hpp"
|
||||||
#include "extractor/extractor_callbacks.hpp"
|
#include "extractor/extractor_callbacks.hpp"
|
||||||
#include "extractor/files.hpp"
|
#include "extractor/files.hpp"
|
||||||
#include "extractor/raster_source.hpp"
|
#include "extractor/raster_source.hpp"
|
||||||
@ -290,8 +290,9 @@ Extractor::ParseOSMData(ScriptingEnvironment &scripting_environment,
|
|||||||
const osmium::io::File input_file(config.input_path.string());
|
const osmium::io::File input_file(config.input_path.string());
|
||||||
osmium::thread::Pool pool(number_of_threads);
|
osmium::thread::Pool pool(number_of_threads);
|
||||||
|
|
||||||
std::unique_ptr<osmium::io::Reader> reader(
|
std::unique_ptr<osmium::io::Reader> reader(new osmium::io::Reader(
|
||||||
new osmium::io::Reader(input_file, osmium::osm_entity_bits::relation,
|
input_file,
|
||||||
|
osmium::osm_entity_bits::relation,
|
||||||
(config.use_metadata ? osmium::io::read_meta::yes : osmium::io::read_meta::no)));
|
(config.use_metadata ? osmium::io::read_meta::yes : osmium::io::read_meta::no)));
|
||||||
|
|
||||||
osmium::io::Header header = reader->header();
|
osmium::io::Header header = reader->header();
|
||||||
@ -429,7 +430,9 @@ Extractor::ParseOSMData(ScriptingEnvironment &scripting_environment,
|
|||||||
* processed there.
|
* processed there.
|
||||||
*/
|
*/
|
||||||
util::Log() << "Parse ways and nodes ...";
|
util::Log() << "Parse ways and nodes ...";
|
||||||
reader.reset(new osmium::io::Reader(input_file, osmium::osm_entity_bits::node | osmium::osm_entity_bits::way,
|
reader.reset(new osmium::io::Reader(
|
||||||
|
input_file,
|
||||||
|
osmium::osm_entity_bits::node | osmium::osm_entity_bits::way,
|
||||||
(config.use_metadata ? osmium::io::read_meta::yes : osmium::io::read_meta::no)));
|
(config.use_metadata ? osmium::io::read_meta::yes : osmium::io::read_meta::no)));
|
||||||
|
|
||||||
// Number of pipeline tokens that yielded the best speedup was about 1.5 * num_cores
|
// Number of pipeline tokens that yielded the best speedup was about 1.5 * num_cores
|
||||||
|
@ -290,15 +290,9 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
|||||||
|
|
||||||
struct RelationMemberWrap
|
struct RelationMemberWrap
|
||||||
{
|
{
|
||||||
explicit RelationMemberWrap(const osmium::RelationMember & member)
|
explicit RelationMemberWrap(const osmium::RelationMember &member) { init(member); }
|
||||||
{
|
|
||||||
init(member);
|
|
||||||
}
|
|
||||||
|
|
||||||
RelationMemberWrap()
|
RelationMemberWrap() : item_type(osmium::item_type::undefined) {}
|
||||||
: item_type(osmium::item_type::undefined)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void init(const osmium::RelationMember &member)
|
void init(const osmium::RelationMember &member)
|
||||||
{
|
{
|
||||||
@ -319,20 +313,13 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
|||||||
};
|
};
|
||||||
|
|
||||||
context.state.new_usertype<util::OsmIDTyped>(
|
context.state.new_usertype<util::OsmIDTyped>(
|
||||||
"OsmIDTypes",
|
"OsmIDTypes", "id", &util::OsmIDTyped::GetID, "type", &util::OsmIDTyped::GetType);
|
||||||
"id",
|
|
||||||
&util::OsmIDTyped::GetID,
|
|
||||||
"type",
|
|
||||||
&util::OsmIDTyped::GetType
|
|
||||||
);
|
|
||||||
|
|
||||||
context.state.new_usertype<RelationMemberWrap>(
|
context.state.new_usertype<RelationMemberWrap>("RelationMember",
|
||||||
"RelationMember",
|
|
||||||
"role",
|
"role",
|
||||||
&RelationMemberWrap::GetRole,
|
&RelationMemberWrap::GetRole,
|
||||||
"item_type",
|
"item_type",
|
||||||
&RelationMemberWrap::GetItemType
|
&RelationMemberWrap::GetItemType);
|
||||||
);
|
|
||||||
|
|
||||||
/** TODO: make better solution with members iteration.
|
/** TODO: make better solution with members iteration.
|
||||||
* For this moment, just make vector of RelationMember wrappers
|
* For this moment, just make vector of RelationMember wrappers
|
||||||
@ -344,9 +331,10 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
|||||||
&osmium::Relation::id,
|
&osmium::Relation::id,
|
||||||
"version",
|
"version",
|
||||||
&osmium::Relation::version,
|
&osmium::Relation::version,
|
||||||
"members", [](const osmium::Relation &rel)
|
"members",
|
||||||
{
|
[](const osmium::Relation &rel) {
|
||||||
std::vector<RelationMemberWrap> members(rel.members().size());
|
std::vector<RelationMemberWrap> members(
|
||||||
|
rel.members().size());
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
for (const auto &m : rel.members())
|
for (const auto &m : rel.members())
|
||||||
members[i++].init(m);
|
members[i++].init(m);
|
||||||
@ -445,8 +433,7 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
|||||||
|
|
||||||
struct ExtractionRelationData
|
struct ExtractionRelationData
|
||||||
{
|
{
|
||||||
explicit ExtractionRelationData(ExtractionRelation::AttributesMap & attrs_)
|
explicit ExtractionRelationData(ExtractionRelation::AttributesMap &attrs_) : attrs(attrs_)
|
||||||
: attrs(attrs_)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -458,21 +445,25 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
|||||||
"size",
|
"size",
|
||||||
[](const ExtractionRelationData &data) { return data.attrs.size(); },
|
[](const ExtractionRelationData &data) { return data.attrs.size(); },
|
||||||
sol::meta_function::new_index,
|
sol::meta_function::new_index,
|
||||||
[](ExtractionRelationData & data, const std::string & key, sol::stack_object object) { return data.attrs[key] = object.as<std::string>(); },
|
[](ExtractionRelationData &data, const std::string &key, sol::stack_object object) {
|
||||||
|
return data.attrs[key] = object.as<std::string>();
|
||||||
|
},
|
||||||
sol::meta_function::index,
|
sol::meta_function::index,
|
||||||
[](ExtractionRelationData & data, const std::string & key) { return data.attrs[key]; }
|
[](ExtractionRelationData &data, const std::string &key) { return data.attrs[key]; });
|
||||||
);
|
|
||||||
|
|
||||||
context.state.new_usertype<ExtractionRelation>(
|
context.state.new_usertype<ExtractionRelation>(
|
||||||
"ExtractionRelation",
|
"ExtractionRelation",
|
||||||
sol::meta_function::new_index,
|
sol::meta_function::new_index,
|
||||||
[](ExtractionRelation & rel, const RelationMemberWrap & member) { return ExtractionRelationData(rel.GetMember(member.ref())); },
|
[](ExtractionRelation &rel, const RelationMemberWrap &member) {
|
||||||
|
return ExtractionRelationData(rel.GetMember(member.ref()));
|
||||||
|
},
|
||||||
sol::meta_function::index,
|
sol::meta_function::index,
|
||||||
[](ExtractionRelation & rel, const RelationMemberWrap & member) { return ExtractionRelationData(rel.GetMember(member.ref())); },
|
[](ExtractionRelation &rel, const RelationMemberWrap &member) {
|
||||||
|
return ExtractionRelationData(rel.GetMember(member.ref()));
|
||||||
|
},
|
||||||
"restriction",
|
"restriction",
|
||||||
sol::property([](const ExtractionRelation &rel) { return rel.is_restriction; },
|
sol::property([](const ExtractionRelation &rel) { return rel.is_restriction; },
|
||||||
[](ExtractionRelation & rel, bool flag) { rel.is_restriction = flag; })
|
[](ExtractionRelation &rel, bool flag) { rel.is_restriction = flag; }));
|
||||||
);
|
|
||||||
|
|
||||||
context.state.new_usertype<ExtractionSegment>("ExtractionSegment",
|
context.state.new_usertype<ExtractionSegment>("ExtractionSegment",
|
||||||
"source",
|
"source",
|
||||||
@ -565,8 +556,7 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
|||||||
util::Log() << "Using profile api version " << context.api_version;
|
util::Log() << "Using profile api version " << context.api_version;
|
||||||
|
|
||||||
// version-dependent parts of the api
|
// version-dependent parts of the api
|
||||||
auto initV2Context = [&]()
|
auto initV2Context = [&]() {
|
||||||
{
|
|
||||||
// clear global not used in v2
|
// clear global not used in v2
|
||||||
context.state["properties"] = sol::nullopt;
|
context.state["properties"] = sol::nullopt;
|
||||||
|
|
||||||
@ -790,10 +780,13 @@ void Sol2ScriptingEnvironment::ProcessElements(
|
|||||||
result_relation.clear();
|
result_relation.clear();
|
||||||
if (local_context.has_relation_function)
|
if (local_context.has_relation_function)
|
||||||
{
|
{
|
||||||
local_context.ProcessRelation(static_cast<const osmium::Relation &>(*entity), result_relation);
|
local_context.ProcessRelation(static_cast<const osmium::Relation &>(*entity),
|
||||||
|
result_relation);
|
||||||
}
|
}
|
||||||
resulting_relations.push_back(std::pair<const osmium::Relation &, ExtractionRelation>(
|
resulting_relations.push_back(
|
||||||
static_cast<const osmium::Relation &>(*entity), std::move(result_relation)));
|
std::pair<const osmium::Relation &, ExtractionRelation>(
|
||||||
|
static_cast<const osmium::Relation &>(*entity),
|
||||||
|
std::move(result_relation)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1012,7 +1005,9 @@ void Sol2ScriptingEnvironment::ProcessSegment(ExtractionSegment &segment)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LuaScriptingContext::ProcessNode(const osmium::Node &node, ExtractionNode &result, const ExtractionRelationContainer::RelationList &relations)
|
void LuaScriptingContext::ProcessNode(const osmium::Node &node,
|
||||||
|
ExtractionNode &result,
|
||||||
|
const ExtractionRelationContainer::RelationList &relations)
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(state.lua_state() != nullptr);
|
BOOST_ASSERT(state.lua_state() != nullptr);
|
||||||
|
|
||||||
@ -1031,7 +1026,9 @@ void LuaScriptingContext::ProcessNode(const osmium::Node &node, ExtractionNode &
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LuaScriptingContext::ProcessWay(const osmium::Way &way, ExtractionWay &result, const ExtractionRelationContainer::RelationList &relations)
|
void LuaScriptingContext::ProcessWay(const osmium::Way &way,
|
||||||
|
ExtractionWay &result,
|
||||||
|
const ExtractionRelationContainer::RelationList &relations)
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(state.lua_state() != nullptr);
|
BOOST_ASSERT(state.lua_state() != nullptr);
|
||||||
|
|
||||||
@ -1050,7 +1047,8 @@ void LuaScriptingContext::ProcessWay(const osmium::Way &way, ExtractionWay &resu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LuaScriptingContext::ProcessRelation(const osmium::Relation &relation, ExtractionRelation &result)
|
void LuaScriptingContext::ProcessRelation(const osmium::Relation &relation,
|
||||||
|
ExtractionRelation &result)
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(state.lua_state() != nullptr);
|
BOOST_ASSERT(state.lua_state() != nullptr);
|
||||||
BOOST_ASSERT(api_version > 2);
|
BOOST_ASSERT(api_version > 2);
|
||||||
|
@ -34,7 +34,8 @@ class MockScriptingEnvironment : public extractor::ScriptingEnvironment
|
|||||||
void ProcessTurn(extractor::ExtractionTurn &) override final {}
|
void ProcessTurn(extractor::ExtractionTurn &) override final {}
|
||||||
void ProcessSegment(extractor::ExtractionSegment &) override final {}
|
void ProcessSegment(extractor::ExtractionSegment &) override final {}
|
||||||
|
|
||||||
void ProcessElements(const osmium::memory::Buffer &,
|
void ProcessElements(
|
||||||
|
const osmium::memory::Buffer &,
|
||||||
const extractor::RestrictionParser &,
|
const extractor::RestrictionParser &,
|
||||||
const extractor::ExtractionRelationContainer &,
|
const extractor::ExtractionRelationContainer &,
|
||||||
std::vector<std::pair<const osmium::Node &, extractor::ExtractionNode>> &,
|
std::vector<std::pair<const osmium::Node &, extractor::ExtractionNode>> &,
|
||||||
|
Loading…
Reference in New Issue
Block a user