Skip to content

Commit

Permalink
road_class -> road_priority_class
Browse files Browse the repository at this point in the history
  • Loading branch information
Moritz Kobitzsch committed Jun 29, 2016
1 parent 9e93324 commit 9850100
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 34 deletions.
20 changes: 10 additions & 10 deletions include/extractor/guidance/road_classification.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace extractor
namespace guidance
{

namespace RoadClass
namespace RoadPriorityClass
{
typedef std::uint8_t Enum;
// Top priority Road
Expand Down Expand Up @@ -53,15 +53,15 @@ class RoadClassification
// the road priority is used as an indicator for forks. If the roads are of similar priority
// (difference <=1), we can see the road as a fork. Else one of the road classes is seen as
// obvious choice
RoadClass::Enum road_class : 5;
RoadPriorityClass::Enum road_priority_class : 5;

public:
// default construction
RoadClassification() : motorway_class(0), link_class(0), may_be_ignored(1), road_class(RoadClass::CONNECTIVITY) {}
RoadClassification() : motorway_class(0), link_class(0), may_be_ignored(1), road_priority_class(RoadPriorityClass::CONNECTIVITY) {}

RoadClassification(bool motorway_class, bool link_class, bool may_be_ignored, RoadClass::Enum road_class)
RoadClassification(bool motorway_class, bool link_class, bool may_be_ignored, RoadPriorityClass::Enum road_priority_class)
: motorway_class(motorway_class), link_class(link_class), may_be_ignored(may_be_ignored),
road_class(road_class)
road_priority_class(road_priority_class)
{
}

Expand All @@ -76,22 +76,22 @@ class RoadClassification
inline bool isLowPriorityRoadClass() const { return (0 != may_be_ignored); }
inline void setLowPriorityFlag(const bool new_value) { may_be_ignored = new_value; }

inline std::uint32_t getPriority() const { return static_cast<std::uint32_t>(road_class); }
inline std::uint32_t getPriority() const { return static_cast<std::uint32_t>(road_priority_class); }

inline RoadClass::Enum getClass() const { return road_class; }
inline void setClass(const RoadClass::Enum new_value) { road_class = new_value; }
inline RoadPriorityClass::Enum getClass() const { return road_priority_class; }
inline void setClass(const RoadPriorityClass::Enum new_value) { road_priority_class = new_value; }

inline bool operator==(const RoadClassification &other) const
{
return motorway_class == other.motorway_class && link_class == other.link_class &&
may_be_ignored == other.may_be_ignored && road_class == other.road_class;
may_be_ignored == other.may_be_ignored && road_priority_class == other.road_priority_class;
}

inline std::string toString() const
{
return std::string() + (motorway_class ? "motorway" : "normal") +
(link_class ? "_link" : "") + (may_be_ignored ? " ignorable " : " important ") +
std::to_string(road_class);
std::to_string(road_priority_class);
}
};

Expand Down
16 changes: 8 additions & 8 deletions profiles/lib/guidance.lua
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
local Guidance = {}

-- Guidance: Default Mapping from roads to types/priorities
highway_classes = { ["motorway"] = road_class.motorway, ["motorway_link"] = road_class.link_road, ["trunk"] = road_class.trunk, ["trunk_link"] = road_class.link_road,
["primary"] = road_class.primary, ["primary_link"] = road_class.link_road, ["secondary"] = road_class.secondary, ["secondary_link"] = road_class.link_road,
["tertiary"] = road_class.tertiary, ["tertiary_link"] = road_class.link_road, ["unclassified"] = road_class.side_residential, ["residential"] = road_class.side_residential,
["service"] = road_class.connectivity, ["living_street"] = road_class.main_residential, ["track"] = road_class.bike_path, ["path"] = road_class.bike_path,
["footway"] = road_class.foot_path, ["pedestrian"] = road_class.foot_path, ["steps"] = road_class.foot_path}
default_highway_class = road_class.connectivity;
highway_classes = { ["motorway"] = road_priority_class.motorway, ["motorway_link"] = road_priority_class.link_road, ["trunk"] = road_priority_class.trunk, ["trunk_link"] = road_priority_class.link_road,
["primary"] = road_priority_class.primary, ["primary_link"] = road_priority_class.link_road, ["secondary"] = road_priority_class.secondary, ["secondary_link"] = road_priority_class.link_road,
["tertiary"] = road_priority_class.tertiary, ["tertiary_link"] = road_priority_class.link_road, ["unclassified"] = road_priority_class.side_residential, ["residential"] = road_priority_class.side_residential,
["service"] = road_priority_class.connectivity, ["living_street"] = road_priority_class.main_residential, ["track"] = road_priority_class.bike_path, ["path"] = road_priority_class.bike_path,
["footway"] = road_priority_class.foot_path, ["pedestrian"] = road_priority_class.foot_path, ["steps"] = road_priority_class.foot_path}
default_highway_class = road_priority_class.connectivity;

motorway_types = { ["motorway"] = true, ["motorway_link"] = true, ["trunk"] = true, ["trunk_link"] = true }

Expand All @@ -25,9 +25,9 @@ function Guidance.set_classification (highway, result)
result.road_classification.link_class = true;
end
if highway_classes[highway] ~= nil then
result.road_classification.road_class = highway_classes[highway]
result.road_classification.road_priority_class = highway_classes[highway]
else
result.road_classification.road_class = default_highway_class
result.road_classification.road_priority_class = default_highway_class
end
if road_types[highway] then
result.road_classification.may_be_ignored = false;
Expand Down
33 changes: 17 additions & 16 deletions src/extractor/scripting_environment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -92,21 +92,22 @@ void ScriptingEnvironment::InitContext(ScriptingEnvironment::Context &context)
luabind::value("river_down", TRAVEL_MODE_RIVER_DOWN),
luabind::value("route", TRAVEL_MODE_ROUTE)],

