Removed unnecessary nameID of first leg

This commit is contained in:
DennisOSRM
2011-11-16 18:10:51 +01:00
parent 9a6cf7b991
commit f66c1e4a4f
5 changed files with 20 additions and 28 deletions
+7 -11
View File
@@ -47,8 +47,7 @@ private:
unsigned distance;
unsigned originalEdges;
unsigned via;
unsigned nameID1;
unsigned nameID2;
unsigned nameID;
bool shortcut;
bool forward;
bool backward;
@@ -115,8 +114,7 @@ public:
}
#endif
edge.data.shortcut = false;
edge.data.nameID1 = i->nameID1();
edge.data.nameID2 = i->nameID2();
edge.data.nameID = i->getNameIDOfTurnTarget();
edge.data.via = i->via();
edge.data.turnInstruction = i->turnInstruction();
edge.data.forward = i->isForward();
@@ -140,7 +138,7 @@ public:
const NodeID target = edges[i].target;
const NodeID via = edges[i].data.via;
const short turnType = edges[i].data.turnInstruction;
assert(turnType >= 0);
assert(turnType == 0 || turnType == 1);
//remove eigenloops
if ( source == target ) {
i++;
@@ -153,8 +151,7 @@ public:
forwardEdge.data.forward = backwardEdge.data.backward = true;
forwardEdge.data.backward = backwardEdge.data.forward = false;
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.nameID = backwardEdge.data.nameID = edges[i].data.nameID;
forwardEdge.data.shortcut = backwardEdge.data.shortcut = false;
forwardEdge.data.via = backwardEdge.data.via = via;
forwardEdge.data.originalEdges = backwardEdge.data.originalEdges = 1;
@@ -359,9 +356,8 @@ public:
newEdge.data.distance = data.distance;
newEdge.data.shortcut = data.shortcut;
newEdge.data.via = data.via;
newEdge.data.nameID1 = data.nameID1;
newEdge.data.nameID2 = data.nameID2;
newEdge.data.nameID1 = data.nameID;
newEdge.data.turnInstruction = data.turnInstruction;
newEdge.data.forward = data.forward;
newEdge.data.backward = data.backward;
edges.push_back( newEdge );
@@ -524,7 +520,7 @@ private:
newEdge.data.backward = false;
newEdge.data.via = node;
newEdge.data.shortcut = true;
newEdge.data.turnInstruction = outData.turnInstruction;
newEdge.data.turnInstruction = inData.turnInstruction;
newEdge.data.originalEdges = outData.originalEdges + inData.originalEdges;
data->insertedEdges.push_back( newEdge );
+4 -4
View File
@@ -148,11 +148,11 @@ void EdgeBasedGraphFactory::Run() {
newEdge.data.forward = true;
newEdge.data.backward = false;
newEdge.data.via = v;
newEdge.data.nameID1 = _nodeBasedGraph->GetEdgeData(e1).middleName.nameID;
newEdge.data.nameID2 = _nodeBasedGraph->GetEdgeData(e2).middleName.nameID;
newEdge.data.nameID = _nodeBasedGraph->GetEdgeData(e2).middleName.nameID;
//newEdge.data.nameID2 = _nodeBasedGraph->GetEdgeData(e2).middleName.nameID;
//Todo: turn instruction angeben
if(newEdge.data.nameID1 == newEdge.data.nameID2)
if(newEdge.data.nameID == _nodeBasedGraph->GetEdgeData(e1).middleName.nameID)
newEdge.data.turnInstruction = 0;
else {
//TODO: Winkel berechnen und angepasste Anweisung geben.
@@ -163,7 +163,7 @@ void EdgeBasedGraphFactory::Run() {
EdgeBasedNode currentNode;
if(_nodeBasedGraph->GetEdgeData(e1).type != 14) {
currentNode.nameID = newEdge.data.nameID1;
currentNode.nameID = _nodeBasedGraph->GetEdgeData(e1).middleName.nameID;
currentNode.lat1 = inputNodeInfoList[u].lat;
currentNode.lon1 = inputNodeInfoList[u].lon;
currentNode.lat2 = inputNodeInfoList[v].lat;
+2 -2
View File
@@ -55,8 +55,8 @@ private:
struct _EdgeBasedEdgeData {
int distance;
unsigned via;
unsigned nameID1;
unsigned nameID2;
unsigned nameID;
// unsigned nameID2;
bool forward;
bool backward;
short turnInstruction;