adjusted to in/out. only emit one of them for depart/arrive
This commit is contained in:
committed by
Patrick Niklaus
parent
4d9aa65e78
commit
9c8bf820de
@@ -48,6 +48,7 @@
|
||||
#include <thread>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
#include <type_traits>
|
||||
|
||||
namespace osrm
|
||||
{
|
||||
@@ -644,8 +645,10 @@ void Extractor::WriteIntersectionClassificationData(
|
||||
file_out_stream.write( reinterpret_cast<const char*>(&bearings[0]), sizeof(bearings[0]) * bearings.size() );
|
||||
}
|
||||
|
||||
static_assert(std::is_trivially_copyable<util::guidance::EntryClass>::value,
|
||||
"EntryClass Serialization requires trivial copyable entry classes");
|
||||
// FIXME
|
||||
// This should be here, but g++4.8 does not have it...
|
||||
// static_assert(std::is_trivially_copyable<util::guidance::EntryClass>::value,
|
||||
// "EntryClass Serialization requires trivial copyable entry classes");
|
||||
|
||||
util::serializeVector(file_out_stream, entry_classes);
|
||||
TIMER_STOP(write_edges);
|
||||
|
||||
@@ -54,11 +54,7 @@ classifyIntersection(NodeID nid,
|
||||
|
||||
std::sort(turns.begin(), turns.end(),
|
||||
[](const TurnPossibility left, const TurnPossibility right) {
|
||||
return util::guidance::BearingClass::getDiscreteBearing(left.bearing) <
|
||||
util::guidance::BearingClass::getDiscreteBearing(right.bearing) ||
|
||||
(util::guidance::BearingClass::getDiscreteBearing(left.bearing) ==
|
||||
util::guidance::BearingClass::getDiscreteBearing(right.bearing) &&
|
||||
left.bearing < right.bearing);
|
||||
return left.bearing < right.bearing;
|
||||
});
|
||||
|
||||
util::guidance::EntryClass entry_class;
|
||||
@@ -85,6 +81,12 @@ classifyIntersection(NodeID nid,
|
||||
std::size_t number = 0;
|
||||
if (canBeDiscretized)
|
||||
{
|
||||
if(util::guidance::BearingClass::getDiscreteBearing(turns.back().bearing) <
|
||||
util::guidance::BearingClass::getDiscreteBearing(turns.front().bearing))
|
||||
{
|
||||
turns.insert(turns.begin(), turns.back());
|
||||
turns.pop_back();
|
||||
}
|
||||
for (const auto turn : turns)
|
||||
{
|
||||
if (turn.entry_allowed)
|
||||
|
||||
Reference in New Issue
Block a user