MSLinkCont.cpp
Go to the documentation of this file.00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifdef _MSC_VER
00025 #include <windows_config.h>
00026 #else
00027 #include <config.h>
00028 #endif
00029
00030 #include "MSLinkCont.h"
00031 #include "MSLane.h"
00032
00033 #ifdef CHECK_MEMORY_LEAKS
00034 #include <foreign/nvwa/debug_new.h>
00035 #endif // CHECK_MEMORY_LEAKS
00036
00037
00038
00039
00040
00041 #ifdef HAVE_INTERNAL_LANES
00042 const MSEdge *
00043 MSLinkContHelper::getInternalFollowingEdge(MSLane *fromLane,
00044 MSEdge *followerAfterInternal) {
00045
00046 const MSLinkCont &lc = fromLane->getLinkCont();
00047 for (MSLinkCont::const_iterator j=lc.begin(); j!=lc.end(); j++) {
00048 MSLink *link = *j;
00049 if (&link->getLane()->getEdge()==followerAfterInternal) {
00050 return &link->getViaLane()->getEdge();
00051 }
00052 }
00053 return 0;
00054 }
00055 #endif
00056
00057
00058 MSLink *
00059 MSLinkContHelper::getConnectingLink(const MSLane &from, const MSLane &to) {
00060 const MSLinkCont &lc = from.getLinkCont();
00061 for (MSLinkCont::const_iterator j=lc.begin(); j!=lc.end(); j++) {
00062 MSLink *link = *j;
00063 if (link->getLane()==&to) {
00064 return link;
00065 }
00066 }
00067 return 0;
00068 }
00069
00070
00071
00072
00073