def get_route(vehicle): if vehicle.path_finder_algorithm == PathFinderAlgorithm.VALIDATOR: """ DIJKSTRA """ start = time.time() d_path, d_visited = Dijkstra.find_route_nodes(vehicle) path = PathFinder._print_route_results(start, d_path, d_visited, vehicle, 'Dijkstra') """ ALT ALGORITHM """ start = time.time() alt_path, alt_visited = Alt.find_route_nodes(vehicle) PathFinder._print_route_results(start, alt_path, alt_visited, vehicle, 'ALT') """ A STAR ALGORITHM """ start = time.time() a_star_path, a_star_visited = AStar.find_route_nodes(vehicle) PathFinder._print_route_results(start, a_star_path, a_star_visited, vehicle, 'A*') if GeneralSettings.debug_print: print "--------------------------------------------------------" return path if vehicle.path_finder_algorithm == PathFinderAlgorithm.DIJKSTRA: start = time.time() path, _ = Dijkstra.find_route_nodes(vehicle) if GeneralSettings.debug_print: print("Dijkstra.get_route elapsed time: %.2f ms" % ((time.time() - start) * 1000)) return path elif vehicle.path_finder_algorithm == PathFinderAlgorithm.ALT: start = time.time() path, _ = Alt.find_route_nodes(vehicle) if GeneralSettings.debug_print: print("Alt.get_route elapsed time: %.2f ms" % ((time.time() - start) * 1000)) return path elif vehicle.path_finder_algorithm == PathFinderAlgorithm.A_STAR: start = time.time() path, _ = AStar.find_route_nodes(vehicle) if GeneralSettings.debug_print: print("A star.get_route elapsed time: %.2f ms" % ((time.time() - start) * 1000)) return path else: raise ValueError("Invalid vehicles path finder algorithm value.")