luabind::class_<extractor::guidance::RoadClass::Enum>("road_class")
.enum_("enums")[luabind::value("motorway", extractor::guidance::RoadClass::MOTORWAY),
luabind::value("trunk", extractor::guidance::RoadClass::TRUNK),
luabind::value("primary", extractor::guidance::RoadClass::PRIMARY),
luabind::value("secondary", extractor::guidance::RoadClass::SECONDARY),
luabind::value("tertiary", extractor::guidance::RoadClass::TERTIARY),
luabind::value("main_residential",
extractor::guidance::RoadClass::MAIN_RESIDENTIAL),
luabind::value("side_residential",
extractor::guidance::RoadClass::SIDE_RESIDENTIAL),
luabind::value("link_road", extractor::guidance::RoadClass::LINK_ROAD),
luabind::value("bike_path", extractor::guidance::RoadClass::BIKE_PATH),
luabind::value("foot_path", extractor::guidance::RoadClass::FOOT_PATH),
luabind::value("connectivity",
extractor::guidance::RoadClass::CONNECTIVITY)],
luabind::class_<extractor::guidance::RoadPriorityClass::Enum>("road_priority_class")
.enum_("enums")
[luabind::value("motorway", extractor::guidance::RoadPriorityClass::MOTORWAY),
luabind::value("trunk", extractor::guidance::RoadPriorityClass::TRUNK),
luabind::value("primary", extractor::guidance::RoadPriorityClass::PRIMARY),
luabind::value("secondary", extractor::guidance::RoadPriorityClass::SECONDARY),
luabind::value("tertiary", extractor::guidance::RoadPriorityClass::TERTIARY),
luabind::value("main_residential",
extractor::guidance::RoadPriorityClass::MAIN_RESIDENTIAL),
luabind::value("side_residential",
extractor::guidance::RoadPriorityClass::SIDE_RESIDENTIAL),
luabind::value("link_road", extractor::guidance::RoadPriorityClass::LINK_ROAD),
luabind::value("bike_path", extractor::guidance::RoadPriorityClass::BIKE_PATH),
luabind::value("foot_path", extractor::guidance::RoadPriorityClass::FOOT_PATH),
luabind::value("connectivity",
extractor::guidance::RoadPriorityClass::CONNECTIVITY)],

luabind::class_<SourceContainer>("sources")
.def(luabind::constructor<>())
Expand Down Expand Up @@ -159,7 +160,7 @@ void ScriptingEnvironment::InitContext(ScriptingEnvironment::Context &context)
.property("may_be_ignored",
&guidance::RoadClassification::isLowPriorityRoadClass,
&guidance::RoadClassification::setLowPriorityFlag)
.property("road_class",
.property("road_priority_class",
&guidance::RoadClassification::getClass,
&guidance::RoadClassification::setClass),

Expand Down

0 comments on commit 9850100

Please sign in to comment.