Removed unnecessary nameID of first leg
This commit is contained in:
parent
9a6cf7b991
commit
f66c1e4a4f
@ -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 );
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -88,8 +88,7 @@ public:
|
||||
_source(myEdge.source),
|
||||
_target(myEdge.target),
|
||||
_via(myEdge.data.via),
|
||||
_nameID1(myEdge.data.nameID1),
|
||||
_nameID2(myEdge.data.nameID2),
|
||||
_nameID1(myEdge.data.nameID),
|
||||
_weight(myEdge.data.distance),
|
||||
forward(myEdge.data.forward),
|
||||
backward(myEdge.data.backward),
|
||||
@ -97,10 +96,10 @@ public:
|
||||
|
||||
/** Default constructor. target and weight are set to 0.*/
|
||||
EdgeBasedEdge() :
|
||||
_source(0), _target(0), _via(0), _nameID1(0), _nameID2(0), _weight(0), forward(0), backward(0), _turnInstruction(0) { assert(false); } //shall not be used.
|
||||
_source(0), _target(0), _via(0), _nameID1(0), _weight(0), forward(0), backward(0), _turnInstruction(0) { assert(false); } //shall not be used.
|
||||
|
||||
explicit EdgeBasedEdge(NodeID s, NodeID t, NodeID v, unsigned n1, unsigned n2, EdgeWeight w, bool f, bool b, short ty) :
|
||||
_source(s), _target(t), _via(v), _nameID1(n1), _nameID2(n2), _weight(w), forward(f), backward(b), _turnInstruction(ty) { assert(ty >= 0); }
|
||||
_source(s), _target(t), _via(v), _nameID1(n1), _weight(w), forward(f), backward(b), _turnInstruction(ty) { assert(ty >= 0); }
|
||||
|
||||
NodeID target() const {return _target; }
|
||||
NodeID source() const {return _source; }
|
||||
@ -110,14 +109,13 @@ public:
|
||||
bool isBackward() const { return backward; }
|
||||
bool isForward() const { return forward; }
|
||||
|
||||
unsigned nameID1() const { return _nameID1; }
|
||||
unsigned nameID2() const { return _nameID2; }
|
||||
unsigned getNameIDOfTurnTarget() const { return _nameID1; }
|
||||
|
||||
NodeID _source;
|
||||
NodeID _target;
|
||||
NodeID _via;
|
||||
unsigned _nameID1;
|
||||
unsigned _nameID2;
|
||||
// unsigned _nameID2;
|
||||
EdgeWeight _weight;
|
||||
bool forward;
|
||||
bool backward;
|
||||
|
@ -121,18 +121,16 @@ int main (int argc, char *argv[]) {
|
||||
sigaddset(&wait_mask, SIGQUIT);
|
||||
sigaddset(&wait_mask, SIGTERM);
|
||||
pthread_sigmask(SIG_BLOCK, &wait_mask, 0);
|
||||
|
||||
std::cout << "[server] running and waiting for requests" << std::endl;
|
||||
sigwait(&wait_mask, &sig);
|
||||
#else
|
||||
// Set console control handler to allow server to be stopped.
|
||||
console_ctrl_function = boost::bind(&Server::Stop, s);
|
||||
SetConsoleCtrlHandler(console_ctrl_handler, TRUE);
|
||||
|
||||
std::cout << "[server] running and waiting for requests" << std::endl;
|
||||
s->Run();
|
||||
#endif
|
||||
|
||||
std::cout << "[server] running and waiting for requests" << std::endl;
|
||||
|
||||
std::cout << std::endl << "[server] shutting down" << std::endl;
|
||||
s->Stop();
|
||||
t.join();
|
||||
|
Loading…
Reference in New Issue
Block a user