| 72 | } |
| 73 | |
| 74 | auto LoadAndUpdateEdgeExpandedGraph(const CustomizationConfig &config, |
| 75 | const partitioner::MultiLevelPartition &mlp, |
| 76 | std::vector<EdgeWeight> &node_weights, |
| 77 | std::vector<EdgeDuration> &node_durations, |
| 78 | std::vector<EdgeDistance> &node_distances, |
| 79 | std::uint32_t &connectivity_checksum) |
| 80 | { |
| 81 | updater::Updater updater(config.updater_config); |
| 82 | |
| 83 | std::vector<extractor::EdgeBasedEdge> edge_based_edge_list; |
| 84 | EdgeID num_nodes = updater.LoadAndUpdateEdgeExpandedGraph( |
| 85 | edge_based_edge_list, node_weights, node_durations, connectivity_checksum); |
| 86 | |
| 87 | extractor::files::readEdgeBasedNodeDistances(config.GetPath(".osrm.enw"), node_distances); |
| 88 | |
| 89 | auto directed = partitioner::splitBidirectionalEdges(edge_based_edge_list); |
| 90 | |
| 91 | auto tidied = |
| 92 | partitioner::prepareEdgesForUsageInGraph<partitioner::MultiLevelEdgeBasedGraph::InputEdge>( |
| 93 | std::move(directed)); |
| 94 | |
| 95 | auto edge_based_graph = partitioner::MultiLevelEdgeBasedGraph(mlp, num_nodes, tidied); |
| 96 | |
| 97 | return edge_based_graph; |
| 98 | } |
| 99 | |
| 100 | std::vector<CellMetric> customizeFilteredMetrics(const partitioner::MultiLevelEdgeBasedGraph &graph, |
| 101 | const partitioner::CellStorage &storage, |
no test coverage detected