This commit is contained in:
Lauren Budorick
2016-05-23 20:13:32 -04:00
committed by Daniel J. Hofmann
parent 1659bbf7b1
commit 44fdf86702
5 changed files with 94 additions and 20 deletions
@@ -24,6 +24,7 @@
#include "util/static_graph.hpp"
#include "util/static_rtree.hpp"
#include "util/typedefs.hpp"
#include "util/packed_vector.hpp"
#include "osrm/coordinate.hpp"
@@ -73,7 +74,7 @@ class InternalDataFacade final : public BaseDataFacade
std::string m_timestamp;
util::ShM<util::Coordinate, false>::vector m_coordinate_list;
util::ShM<OSMNodeID, false>::vector m_osmnodeid_list;
util::PackedVector<false> m_osmnodeid_list;
util::ShM<NodeID, false>::vector m_via_node_list;
util::ShM<unsigned, false>::vector m_name_ID_list;
util::ShM<extractor::guidance::TurnInstruction, false>::vector m_turn_instruction_list;
@@ -157,12 +158,12 @@ class InternalDataFacade final : public BaseDataFacade
unsigned number_of_coordinates = 0;
nodes_input_stream.read((char *)&number_of_coordinates, sizeof(unsigned));
m_coordinate_list.resize(number_of_coordinates);
m_osmnodeid_list.resize(number_of_coordinates);
m_osmnodeid_list.reserve(number_of_coordinates);
for (unsigned i = 0; i < number_of_coordinates; ++i)
{
nodes_input_stream.read((char *)&current_node, sizeof(extractor::QueryNode));
m_coordinate_list[i] = util::Coordinate(current_node.lon, current_node.lat);
m_osmnodeid_list[i] = current_node.node_id;
m_osmnodeid_list.push_back(current_node.node_id);
BOOST_ASSERT(m_coordinate_list[i].IsValid());
}
@@ -443,7 +444,7 @@ class InternalDataFacade final : public BaseDataFacade
OSMNodeID GetOSMNodeIDOfNode(const unsigned id) const override final
{
return m_osmnodeid_list[id];
return m_osmnodeid_list.at(id);
}
extractor::guidance::TurnInstruction
@@ -76,7 +76,7 @@ class SharedDataFacade final : public BaseDataFacade
extractor::ProfileProperties *m_profile_properties;
util::ShM<util::Coordinate, true>::vector m_coordinate_list;
util::ShM<OSMNodeID, true>::vector m_osmnodeid_list;
util::PackedVector<true> m_osmnodeid_list;
util::ShM<NodeID, true>::vector m_via_node_list;
util::ShM<unsigned, true>::vector m_name_ID_list;
util::ShM<extractor::guidance::TurnInstruction, true>::vector m_turn_instruction_list;
@@ -175,6 +175,7 @@ class SharedDataFacade final : public BaseDataFacade
shared_memory, storage::SharedDataLayout::OSM_NODE_ID_LIST);
m_osmnodeid_list.reset(osmnodeid_list_ptr,
data_layout->num_entries[storage::SharedDataLayout::OSM_NODE_ID_LIST]);
m_osmnodeid_list.set_number_of_entries(util::PackedVectorCapacity(data_layout->num_entries[storage::SharedDataLayout::OSM_NODE_ID_LIST]));
auto travel_mode_list_ptr = data_layout->GetBlockPtr<extractor::TravelMode>(
shared_memory, storage::SharedDataLayout::TRAVEL_MODE);
@@ -479,7 +480,7 @@ class SharedDataFacade final : public BaseDataFacade
OSMNodeID GetOSMNodeIDOfNode(const unsigned id) const override final
{
return m_osmnodeid_list[id];
return m_osmnodeid_list.at(id);
}
virtual void GetUncompressedGeometry(const EdgeID id,