def get_edge_cost(self, source_point, target_point):
     assert len(source_point.coordinates) == 2, "sorry, %s only supports two dimensions" % (self.__class__.__name__,)
     t_coords = get_average_coordinates([source_point.coordinates, target_point.coordinates])
     #for ((good_x, good_y), (bad_x, bad_y)) in self.point_pairs:
         #if t_x >= ((good_x+bad_x)/2) and t_y >= ((good_y+bad_y)/2):
     multiplier = self._is_point_in_penalty_zone(t_coords) and self.PENALTY_MULTIPLIER or 1
     dist = distance_between_points(source_point, target_point) * multiplier
     assert dist >= 0, 'Negative edge cost!'
     return dist
 def get_edge_cost(self, source_point, target_point):
     assert len(source_point.coordinates) == 2, "sorry, %s only supports two dimensions" % (self.__class__.__name__,)
     multiplier = (
         self._is_point_in_penalty_zone(
             source_point.coordinates
         )
         or
         self._is_point_in_penalty_zone(
             target_point.coordinates
         )
     ) and self.PENALTY_MULTIPLIER or 1
     dist = distance_between_points(source_point, target_point) * multiplier
     assert dist >= 0, 'Negative edge cost!'
     return dist
 def get_edge_cost(self, *args, **kwargs):
     return distance_between_points(*args, **kwargs) ** self.exponent
Beispiel #4
0
def get_size(lineSegment):
    return distance_between_points(start_segment(lineSegment), end_segment(lineSegment))