osrm-backend/include/extractor/extractor.hpp

53 lines
2.0 KiB
C++
Raw Normal View History

#ifndef EXTRACTOR_HPP
#define EXTRACTOR_HPP
2014-07-02 08:05:37 -04:00
#include "extractor/edge_based_edge.hpp"
#include "extractor/extractor_config.hpp"
2016-01-02 11:13:44 -05:00
#include "extractor/edge_based_graph_factory.hpp"
#include "extractor/graph_compressor.hpp"
2014-07-02 08:05:37 -04:00
#include "util/typedefs.hpp"
2016-01-05 10:51:13 -05:00
namespace osrm
{
namespace extractor
{
class Extractor
2014-07-02 08:05:37 -04:00
{
public:
Extractor(ExtractorConfig extractor_config) : config(std::move(extractor_config)) {}
2015-04-24 08:51:25 -04:00
int run();
private:
ExtractorConfig config;
void SetupScriptingEnvironment(lua_State *myLuaState, SpeedProfileProperties &speed_profile);
std::pair<std::size_t, std::size_t>
BuildEdgeExpandedGraph(std::vector<QueryNode> &internal_to_external_node_map,
std::vector<EdgeBasedNode> &node_based_edge_list,
std::vector<bool> &node_is_startpoint,
std::vector<EdgeWeight> &edge_based_node_weights,
2016-01-05 10:51:13 -05:00
util::DeallocatingVector<EdgeBasedEdge> &edge_based_edge_list);
void WriteNodeMapping(const std::vector<QueryNode> &internal_to_external_node_map);
void FindComponents(unsigned max_edge_id,
2016-01-05 10:51:13 -05:00
const util::DeallocatingVector<EdgeBasedEdge> &edges,
std::vector<EdgeBasedNode> &nodes) const;
void BuildRTree(std::vector<EdgeBasedNode> node_based_edge_list,
std::vector<bool> node_is_startpoint,
const std::vector<QueryNode> &internal_to_external_node_map);
std::shared_ptr<RestrictionMap> LoadRestrictionMap();
2016-01-05 10:51:13 -05:00
std::shared_ptr<util::NodeBasedDynamicGraph>
LoadNodeBasedGraph(std::unordered_set<NodeID> &barrier_nodes,
std::unordered_set<NodeID> &traffic_lights,
std::vector<QueryNode> &internal_to_external_node_map);
void WriteEdgeBasedGraph(const std::string &output_file_filename,
const size_t max_edge_id,
2016-01-05 10:51:13 -05:00
util::DeallocatingVector<EdgeBasedEdge> const &edge_based_edge_list);
2014-07-02 08:05:37 -04:00
};
2016-01-05 10:51:13 -05:00
}
}
#endif /* EXTRACTOR_HPP */