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