osrm-backend/include/extractor/graph_compressor.hpp

40 lines
928 B
C++
Raw Normal View History

#ifndef GEOMETRY_COMPRESSOR_HPP
#define GEOMETRY_COMPRESSOR_HPP
2016-01-02 11:13:44 -05:00
#include "util/typedefs.hpp"
2016-01-02 11:13:44 -05:00
#include "util/node_based_graph.hpp"
#include <memory>
#include <unordered_set>
#include <vector>
2016-01-05 10:51:13 -05:00
namespace osrm
{
namespace extractor
{
class CompressedEdgeContainer;
struct TurnRestriction;
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,
const std::unordered_set<NodeID> &traffic_lights,
std::vector<TurnRestriction> &turn_restrictions,
2016-01-05 10:51:13 -05:00
util::NodeBasedDynamicGraph &graph,
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;
};
2016-01-05 10:51:13 -05:00
}
}
#endif