use enum for TravelMode
This commit is contained in:
		
							parent
							
								
									35988d8f09
								
							
						
					
					
						commit
						207cddd50b
					
				| @ -1,6 +1,7 @@ | ||||
| #ifndef EDGE_BASED_NODE_H | ||||
| #define EDGE_BASED_NODE_H | ||||
| 
 | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include "../Util/SimpleLogger.h" | ||||
| #include "../typedefs.h" | ||||
| 
 | ||||
| @ -26,8 +27,8 @@ struct EdgeBasedNode | ||||
|         packed_geometry_id(SPECIAL_EDGEID), | ||||
|         fwd_segment_position( std::numeric_limits<unsigned short>::max() ), | ||||
|         is_in_tiny_cc(false), | ||||
|         travel_mode(0), | ||||
|         backward_travel_mode(0) | ||||
|         travel_mode(TravelMode::None), | ||||
|         backward_travel_mode(TravelMode::None) | ||||
|     { } | ||||
| 
 | ||||
|     explicit EdgeBasedNode( | ||||
|  | ||||
| @ -28,6 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| #ifndef IMPORT_EDGE_H | ||||
| #define IMPORT_EDGE_H | ||||
| 
 | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include "../typedefs.h" | ||||
| 
 | ||||
| struct NodeBasedEdge | ||||
|  | ||||
| @ -15,7 +15,7 @@ struct NodeBasedEdgeData | ||||
|         : distance(INVALID_EDGE_WEIGHT), edgeBasedNodeID(SPECIAL_NODEID), | ||||
|           nameID(std::numeric_limits<unsigned>::max()), type(std::numeric_limits<short>::max()), | ||||
|           isAccessRestricted(false), shortcut(false), forward(false), backward(false), | ||||
|           roundabout(false), ignore_in_grid(false), travel_mode(false) | ||||
|           roundabout(false), ignore_in_grid(false), travel_mode(TravelMode::None) | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -29,6 +29,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| #define ORIGINAL_EDGE_DATA_H | ||||
| 
 | ||||
| #include "TurnInstructions.h" | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include "../typedefs.h" | ||||
| 
 | ||||
| #include <limits> | ||||
| @ -49,7 +50,7 @@ struct OriginalEdgeData | ||||
|         : via_node(std::numeric_limits<unsigned>::max()), | ||||
|           name_id(std::numeric_limits<unsigned>::max()), | ||||
|           turn_instruction(TurnInstruction::NoTurn), compressed_geometry(false), | ||||
|           travel_mode(0) | ||||
|           travel_mode(TravelMode::None) | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -29,6 +29,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| #define PHANTOM_NODES_H | ||||
| 
 | ||||
| #include <osrm/Coordinate.h> | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include "../Util/SimpleLogger.h" | ||||
| #include "../typedefs.h" | ||||
| 
 | ||||
| @ -65,8 +66,8 @@ struct PhantomNode | ||||
|         reverse_offset(0), | ||||
|         packed_geometry_id(SPECIAL_EDGEID), | ||||
|         fwd_segment_position(0), | ||||
|         travel_mode(0), | ||||
|         backward_travel_mode(0) | ||||
|         travel_mode(TravelMode::None), | ||||
|         backward_travel_mode(TravelMode::None) | ||||
|     { } | ||||
| 
 | ||||
|     NodeID forward_node_id; | ||||
|  | ||||
| @ -29,6 +29,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| #define RAW_ROUTE_DATA_H | ||||
| 
 | ||||
| #include "../DataStructures/PhantomNodes.h" | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include "../DataStructures/TurnInstructions.h" | ||||
| #include "../typedefs.h" | ||||
| 
 | ||||
| @ -42,7 +43,7 @@ struct PathData | ||||
|         : node(SPECIAL_NODEID), name_id(INVALID_EDGE_WEIGHT), | ||||
|           segment_duration(INVALID_EDGE_WEIGHT), | ||||
|           turn_instruction(TurnInstruction::NoTurn), | ||||
|           travel_mode(0) | ||||
|           travel_mode(TravelMode::None) | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -30,6 +30,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| 
 | ||||
| #include "TurnInstructions.h" | ||||
| 
 | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include "../typedefs.h" | ||||
| 
 | ||||
| #include <osrm/Coordinate.h> | ||||
|  | ||||
							
								
								
									
										35
									
								
								DataStructures/TravelMode.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								DataStructures/TravelMode.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| /*
 | ||||
| 
 | ||||
| Copyright (c) 2013, Project OSRM, Dennis Luxen, others | ||||
| All rights reserved. | ||||
| 
 | ||||
| Redistribution and use in source and binary forms, with or without modification, | ||||
| are permitted provided that the following conditions are met: | ||||
| 
 | ||||
| Redistributions of source code must retain the above copyright notice, this list | ||||
| of conditions and the following disclaimer. | ||||
| Redistributions in binary form must reproduce the above copyright notice, this | ||||
| list of conditions and the following disclaimer in the documentation and/or | ||||
| other materials provided with the distribution. | ||||
| 
 | ||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||||
| ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||||
| WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||||
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR | ||||
| ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||
| (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||||
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||||
| ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||||
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| 
 | ||||
| */ | ||||
| 
 | ||||
| #ifndef TRAVEL_MODE_H | ||||
| #define TRAVEL_MODE_H | ||||
| 
 | ||||
| enum TravelMode : unsigned char { | ||||
|     None=0, Default=1 | ||||
| }; | ||||
| 
 | ||||
| #endif /* TRAVEL_MODE_H */ | ||||
| @ -29,6 +29,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| #define EXTRACTION_WAY_H | ||||
| 
 | ||||
| #include "../DataStructures/HashTable.h" | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include "../typedefs.h" | ||||
| 
 | ||||
| #include <string> | ||||
| @ -53,8 +54,8 @@ struct ExtractionWay | ||||
|         roundabout = false; | ||||
|         isAccessRestricted = false; | ||||
|         ignoreInGrid = false; | ||||
|         travel_mode = 1; | ||||
|         backward_travel_mode = 1; | ||||
|         travel_mode = TravelMode::Default; | ||||
|         backward_travel_mode = TravelMode::Default; | ||||
|     } | ||||
| 
 | ||||
