diff --git a/examples/Simple_Realistic_Railway_Generator.py b/examples/Simple_Realistic_Railway_Generator.py index 902c494725805779de1d80e0e3c638b878a1ba12..82a88b5bef5f331fbf10d1ec0578a6305df1b40e 100644 --- a/examples/Simple_Realistic_Railway_Generator.py +++ b/examples/Simple_Realistic_Railway_Generator.py @@ -321,10 +321,11 @@ def realistic_rail_generator(num_cities=5, s_nodes = org_s_nodes.copy() e_nodes = org_e_nodes.copy() - for k in range(inter_max_number_of_connecting_tracks): - for city_loop in range(len(s_nodes)): + + for city_loop in range(len(s_nodes)): + for k in range(inter_max_number_of_connecting_tracks): sns = s_nodes[city_loop] - cl = 0 + old_cl = -1 min_distance = np.inf end_node = None start_node = None @@ -335,13 +336,14 @@ def realistic_rail_generator(num_cities=5, for en in ens: for sn in sns: d = Vec2dOperations.get_norm_pos(Vec2dOperations.subtract_pos(en, sn)) - if d < min_distance: + if d < min_distance and old_cl != city_loop_find_shortest: min_distance = d end_node = en start_node = sn cl = city_loop_find_shortest if end_node is not None: + old_cl = cl tmp_trans_sn = rail_array[start_node] tmp_trans_en = rail_array[end_node] rail_array[start_node] = 0