osrm-backend/include/extractor/graph_compressor.hpp

43 lines
1.2 KiB
C++
Raw Permalink Normal View History

#ifndef GEOMETRY_COMPRESSOR_HPP
#define GEOMETRY_COMPRESSOR_HPP
#include "extractor/scripting_environment.hpp"
2016-01-02 11:13:44 -05:00
#include "util/typedefs.hpp"
#include "traffic_signals.hpp"
2016-01-02 11:13:44 -05:00
#include "util/node_based_graph.hpp"
#include <memory>
#include <unordered_set>
#include <vector>
namespace osrm::extractor
2016-01-05 10:51:13 -05:00
{
class CompressedEdgeContainer;
struct TurnRestriction;
struct UnresolvedManeuverOverride;
class GraphCompressor
{
2016-01-05 10:51:13 -05:00
using EdgeData = util::NodeBasedDynamicGraph::EdgeData;
2016-01-05 06:04:04 -05:00
public:
void Compress(const std::unordered_set<NodeID> &barrier_nodes,
TrafficSignals &traffic_signals,
ScriptingEnvironment &scripting_environment,
std::vector<TurnRestriction> &turn_restrictions,
2018-02-09 13:32:09 -05:00
std::vector<UnresolvedManeuverOverride> &maneuver_overrides,
2016-01-05 10:51:13 -05:00
util::NodeBasedDynamicGraph &graph,
const std::vector<NodeBasedEdgeAnnotation> &node_data_container,
2016-01-05 06:04:04 -05:00
CompressedEdgeContainer &geometry_compressor);
private:
void PrintStatistics(unsigned original_number_of_nodes,
unsigned original_number_of_edges,
2016-01-05 10:51:13 -05:00
const util::NodeBasedDynamicGraph &graph) const;
};
2022-12-20 12:00:11 -05:00
} // namespace osrm::extractor
2016-01-05 10:51:13 -05:00
#endif