@@ -23,8 +23,8 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength,
23
23
endy = locs_y[j] + nodesize[j]* sin (θ+ π)
24
24
arr1, arr2 = arrowcoords (θ, endx, endy, arrowlength, angleoffset)
25
25
endx0, endy0 = midpoint (arr1, arr2)
26
- if Edge (j,i) in edge_list[ 1 : e_idx - 1 ] # check if a reverse arc exists
27
- e_idx2 = findfirst ( == ( Edge (j,i)), edge_list) # get index of reverse arc
26
+ e_idx2 = findfirst ( == ( Edge (j,i)), collect ( edge_list)) # get index of reverse arc
27
+ if ! isnothing (e_idx2) && e_idx2 < e_idx # only make changes if lines/arrows have already been defined for that arc
28
28
startx, starty = midpoint (arrows[e_idx2][[1 ,3 ]]. .. ) # get midopint of reverse arc and use as new start point
29
29
lines[e_idx2][1 ] = (endx0, endy0) # update endpoint of reverse arc
30
30
end
@@ -50,8 +50,8 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Real, arrowlength, angle
50
50
endy = locs_y[j] + nodesize* sin (θ+ π)
51
51
arr1, arr2 = arrowcoords (θ, endx, endy, arrowlength, angleoffset)
52
52
endx0, endy0 = midpoint (arr1, arr2)
53
- if Edge (j,i) in edge_list[ 1 : e_idx - 1 ] # check if a reverse arc exists
54
- e_idx2 = findfirst ( == ( Edge (j,i)), edge_list) # get index of reverse arc
53
+ e_idx2 = findfirst ( == ( Edge (j,i)), collect ( edge_list)) # get index of reverse arc
54
+ if ! isnothing (e_idx2) && e_idx2 < e_idx # only make changes if lines/arrows have already been defined for that arc
55
55
startx, starty = midpoint (arrows[e_idx2][[1 ,3 ]]. .. ) # get midopint of reverse arc and use as new start point
56
56
lines[e_idx2][1 ] = (endx0, endy0) # update endpoint of reverse arc
57
57
end
0 commit comments