Remove GetEdgeBasedNodeID from TurnDataContainer
This commit is contained in:
parent
40d0297885
commit
88082c48cf
@ -345,11 +345,6 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade
|
|||||||
|
|
||||||
void InitializeEdgeInformationPointers(storage::DataLayout &layout, char *memory_ptr)
|
void InitializeEdgeInformationPointers(storage::DataLayout &layout, char *memory_ptr)
|
||||||
{
|
{
|
||||||
auto node_ids_list_ptr =
|
|
||||||
layout.GetBlockPtr<NodeID>(memory_ptr, storage::DataLayout::EDGE_BASED_NODE_ID_LIST);
|
|
||||||
util::vector_view<NodeID> node_ids(
|
|
||||||
node_ids_list_ptr, layout.num_entries[storage::DataLayout::EDGE_BASED_NODE_ID_LIST]);
|
|
||||||
|
|
||||||
const auto lane_data_id_ptr =
|
const auto lane_data_id_ptr =
|
||||||
layout.GetBlockPtr<LaneDataID>(memory_ptr, storage::DataLayout::LANE_DATA_ID);
|
layout.GetBlockPtr<LaneDataID>(memory_ptr, storage::DataLayout::LANE_DATA_ID);
|
||||||
util::vector_view<LaneDataID> lane_data_ids(
|
util::vector_view<LaneDataID> lane_data_ids(
|
||||||
@ -376,8 +371,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade
|
|||||||
util::vector_view<util::guidance::TurnBearing> post_turn_bearings(
|
util::vector_view<util::guidance::TurnBearing> post_turn_bearings(
|
||||||
post_turn_bearing_ptr, layout.num_entries[storage::DataLayout::POST_TURN_BEARING]);
|
post_turn_bearing_ptr, layout.num_entries[storage::DataLayout::POST_TURN_BEARING]);
|
||||||
|
|
||||||
turn_data = extractor::TurnDataView(std::move(node_ids),
|
turn_data = extractor::TurnDataView(std::move(turn_instructions),
|
||||||
std::move(turn_instructions),
|
|
||||||
std::move(lane_data_ids),
|
std::move(lane_data_ids),
|
||||||
std::move(entry_class_ids),
|
std::move(entry_class_ids),
|
||||||
std::move(pre_turn_bearings),
|
std::move(pre_turn_bearings),
|
||||||
@ -624,11 +618,6 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade
|
|||||||
return m_turn_duration_penalties[id];
|
return m_turn_duration_penalties[id];
|
||||||
}
|
}
|
||||||
|
|
||||||
NodeID GetEdgeBasedNodeID(const EdgeID id) const override final
|
|
||||||
{
|
|
||||||
return turn_data.GetNodeID(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
extractor::guidance::TurnInstruction
|
extractor::guidance::TurnInstruction
|
||||||
GetTurnInstructionForEdgeID(const EdgeID id) const override final
|
GetTurnInstructionForEdgeID(const EdgeID id) const override final
|
||||||
{
|
{
|
||||||
|
@ -79,8 +79,6 @@ class BaseDataFacade
|
|||||||
// Gets the name of a datasource
|
// Gets the name of a datasource
|
||||||
virtual StringView GetDatasourceName(const DatasourceID id) const = 0;
|
virtual StringView GetDatasourceName(const DatasourceID id) const = 0;
|
||||||
|
|
||||||
virtual NodeID GetEdgeBasedNodeID(const NodeID id) const = 0;
|
|
||||||
|
|
||||||
virtual extractor::guidance::TurnInstruction
|
virtual extractor::guidance::TurnInstruction
|
||||||
GetTurnInstructionForEdgeID(const EdgeID id) const = 0;
|
GetTurnInstructionForEdgeID(const EdgeID id) const = 0;
|
||||||
|
|
||||||
|
@ -59,7 +59,6 @@ template <storage::Ownership Ownership>
|
|||||||
inline void read(storage::io::FileReader &reader,
|
inline void read(storage::io::FileReader &reader,
|
||||||
detail::TurnDataContainerImpl<Ownership> &turn_data_container)
|
detail::TurnDataContainerImpl<Ownership> &turn_data_container)
|
||||||
{
|
{
|
||||||
storage::serialization::read(reader, turn_data_container.node_data_ids);
|
|
||||||
storage::serialization::read(reader, turn_data_container.turn_instructions);
|
storage::serialization::read(reader, turn_data_container.turn_instructions);
|
||||||
storage::serialization::read(reader, turn_data_container.lane_data_ids);
|
storage::serialization::read(reader, turn_data_container.lane_data_ids);
|
||||||
storage::serialization::read(reader, turn_data_container.entry_class_ids);
|
storage::serialization::read(reader, turn_data_container.entry_class_ids);
|
||||||
@ -71,7 +70,6 @@ template <storage::Ownership Ownership>
|
|||||||
inline void write(storage::io::FileWriter &writer,
|
inline void write(storage::io::FileWriter &writer,
|
||||||
const detail::TurnDataContainerImpl<Ownership> &turn_data_container)
|
const detail::TurnDataContainerImpl<Ownership> &turn_data_container)
|
||||||
{
|
{
|
||||||
storage::serialization::write(writer, turn_data_container.node_data_ids);
|
|
||||||
storage::serialization::write(writer, turn_data_container.turn_instructions);
|
storage::serialization::write(writer, turn_data_container.turn_instructions);
|
||||||
storage::serialization::write(writer, turn_data_container.lane_data_ids);
|
storage::serialization::write(writer, turn_data_container.lane_data_ids);
|
||||||
storage::serialization::write(writer, turn_data_container.entry_class_ids);
|
storage::serialization::write(writer, turn_data_container.entry_class_ids);
|
||||||
|
@ -40,21 +40,18 @@ template <storage::Ownership Ownership> class TurnDataContainerImpl
|
|||||||
public:
|
public:
|
||||||
TurnDataContainerImpl() = default;
|
TurnDataContainerImpl() = default;
|
||||||
|
|
||||||
TurnDataContainerImpl(Vector<NodeID> node_data_ids,
|
TurnDataContainerImpl(Vector<extractor::guidance::TurnInstruction> turn_instructions,
|
||||||
Vector<extractor::guidance::TurnInstruction> turn_instructions,
|
|
||||||
Vector<LaneDataID> lane_data_ids,
|
Vector<LaneDataID> lane_data_ids,
|
||||||
Vector<EntryClassID> entry_class_ids,
|
Vector<EntryClassID> entry_class_ids,
|
||||||
Vector<util::guidance::TurnBearing> pre_turn_bearings,
|
Vector<util::guidance::TurnBearing> pre_turn_bearings,
|
||||||
Vector<util::guidance::TurnBearing> post_turn_bearings)
|
Vector<util::guidance::TurnBearing> post_turn_bearings)
|
||||||
: node_data_ids(std::move(node_data_ids)), turn_instructions(std::move(turn_instructions)),
|
: turn_instructions(std::move(turn_instructions)), lane_data_ids(std::move(lane_data_ids)),
|
||||||
lane_data_ids(std::move(lane_data_ids)), entry_class_ids(std::move(entry_class_ids)),
|
entry_class_ids(std::move(entry_class_ids)),
|
||||||
pre_turn_bearings(std::move(pre_turn_bearings)),
|
pre_turn_bearings(std::move(pre_turn_bearings)),
|
||||||
post_turn_bearings(std::move(post_turn_bearings))
|
post_turn_bearings(std::move(post_turn_bearings))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
NodeID GetNodeID(const EdgeID id) const { return node_data_ids[id]; }
|
|
||||||
|
|
||||||
EntryClassID GetEntryClassID(const EdgeID id) const { return entry_class_ids[id]; }
|
EntryClassID GetEntryClassID(const EdgeID id) const { return entry_class_ids[id]; }
|
||||||
|
|
||||||
util::guidance::TurnBearing GetPreTurnBearing(const EdgeID id) const
|
util::guidance::TurnBearing GetPreTurnBearing(const EdgeID id) const
|
||||||
@ -78,14 +75,12 @@ template <storage::Ownership Ownership> class TurnDataContainerImpl
|
|||||||
|
|
||||||
// Used by EdgeBasedGraphFactory to fill data structure
|
// Used by EdgeBasedGraphFactory to fill data structure
|
||||||
template <typename = std::enable_if<Ownership == storage::Ownership::Container>>
|
template <typename = std::enable_if<Ownership == storage::Ownership::Container>>
|
||||||
void push_back(NodeID node_data_id,
|
void push_back(extractor::guidance::TurnInstruction turn_instruction,
|
||||||
extractor::guidance::TurnInstruction turn_instruction,
|
|
||||||
LaneDataID lane_data_id,
|
LaneDataID lane_data_id,
|
||||||
EntryClassID entry_class_id,
|
EntryClassID entry_class_id,
|
||||||
util::guidance::TurnBearing pre_turn_bearing,
|
util::guidance::TurnBearing pre_turn_bearing,
|
||||||
util::guidance::TurnBearing post_turn_bearing)
|
util::guidance::TurnBearing post_turn_bearing)
|
||||||
{
|
{
|
||||||
node_data_ids.push_back(node_data_id);
|
|
||||||
turn_instructions.push_back(turn_instruction);
|
turn_instructions.push_back(turn_instruction);
|
||||||
lane_data_ids.push_back(lane_data_id);
|
lane_data_ids.push_back(lane_data_id);
|
||||||
entry_class_ids.push_back(entry_class_id);
|
entry_class_ids.push_back(entry_class_id);
|
||||||
@ -99,7 +94,6 @@ template <storage::Ownership Ownership> class TurnDataContainerImpl
|
|||||||
const TurnDataContainerImpl &turn_data_container);
|
const TurnDataContainerImpl &turn_data_container);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Vector<NodeID> node_data_ids;
|
|
||||||
Vector<extractor::guidance::TurnInstruction> turn_instructions;
|
Vector<extractor::guidance::TurnInstruction> turn_instructions;
|
||||||
Vector<LaneDataID> lane_data_ids;
|
Vector<LaneDataID> lane_data_ids;
|
||||||
Vector<EntryClassID> entry_class_ids;
|
Vector<EntryClassID> entry_class_ids;
|
||||||
|
@ -26,7 +26,6 @@ const constexpr char *block_id_to_name[] = {"NAME_CHAR_DATA",
|
|||||||
"CH_GRAPH_EDGE_LIST",
|
"CH_GRAPH_EDGE_LIST",
|
||||||
"COORDINATE_LIST",
|
"COORDINATE_LIST",
|
||||||
"OSM_NODE_ID_LIST",
|
"OSM_NODE_ID_LIST",
|
||||||
"EDGE_BASED_NODE_ID_LIST",
|
|
||||||
"TURN_INSTRUCTION",
|
"TURN_INSTRUCTION",
|
||||||
"ENTRY_CLASSID",
|
"ENTRY_CLASSID",
|
||||||
"R_SEARCH_TREE",
|
"R_SEARCH_TREE",
|
||||||
@ -80,7 +79,6 @@ struct DataLayout
|
|||||||
CH_GRAPH_EDGE_LIST,
|
CH_GRAPH_EDGE_LIST,
|
||||||
COORDINATE_LIST,
|
COORDINATE_LIST,
|
||||||
OSM_NODE_ID_LIST,
|
OSM_NODE_ID_LIST,
|
||||||
EDGE_BASED_NODE_ID_LIST,
|
|
||||||
TURN_INSTRUCTION,
|
TURN_INSTRUCTION,
|
||||||
ENTRY_CLASSID,
|
ENTRY_CLASSID,
|
||||||
R_SEARCH_TREE,
|
R_SEARCH_TREE,
|
||||||
|
@ -495,7 +495,6 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
|
|||||||
|
|
||||||
// the following is the core of the loop.
|
// the following is the core of the loop.
|
||||||
turn_data_container.push_back(
|
turn_data_container.push_back(
|
||||||
edge_data1.edge_id,
|
|
||||||
turn.instruction,
|
turn.instruction,
|
||||||
turn.lane_data_id,
|
turn.lane_data_id,
|
||||||
entry_class_id,
|
entry_class_id,
|
||||||
|
@ -234,7 +234,6 @@ void Storage::PopulateLayout(DataLayout &layout)
|
|||||||
const auto number_of_original_edges = edges_file.ReadElementCount64();
|
const auto number_of_original_edges = edges_file.ReadElementCount64();
|
||||||
|
|
||||||
// note: settings this all to the same size is correct, we extract them from the same struct
|
// note: settings this all to the same size is correct, we extract them from the same struct
|
||||||
layout.SetBlockSize<NodeID>(DataLayout::EDGE_BASED_NODE_ID_LIST, number_of_original_edges);
|
|
||||||
layout.SetBlockSize<util::guidance::TurnBearing>(DataLayout::PRE_TURN_BEARING,
|
layout.SetBlockSize<util::guidance::TurnBearing>(DataLayout::PRE_TURN_BEARING,
|
||||||
number_of_original_edges);
|
number_of_original_edges);
|
||||||
layout.SetBlockSize<util::guidance::TurnBearing>(DataLayout::POST_TURN_BEARING,
|
layout.SetBlockSize<util::guidance::TurnBearing>(DataLayout::POST_TURN_BEARING,
|
||||||
@ -605,11 +604,6 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
|
|||||||
|
|
||||||
// Load original edge data
|
// Load original edge data
|
||||||
{
|
{
|
||||||
auto node_id_list_ptr = layout.GetBlockPtr<NodeID, true>(
|
|
||||||
memory_ptr, storage::DataLayout::EDGE_BASED_NODE_ID_LIST);
|
|
||||||
util::vector_view<NodeID> node_ids(
|
|
||||||
node_id_list_ptr, layout.num_entries[storage::DataLayout::EDGE_BASED_NODE_ID_LIST]);
|
|
||||||
|
|
||||||
const auto lane_data_id_ptr =
|
const auto lane_data_id_ptr =
|
||||||
layout.GetBlockPtr<LaneDataID, true>(memory_ptr, storage::DataLayout::LANE_DATA_ID);
|
layout.GetBlockPtr<LaneDataID, true>(memory_ptr, storage::DataLayout::LANE_DATA_ID);
|
||||||
util::vector_view<LaneDataID> lane_data_ids(
|
util::vector_view<LaneDataID> lane_data_ids(
|
||||||
@ -636,8 +630,7 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
|
|||||||
util::vector_view<util::guidance::TurnBearing> post_turn_bearings(
|
util::vector_view<util::guidance::TurnBearing> post_turn_bearings(
|
||||||
post_turn_bearing_ptr, layout.num_entries[storage::DataLayout::POST_TURN_BEARING]);
|
post_turn_bearing_ptr, layout.num_entries[storage::DataLayout::POST_TURN_BEARING]);
|
||||||
|
|
||||||
extractor::TurnDataView turn_data(std::move(node_ids),
|
extractor::TurnDataView turn_data(std::move(turn_instructions),
|
||||||
std::move(turn_instructions),
|
|
||||||
std::move(lane_data_ids),
|
std::move(lane_data_ids),
|
||||||
std::move(entry_class_ids),
|
std::move(entry_class_ids),
|
||||||
std::move(pre_turn_bearings),
|
std::move(pre_turn_bearings),
|
||||||
|
@ -84,7 +84,7 @@ void checkWeightsConsistency(
|
|||||||
|
|
||||||
for (auto &edge : edge_based_edge_list)
|
for (auto &edge : edge_based_edge_list)
|
||||||
{
|
{
|
||||||
const auto node_id = turn_data.GetNodeID(edge.data.turn_id);
|
const auto node_id = edge.source;
|
||||||
const auto geometry_id = node_data.GetGeometryID(node_id);
|
const auto geometry_id = node_data.GetGeometryID(node_id);
|
||||||
|
|
||||||
if (geometry_id.forward)
|
if (geometry_id.forward)
|
||||||
@ -537,8 +537,8 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
|||||||
std::transform(updated_turn_penalties.begin(),
|
std::transform(updated_turn_penalties.begin(),
|
||||||
updated_turn_penalties.end(),
|
updated_turn_penalties.end(),
|
||||||
updated_segments.begin() + offset,
|
updated_segments.begin() + offset,
|
||||||
[&node_data, &turn_data](const std::uint64_t turn_id) {
|
[&node_data, &edge_based_edge_list](const std::uint64_t turn_id) {
|
||||||
const auto node_id = turn_data.GetNodeID(turn_id);
|
const auto node_id = edge_based_edge_list[turn_id].source;
|
||||||
return node_data.GetGeometryID(node_id);
|
return node_data.GetGeometryID(node_id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -598,7 +598,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
|||||||
});
|
});
|
||||||
|
|
||||||
const auto update_edge = [&](extractor::EdgeBasedEdge &edge) {
|
const auto update_edge = [&](extractor::EdgeBasedEdge &edge) {
|
||||||
const auto node_id = turn_data.GetNodeID(edge.data.turn_id);
|
const auto node_id = edge.source;
|
||||||
const auto geometry_id = node_data.GetGeometryID(node_id);
|
const auto geometry_id = node_data.GetGeometryID(node_id);
|
||||||
auto updated_iter = std::lower_bound(updated_segments.begin(),
|
auto updated_iter = std::lower_bound(updated_segments.begin(),
|
||||||
updated_segments.end(),
|
updated_segments.end(),
|
||||||
|
@ -174,7 +174,6 @@ class MockBaseDataFacade : public engine::datafacade::BaseDataFacade
|
|||||||
|
|
||||||
unsigned GetCheckSum() const override { return 0; }
|
unsigned GetCheckSum() const override { return 0; }
|
||||||
|
|
||||||
NodeID GetEdgeBasedNodeID(const NodeID /*id*/) const override { return 0; }
|
|
||||||
extractor::TravelMode GetTravelMode(const NodeID /* id */) const override
|
extractor::TravelMode GetTravelMode(const NodeID /* id */) const override
|
||||||
{
|
{
|
||||||
return TRAVEL_MODE_INACCESSIBLE;
|
return TRAVEL_MODE_INACCESSIBLE;
|
||||||
|
Loading…
Reference in New Issue
Block a user