#ifndef GEOMETRY_COMPRESSOR_HPP #define GEOMETRY_COMPRESSOR_HPP #include "util/typedefs.hpp" #include "extractor/speed_profile.hpp" #include "util/node_based_graph.hpp" #include #include class CompressedEdgeContainer; class RestrictionMap; class GraphCompressor { using EdgeData = NodeBasedDynamicGraph::EdgeData; public: GraphCompressor(SpeedProfileProperties speed_profile); void Compress(const std::unordered_set& barrier_nodes, const std::unordered_set& traffic_lights, RestrictionMap& restriction_map, NodeBasedDynamicGraph& graph, CompressedEdgeContainer& geometry_compressor); private: void PrintStatistics(unsigned original_number_of_nodes, unsigned original_number_of_edges, const NodeBasedDynamicGraph& graph) const; SpeedProfileProperties speed_profile; }; #endif