def _intersection_yield_zones(self, rule: int) -> List[Tuple[(float, float)]]:
    'Intervals in which the car is supposed to halt/stop (in front of intersections).\n\n        Args:\n            rule: only intersections with this rule are considered\n        '
    intervals = []
    for sec in self.sections:
        if (sec.type != road_section_type.INTERSECTION):
            continue
        intersection_msg = self.get_intersection(sec.id)
        arc_length = self.middle_line.project(Point(intersection_msg.south.middle_line[(- 1)]))
        if (intersection_msg.rule == rule):
            intervals.append(((arc_length + self.yield_distance[0]), (arc_length + self.yield_distance[1])))
    return intervals
Intervals in which the car is supposed to halt/stop (in front of intersections).

Args:
    rule: only intersections with this rule are considered
def _intersection_yield_zones(self, rule: int) -> List[Tuple[(float, float)]]:
    'Intervals in which the car is supposed to halt/stop (in front of intersections).\n\n        Args:\n            rule: only intersections with this rule are considered\n        '
    intervals = []
    for sec in self.sections:
        if (sec.type != road_section_type.INTERSECTION):
            continue
        intersection_msg = self.get_intersection(sec.id)
        arc_length = self.middle_line.project(Point(intersection_msg.south.middle_line[(- 1)]))
        if (intersection_msg.rule == rule):
            intervals.append(((arc_length + self.yield_distance[0]), (arc_length + self.yield_distance[1])))
    return intervals