Move bearing to public namespace
This commit is contained in:
parent
3f598a5121
commit
a8fc95d4e4
@ -382,7 +382,7 @@ set_property(TARGET osrm-routed PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|||||||
file(GLOB VariantGlob third_party/variant/*.hpp)
|
file(GLOB VariantGlob third_party/variant/*.hpp)
|
||||||
file(GLOB LibraryGlob include/osrm/*.hpp)
|
file(GLOB LibraryGlob include/osrm/*.hpp)
|
||||||
file(GLOB ParametersGlob include/engine/api/*.hpp)
|
file(GLOB ParametersGlob include/engine/api/*.hpp)
|
||||||
set(EngineHeader include/engine/status.hpp include/engine/engine_config.hpp include/engine/hint.hpp include/engine/object_encoder.hpp include/engine/phantom_node.hpp)
|
set(EngineHeader include/engine/status.hpp include/engine/engine_config.hpp include/engine/hint.hpp include/engine/bearing.hpp include/engine/object_encoder.hpp include/engine/phantom_node.hpp)
|
||||||
set(UtilHeader include/util/coordinate.hpp include/util/json_container.hpp include/util/typedefs.hpp include/util/strong_typedef.hpp)
|
set(UtilHeader include/util/coordinate.hpp include/util/json_container.hpp include/util/typedefs.hpp include/util/strong_typedef.hpp)
|
||||||
set(ExtractorHeader include/extractor/extractor.hpp include/extractor/extractor_config.hpp include/extractor/travel_mode.hpp)
|
set(ExtractorHeader include/extractor/extractor.hpp include/extractor/extractor_config.hpp include/extractor/travel_mode.hpp)
|
||||||
set(ContractorHeader include/contractor/contractor.hpp include/contractor/contractor_config.hpp)
|
set(ContractorHeader include/contractor/contractor.hpp include/contractor/contractor_config.hpp)
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#define ENGINE_API_BASE_PARAMETERS_HPP
|
#define ENGINE_API_BASE_PARAMETERS_HPP
|
||||||
|
|
||||||
#include "engine/hint.hpp"
|
#include "engine/hint.hpp"
|
||||||
|
#include "engine/bearing.hpp"
|
||||||
#include "util/coordinate.hpp"
|
#include "util/coordinate.hpp"
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <boost/optional.hpp>
|
||||||
@ -17,12 +18,6 @@ namespace api
|
|||||||
{
|
{
|
||||||
struct BaseParameters
|
struct BaseParameters
|
||||||
{
|
{
|
||||||
struct Bearing
|
|
||||||
{
|
|
||||||
short bearing;
|
|
||||||
short range;
|
|
||||||
};
|
|
||||||
|
|
||||||
std::vector<util::Coordinate> coordinates;
|
std::vector<util::Coordinate> coordinates;
|
||||||
std::vector<boost::optional<Hint>> hints;
|
std::vector<boost::optional<Hint>> hints;
|
||||||
std::vector<boost::optional<double>> radiuses;
|
std::vector<boost::optional<double>> radiuses;
|
||||||
@ -39,24 +34,12 @@ struct BaseParameters
|
|||||||
{
|
{
|
||||||
if (bearing_and_range)
|
if (bearing_and_range)
|
||||||
{
|
{
|
||||||
return bearing_and_range->bearing >= 0 &&
|
return bearing_and_range->IsValid();
|
||||||
bearing_and_range->bearing <= 360 &&
|
|
||||||
bearing_and_range->range >= 0 &&
|
|
||||||
bearing_and_range->range <= 180;
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool operator==(const BaseParameters::Bearing lhs, const BaseParameters::Bearing rhs)
|
|
||||||
{
|
|
||||||
return lhs.bearing == rhs.bearing && lhs.range == rhs.range;
|
|
||||||
}
|
|
||||||
inline bool operator!=(const BaseParameters::Bearing lhs, const BaseParameters::Bearing rhs)
|
|
||||||
{
|
|
||||||
return !(lhs == rhs);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
25
include/engine/bearing.hpp
Normal file
25
include/engine/bearing.hpp
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#ifndef OSRM_ENGINE_BEARING_HPP
|
||||||
|
#define OSRM_ENGINE_BEARING_HPP
|
||||||
|
|
||||||
|
namespace osrm
|
||||||
|
{
|
||||||
|
namespace engine
|
||||||
|
{
|
||||||
|
|
||||||
|
struct Bearing
|
||||||
|
{
|
||||||
|
short bearing;
|
||||||
|
short range;
|
||||||
|
|
||||||
|
bool IsValid() const { return bearing >= 0 && bearing <= 360 && range >= 0 && range <= 180; }
|
||||||
|
};
|
||||||
|
|
||||||
|
inline bool operator==(const Bearing lhs, const Bearing rhs)
|
||||||
|
{
|
||||||
|
return lhs.bearing == rhs.bearing && lhs.range == rhs.range;
|
||||||
|
}
|
||||||
|
inline bool operator!=(const Bearing lhs, const Bearing rhs) { return !(lhs == rhs); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
11
include/osrm/bearing.hpp
Normal file
11
include/osrm/bearing.hpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#ifndef OSRM_BEARING_HPP
|
||||||
|
#define OSRM_BEARING_HPP
|
||||||
|
|
||||||
|
#include "engine/bearing.hpp"
|
||||||
|
|
||||||
|
namespace osrm
|
||||||
|
{
|
||||||
|
using engine::Bearing;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
11
include/osrm/tile_parameters.hpp
Normal file
11
include/osrm/tile_parameters.hpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#ifndef GLOBAL_TILE_PARAMETERS_HPP
|
||||||
|
#define GLOBAL_TILE_PARAMETERS_HPP
|
||||||
|
|
||||||
|
#include "engine/api/tile_parameters.hpp"
|
||||||
|
|
||||||
|
namespace osrm
|
||||||
|
{
|
||||||
|
using engine::api::TileParameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "engine/polyline_compressor.hpp"
|
#include "engine/polyline_compressor.hpp"
|
||||||
#include "engine/hint.hpp"
|
#include "engine/hint.hpp"
|
||||||
|
#include "engine/bearing.hpp"
|
||||||
|
|
||||||
#include <boost/spirit/include/qi_lit.hpp>
|
#include <boost/spirit/include/qi_lit.hpp>
|
||||||
#include <boost/spirit/include/qi_char_.hpp>
|
#include <boost/spirit/include/qi_char_.hpp>
|
||||||
@ -39,11 +40,11 @@ struct BaseParametersGrammar : boost::spirit::qi::grammar<std::string::iterator>
|
|||||||
const auto add_bearing =
|
const auto add_bearing =
|
||||||
[this](boost::optional<boost::fusion::vector2<short, short>> bearing_range)
|
[this](boost::optional<boost::fusion::vector2<short, short>> bearing_range)
|
||||||
{
|
{
|
||||||
boost::optional<engine::api::BaseParameters::Bearing> bearing;
|
boost::optional<engine::Bearing> bearing;
|
||||||
if (bearing_range)
|
if (bearing_range)
|
||||||
{
|
{
|
||||||
bearing = engine::api::BaseParameters::Bearing{
|
bearing = engine::Bearing{boost::fusion::at_c<0>(*bearing_range),
|
||||||
boost::fusion::at_c<0>(*bearing_range), boost::fusion::at_c<1>(*bearing_range)};
|
boost::fusion::at_c<1>(*bearing_range)};
|
||||||
}
|
}
|
||||||
base_parameters.bearings.push_back(std::move(bearing));
|
base_parameters.bearings.push_back(std::move(bearing));
|
||||||
};
|
};
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include "engine/api/table_parameters.hpp"
|
#include "engine/api/table_parameters.hpp"
|
||||||
#include "engine/api/match_parameters.hpp"
|
#include "engine/api/match_parameters.hpp"
|
||||||
#include "engine/api/trip_parameters.hpp"
|
#include "engine/api/trip_parameters.hpp"
|
||||||
|
#include "engine/api/tile_parameters.hpp"
|
||||||
#include "engine/api/nearest_parameters.hpp"
|
#include "engine/api/nearest_parameters.hpp"
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
@ -48,14 +49,14 @@ std::ostream &operator<<(std::ostream &out, api::RouteParameters::OverviewType o
|
|||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
std::ostream &operator<<(std::ostream &out, api::RouteParameters::Bearing bearing)
|
}
|
||||||
|
std::ostream &operator<<(std::ostream &out, Bearing bearing)
|
||||||
{
|
{
|
||||||
out << bearing.bearing << "," << bearing.range;
|
out << bearing.bearing << "," << bearing.range;
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
#include <boost/test/test_tools.hpp>
|
#include <boost/test/test_tools.hpp>
|
||||||
@ -175,8 +176,7 @@ BOOST_AUTO_TEST_CASE(valid_route_urls)
|
|||||||
"_4ghA4JuzAD_IAAAo28BAOYAAAAzAAAAAgAAAEwAAAAAAAAAdIwAAJ4AAAAXiSEDfm7MAAEAAQGLSzmR"),
|
"_4ghA4JuzAD_IAAAo28BAOYAAAAzAAAAAgAAAEwAAAAAAAAAdIwAAJ4AAAAXiSEDfm7MAAEAAQGLSzmR"),
|
||||||
engine::Hint::FromBase64(
|
engine::Hint::FromBase64(
|
||||||
"03AhA0vnzAA_SAAA_____3wEAAAYAAAAQAAAAB4AAABAAAAAoUYBAJ4AAADlcCEDSefMAAMAAQGLSzmR")};
|
"03AhA0vnzAA_SAAA_____3wEAAAYAAAAQAAAAB4AAABAAAAAoUYBAJ4AAADlcCEDSefMAAMAAQGLSzmR")};
|
||||||
engine::api::RouteParameters reference_4{
|
engine::api::RouteParameters reference_4{false,
|
||||||
false,
|
|
||||||
true,
|
true,
|
||||||
engine::api::RouteParameters::GeometriesType::Polyline,
|
engine::api::RouteParameters::GeometriesType::Polyline,
|
||||||
engine::api::RouteParameters::OverviewType::Simplified,
|
engine::api::RouteParameters::OverviewType::Simplified,
|
||||||
@ -184,7 +184,7 @@ BOOST_AUTO_TEST_CASE(valid_route_urls)
|
|||||||
coords_1,
|
coords_1,
|
||||||
hints_4,
|
hints_4,
|
||||||
std::vector<boost::optional<double>>{},
|
std::vector<boost::optional<double>>{},
|
||||||
std::vector<boost::optional<engine::api::BaseParameters::Bearing>>{}};
|
std::vector<boost::optional<engine::Bearing>>{}};
|
||||||
auto result_4 = api::parseParameters<engine::api::RouteParameters>(
|
auto result_4 = api::parseParameters<engine::api::RouteParameters>(
|
||||||
"1,2;3,4?steps=false&hints="
|
"1,2;3,4?steps=false&hints="
|
||||||
"rVghAzxMzABMAwAA5h4CAKMIAAAQAAAAGAAAAAYAAAAAAAAAch8BAJ4AAACpWCED_"
|
"rVghAzxMzABMAwAA5h4CAKMIAAAQAAAAGAAAAAYAAAAAAAAAch8BAJ4AAACpWCED_"
|
||||||
@ -201,9 +201,8 @@ BOOST_AUTO_TEST_CASE(valid_route_urls)
|
|||||||
CHECK_EQUAL_RANGE(reference_4.radiuses, result_4->radiuses);
|
CHECK_EQUAL_RANGE(reference_4.radiuses, result_4->radiuses);
|
||||||
CHECK_EQUAL_RANGE(reference_4.coordinates, result_4->coordinates);
|
CHECK_EQUAL_RANGE(reference_4.coordinates, result_4->coordinates);
|
||||||
|
|
||||||
std::vector<boost::optional<engine::api::BaseParameters::Bearing>> bearings_4 = {
|
std::vector<boost::optional<engine::Bearing>> bearings_4 = {
|
||||||
boost::none, engine::api::BaseParameters::Bearing{200, 10},
|
boost::none, engine::Bearing{200, 10}, engine::Bearing{100, 5},
|
||||||
engine::api::BaseParameters::Bearing{100, 5},
|
|
||||||
};
|
};
|
||||||
engine::api::RouteParameters reference_5{false,
|
engine::api::RouteParameters reference_5{false,
|
||||||
true,
|
true,
|
||||||
|
Loading…
Reference in New Issue
Block a user