use enum for TravelMode

This commit is contained in:
Emil Tin
2014-08-16 10:17:33 +02:00
parent 35988d8f09
commit 207cddd50b
11 changed files with 57 additions and 14 deletions
+3 -2
View File
@@ -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
+2 -2
View File
@@ -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));
+4 -3
View File
@@ -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;