From 18c7aa7f8900e16ed9803c42b27ca7c6efef348b Mon Sep 17 00:00:00 2001 From: DennisOSRM Date: Tue, 15 Nov 2011 11:40:29 +0100 Subject: [PATCH] Carrying turn instructions through Contractor --- Contractor/ContractionCleanup.h | 1 + Contractor/Contractor.h | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Contractor/ContractionCleanup.h b/Contractor/ContractionCleanup.h index 7c93e51ad..5a7b0a9ee 100644 --- a/Contractor/ContractionCleanup.h +++ b/Contractor/ContractionCleanup.h @@ -76,6 +76,7 @@ public: bool shortcut; bool forward; bool backward; + short turnInstruction; } data; //sorts by source and other attributes diff --git a/Contractor/Contractor.h b/Contractor/Contractor.h index 288cc15e7..80d22e5b5 100644 --- a/Contractor/Contractor.h +++ b/Contractor/Contractor.h @@ -52,7 +52,7 @@ private: bool shortcut; bool forward; bool backward; - short turnType; + short turnInstruction; } data; struct _HeapData { @@ -118,7 +118,7 @@ public: edge.data.nameID1 = i->nameID1(); edge.data.nameID2 = i->nameID2(); edge.data.via = i->via(); - edge.data.turnType = i->turnInstruction(); + edge.data.turnInstruction = i->turnInstruction(); edge.data.forward = i->isForward(); edge.data.backward = i->isBackward(); edge.data.originalEdges = 1; @@ -139,7 +139,7 @@ public: const NodeID source = edges[i].source; const NodeID target = edges[i].target; const NodeID via = edges[i].data.via; - const short turnType = edges[i].data.turnType; + const short turnType = edges[i].data.turnInstruction; assert(turnType >= 0); //remove eigenloops if ( source == target ) { @@ -152,7 +152,7 @@ public: forwardEdge.target = backwardEdge.target = target; forwardEdge.data.forward = backwardEdge.data.backward = true; forwardEdge.data.backward = backwardEdge.data.forward = false; - forwardEdge.data.turnType = backwardEdge.data.turnType = turnType; + forwardEdge.data.turnInstruction = backwardEdge.data.turnInstruction = turnType; forwardEdge.data.nameID1 = backwardEdge.data.nameID2 = edges[i].data.nameID1; forwardEdge.data.nameID2 = backwardEdge.data.nameID1 = edges[i].data.nameID2; forwardEdge.data.shortcut = backwardEdge.data.shortcut = false; @@ -524,6 +524,7 @@ private: newEdge.data.backward = false; newEdge.data.via = node; newEdge.data.shortcut = true; + newEdge.data.turnInstruction = outData.turnInstruction; newEdge.data.originalEdges = outData.originalEdges + inData.originalEdges; data->insertedEdges.push_back( newEdge );