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