コード例 #1
0
 def merge_abstract_graphs(cls, abstract_graph_a, abstract_graph_b):
     start_id = abstract_graph_a.start_id
     end_id = abstract_graph_b.end_id
     start_angle = abstract_graph_a.start_angle
     end_angle = abstract_graph_b.end_angle
     abstract_coords = util.glue_list_pair(abstract_graph_a.abstract_coords,
                                           abstract_graph_b.abstract_coords)
     physical_coords = util.glue_list_pair(abstract_graph_a.physical_coords,
                                           abstract_graph_b.physical_coords)
     data = cls(start_id, end_id, start_angle, end_angle, 
                        abstract_coords, physical_coords)
     return data
コード例 #2
0
 def merge_two_spatial_graphs(cls, spatial_graph_a, spatial_graph_b,
                                   graph_interpolator, resolution):
     abstract_graph_a = spatial_graph_a.to_abstract_graph()
     abstract_graph_b = spatial_graph_b.to_abstract_graph()
     merged_abstract_graph = \
         abstract_graphs.AbstractGraph.merge_abstract_graphs(
                              abstract_graph_a, abstract_graph_b)
     land_cost = spatial_graph_a.land_cost + spatial_graph_b.land_cost
     pylon_cost = spatial_graph_a.pylon_cost + spatial_graph_b.pylon_cost
     tube_cost = spatial_graph_a.tube_cost + spatial_graph_b.tube_cost
     tunneling_cost = (spatial_graph_a.tunneling_cost +
                       spatial_graph_b.tunneling_cost)
     latlngs = util.glue_list_pair(spatial_graph_a.latlngs,
                                 spatial_graph_b.latlngs)
     elevation_profile = elevation.ElevationProfile.merge_elevation_profiles(
                                           spatial_graph_a.elevation_profile,
                                           spatial_graph_b.elevation_profile)
     tube_curvature_array = util.glue_array_pair(
                            spatial_graph_a.tube_curvature_array,
                            spatial_graph_b.tube_curvature_array)
     spatial_curvature_array = SpatialGraph.merge_spatial_curvature_arrays(
         spatial_graph_a, spatial_graph_b, graph_interpolator, resolution)
     merged_spatial_graph = cls(merged_abstract_graph, land_cost, pylon_cost,
         tube_cost, tunneling_cost, latlngs,
         elevation_profile, spatial_curvature_array, tube_curvature_array)
     return merged_spatial_graph
コード例 #3
0
ファイル: tube_graphs.py プロジェクト: masonwheeler/Hyperloop
    def merge_two_tube_graphs(cls, tube_graph_a, tube_graph_b,
                              graph_interpolator, resolution):
        abstract_graph_a = tube_graph_a.to_abstract_graph()
        abstract_graph_b = tube_graph_b.to_abstract_graph()
        merged_abstract_graph = \
            abstract_graphs.AbstractGraph.merge_abstract_graphs(
                                 abstract_graph_a, abstract_graph_b)

        pylons_costs = util.glue_list_pair(tube_graph_a.pylons_costs,
                                         tube_graph_b.pylons_costs)
        total_pylon_cost = sum(pylons_costs)
        tube_cost = tube_graph_a.tube_cost + tube_graph_b.tube_cost
        tunneling_cost = (tube_graph_a.tunneling_cost +
                          tube_graph_b.tunneling_cost)
        total_cost = tube_graph_a.total_cost + tube_graph_b.total_cost
        arc_lengths_partitions = (tube_graph_a.arc_lengths_partitions +
                                  tube_graph_b.arc_lengths_partitions)
        tube_elevations_partitions = (tube_graph_a.tube_elevations_partitions +
                                      tube_graph_b.tube_elevations_partitions)
        merged_tube_curvature_array = TubeGraph.merge_tube_curvature_arrays(
                 tube_graph_a, tube_graph_b, graph_interpolator, resolution)
        data = cls(merged_abstract_graph, pylons_costs, total_pylon_cost,
                   tube_cost, tunneling_cost, total_cost,
                   arc_lengths_partitions, tube_elevations_partitions,
                   tube_curvature_array=merged_tube_curvature_array)
        return data