|     enum Directions | ||||
|  | ||||
| @ -121,12 +121,12 @@ void ExtractorCallbacks::ProcessWay(ExtractionWay &parsed_way) | ||||
|         std::reverse(parsed_way.path.begin(), parsed_way.path.end()); | ||||
|         parsed_way.direction = ExtractionWay::oneway; | ||||
|         parsed_way.travel_mode = parsed_way.backward_travel_mode; | ||||
|         parsed_way.backward_travel_mode = 0; | ||||
|         parsed_way.backward_travel_mode = TravelMode::None; | ||||
|     } | ||||
| 
 | ||||
|     const bool split_edge = | ||||
|       (parsed_way.speed>0) && (parsed_way.travel_mode>0) && | ||||
|       (parsed_way.backward_speed>0) && (parsed_way.backward_travel_mode>0) && | ||||
|       (TravelMode::None != parsed_way.backward_speed) && (TravelMode::None != parsed_way.backward_travel_mode) && | ||||
|       ((parsed_way.speed != parsed_way.backward_speed) || | ||||
|       (parsed_way.travel_mode != parsed_way.backward_travel_mode)); | ||||
| 
 | ||||
|  | ||||
| @ -29,6 +29,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| #define INTERNAL_EXTRACTOR_EDGE_H | ||||
| 
 | ||||
| #include "../typedefs.h" | ||||
| #include "../DataStructures/TravelMode.h" | ||||
| #include <osrm/Coordinate.h> | ||||
| 
 | ||||
| #include <boost/assert.hpp> | ||||
| @ -38,7 +39,7 @@ struct InternalExtractorEdge | ||||
|     InternalExtractorEdge() | ||||
|         : start(0), target(0), type(0), direction(0), speed(0), name_id(0), is_roundabout(false), | ||||
|           is_in_tiny_cc(false), is_duration_set(false), is_access_restricted(false), | ||||
|           travel_mode(0), is_split(false) | ||||
|           travel_mode(TravelMode::None), is_split(false) | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
| @ -65,12 +66,12 @@ struct InternalExtractorEdge | ||||
|     // necessary static util functions for stxxl's sorting
 | ||||
|     static InternalExtractorEdge min_value() | ||||
|     { | ||||
|         return InternalExtractorEdge(0, 0, 0, 0, 0, 0, false, false, false, false, 0, false); | ||||
|         return InternalExtractorEdge(0, 0, 0, 0, 0, 0, false, false, false, false, TravelMode::None, false); | ||||
|     } | ||||
|     static InternalExtractorEdge max_value() | ||||
|     { | ||||
|         return InternalExtractorEdge( | ||||
|             SPECIAL_NODEID, SPECIAL_NODEID, 0, 0, 0, 0, false, false, false, false, 0, false); | ||||
|             SPECIAL_NODEID, SPECIAL_NODEID, 0, 0, 0, 0, false, false, false, false, TravelMode::None, false); | ||||
|     } | ||||
| 
 | ||||
|     NodeID start; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user