simplify code by using new phantom node ctor
This commit is contained in:
parent
86d3556c6d
commit
e5f12347bd
@ -656,8 +656,9 @@ class StaticRTree
|
|||||||
unsigned number_of_elements_from_big_cc = 0;
|
unsigned number_of_elements_from_big_cc = 0;
|
||||||
unsigned number_of_elements_from_tiny_cc = 0;
|
unsigned number_of_elements_from_tiny_cc = 0;
|
||||||
|
|
||||||
|
#ifdef NDEBUG
|
||||||
unsigned pruned_elements = 0;
|
unsigned pruned_elements = 0;
|
||||||
|
#endif
|
||||||
std::pair<double, double> projected_coordinate = {
|
std::pair<double, double> projected_coordinate = {
|
||||||
mercator::lat2y(input_coordinate.lat / COORDINATE_PRECISION),
|
mercator::lat2y(input_coordinate.lat / COORDINATE_PRECISION),
|
||||||
input_coordinate.lon / COORDINATE_PRECISION};
|
input_coordinate.lon / COORDINATE_PRECISION};
|
||||||
@ -701,10 +702,12 @@ class StaticRTree
|
|||||||
pruning_bound.insert(current_perpendicular_distance);
|
pruning_bound.insert(current_perpendicular_distance);
|
||||||
traversal_queue.emplace(current_perpendicular_distance, current_edge);
|
traversal_queue.emplace(current_perpendicular_distance, current_edge);
|
||||||
}
|
}
|
||||||
|
#ifdef NDEBUG
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
++pruned_elements;
|
++pruned_elements;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -749,14 +752,8 @@ class StaticRTree
|
|||||||
projected_coordinate, foot_point_coordinate_on_segment, current_ratio);
|
projected_coordinate, foot_point_coordinate_on_segment, current_ratio);
|
||||||
|
|
||||||
// store phantom node in result vector
|
// store phantom node in result vector
|
||||||
result_phantom_node_vector.emplace_back(
|
result_phantom_node_vector.emplace_back(current_segment,
|
||||||
current_segment.forward_edge_based_node_id,
|
foot_point_coordinate_on_segment);
|
||||||
current_segment.reverse_edge_based_node_id, current_segment.name_id,
|
|
||||||
current_segment.forward_weight, current_segment.reverse_weight,
|
|
||||||
current_segment.forward_offset, current_segment.reverse_offset,
|
|
||||||
current_segment.packed_geometry_id, current_segment.component_id,
|
|
||||||
foot_point_coordinate_on_segment, current_segment.fwd_segment_position,
|
|
||||||
current_segment.forward_travel_mode, current_segment.backward_travel_mode);
|
|
||||||
|
|
||||||
// Hack to fix rounding errors and wandering via nodes.
|
// Hack to fix rounding errors and wandering via nodes.
|
||||||
FixUpRoundingIssue(input_coordinate, result_phantom_node_vector.back());
|
FixUpRoundingIssue(input_coordinate, result_phantom_node_vector.back());
|
||||||
@ -784,17 +781,18 @@ class StaticRTree
|
|||||||
traversal_queue = std::priority_queue<IncrementalQueryCandidate>{};
|
traversal_queue = std::priority_queue<IncrementalQueryCandidate>{};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// SimpleLogger().Write() << "result_phantom_node_vector.size(): " <<
|
#ifdef NDEBUG
|
||||||
// result_phantom_node_vector.size();
|
// SimpleLogger().Write() << "result_phantom_node_vector.size(): " <<
|
||||||
// SimpleLogger().Write() << "max_number_of_phantom_nodes: " << max_number_of_phantom_nodes;
|
// result_phantom_node_vector.size();
|
||||||
// SimpleLogger().Write() << "number_of_elements_from_big_cc: " <<
|
// SimpleLogger().Write() << "max_number_of_phantom_nodes: " << max_number_of_phantom_nodes;
|
||||||
// number_of_elements_from_big_cc;
|
// SimpleLogger().Write() << "number_of_elements_from_big_cc: " <<
|
||||||
// SimpleLogger().Write() << "number_of_elements_from_tiny_cc: " <<
|
// number_of_elements_from_big_cc;
|
||||||
// number_of_elements_from_tiny_cc;
|
// SimpleLogger().Write() << "number_of_elements_from_tiny_cc: " <<
|
||||||
// SimpleLogger().Write() << "inspected_elements: " << inspected_elements;
|
// number_of_elements_from_tiny_cc;
|
||||||
// SimpleLogger().Write() << "max_checked_elements: " << max_checked_elements;
|
// SimpleLogger().Write() << "inspected_elements: " << inspected_elements;
|
||||||
// SimpleLogger().Write() << "pruned_elements: " << pruned_elements;
|
// SimpleLogger().Write() << "max_checked_elements: " << max_checked_elements;
|
||||||
|
// SimpleLogger().Write() << "pruned_elements: " << pruned_elements;
|
||||||
|
#endif
|
||||||
return !result_phantom_node_vector.empty();
|
return !result_phantom_node_vector.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -915,13 +913,9 @@ class StaticRTree
|
|||||||
!osrm::epsilon_compare(current_perpendicular_distance, current_min_dist))
|
!osrm::epsilon_compare(current_perpendicular_distance, current_min_dist))
|
||||||
{
|
{
|
||||||
// store phantom node in result vector
|
// store phantom node in result vector
|
||||||
result_phantom_node_vector.emplace_back(
|
result_phantom_node_vector.emplace_back(current_segment,
|
||||||
current_segment.forward_edge_based_node_id,
|
foot_point_coordinate_on_segment,
|
||||||
current_segment.reverse_edge_based_node_id, current_segment.name_id,
|
current_perpendicular_distance);
|
||||||
current_segment.forward_weight, current_segment.reverse_weight,
|
|
||||||
current_segment.forward_offset, current_segment.reverse_offset,
|
|
||||||
current_segment.packed_geometry_id, foot_point_coordinate_on_segment,
|
|
||||||
current_segment.fwd_segment_position, current_perpendicular_distance);
|
|
||||||
|
|
||||||
// Hack to fix rounding errors and wandering via nodes.
|
// Hack to fix rounding errors and wandering via nodes.
|
||||||
FixUpRoundingIssue(input_coordinate, result_phantom_node_vector.back());
|
FixUpRoundingIssue(input_coordinate, result_phantom_node_vector.back());
|
||||||
|
Loading…
Reference in New Issue
Block a user