0001
0002
0003 function [node1Node2Road_noCost, positionRoad_no, markedRoad, nodes] = identifyRoads(roadPoints, crossingPoints)
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 markedRoad = zeros(size(roadPoints));
0018 nodes = crossingPoints;
0019
0020 positionRoad_no = [];
0021 node2 = [];
0022 rj = 0;
0023 c_i_node2_j = 0;
0024 node1Node2Road_noCost = [];
0025 listOfcrossings = crossingPoints;
0026 [sx1,sy1] = size(listOfcrossings);
0027 for h = 1:sx1
0028 markedRoad(listOfcrossings(h,1),listOfcrossings(h,2)) = 5;
0029 end;
0030 while sx1 > 0
0031 crossing = listOfcrossings(1,:);
0032 [sx1,sy1] = size(listOfcrossings);
0033 if sx1 >= 2
0034 listOfcrossings = listOfcrossings(2:sx1,:);
0035 else
0036 listOfcrossings = [];
0037 sx1 = 0;
0038 end;
0039
0040
0041 if crossing
0042 [candidateList, markedRoad] = getCandidates(roadPoints, [crossing 0], markedRoad);
0043 [sx2,sy2] = size(candidateList);
0044 if sx2 > 0
0045 for j = 1:sx2
0046
0047 [reachedCrossing, markedRoad, nodes, node1Node2Road_noCost, positionRoad_no] = breadthFirst(roadPoints, [candidateList(j,1) candidateList(j,2) 1] , crossingPoints, markedRoad, node1Node2Road_noCost, positionRoad_no, nodes, crossing);
0048 node1Node2Road_noCost = node1Node2Road_noCost;
0049 positionRoad_no = positionRoad_no;
0050 nodes = nodes;
0051 end;
0052 end;
0053 end;
0054 end;
0055
0056
0057
0058