Skip to content

Commit

Permalink
Format
Browse files Browse the repository at this point in the history
  • Loading branch information
fredyshox committed Jun 11, 2024
1 parent cb18b7c commit 87b2506
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 47 deletions.
58 changes: 29 additions & 29 deletions metadrive/component/lane/extension_lane.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,35 @@


class ExtensionDirection(Enum):
EXTEND = 0
SHRINK = 1
EXTEND = 0
SHRINK = 1


class ExtendingLane(StraightLane):
def __init__(self, extension_direction: ExtensionDirection, *args, **kwargs):
super(ExtendingLane, self).__init__(*args, **kwargs)
self.extension_direction = extension_direction

def width_at(self, longitudinal: float) -> float:
if self.extension_direction == ExtensionDirection.EXTEND:
return (longitudinal / self.length) * self.width
else:
return self.width - (longitudinal / self.length) * self.width

@property
def polygon(self):
if self._polygon is not None:
return self._polygon

polygon = []
longs = np.arange(0, self.length + self.POLYGON_SAMPLE_RATE, self.POLYGON_SAMPLE_RATE)
for longitude in longs:
point = self.position(longitude, -self.width / 2)
polygon.append([point[0], point[1]])
for longitude in longs[::-1]:
latitude = self.width_at(longitude) - self.width / 2
point = self.position(longitude, latitude)
polygon.append([point[0], point[1]])
self._polygon = np.asarray(polygon)

return self._polygon
def __init__(self, extension_direction: ExtensionDirection, *args, **kwargs):
super(ExtendingLane, self).__init__(*args, **kwargs)
self.extension_direction = extension_direction

def width_at(self, longitudinal: float) -> float:
if self.extension_direction == ExtensionDirection.EXTEND:
return (longitudinal / self.length) * self.width
else:
return self.width - (longitudinal / self.length) * self.width

@property
def polygon(self):
if self._polygon is not None:
return self._polygon

polygon = []
longs = np.arange(0, self.length + self.POLYGON_SAMPLE_RATE, self.POLYGON_SAMPLE_RATE)
for longitude in longs:
point = self.position(longitude, -self.width / 2)
polygon.append([point[0], point[1]])
for longitude in longs[::-1]:
latitude = self.width_at(longitude) - self.width / 2
point = self.position(longitude, latitude)
polygon.append([point[0], point[1]])
self._polygon = np.asarray(polygon)

return self._polygon
3 changes: 2 additions & 1 deletion metadrive/component/pgblock/create_pg_block_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ def create_extension(
):
extension_end = start_position + [extension_lane_length, 0.0]
extension = ExtendingLane(
direction, start_position, extension_end, width, [PGLineType.NONE, PGLineType.NONE], forbidden, speed_limit, priority
direction, start_position, extension_end, width, [PGLineType.NONE, PGLineType.NONE], forbidden, speed_limit,
priority
)
return extension

Expand Down
23 changes: 6 additions & 17 deletions metadrive/component/pgblock/ramp.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,7 @@ class InRampOnStraight(Ramp):

def _get_merge_part(self, att_lane: StraightLane, length: float):
start = att_lane.end
merge_part = create_extension(
start,
length,
ExtensionDirection.SHRINK,
width=self.lane_width
)
merge_part = create_extension(start, length, ExtensionDirection.SHRINK, width=self.lane_width)
return merge_part

def _try_plug_into_previous_block(self) -> bool:
Expand Down Expand Up @@ -234,12 +229,7 @@ class OutRampOnStraight(Ramp):

def _get_merge_part(self, att_lane: StraightLane, length: float):
start = att_lane.position(0, self.lane_width)
merge_part = create_extension(
start,
length,
ExtensionDirection.EXTEND,
width=self.lane_width
)
merge_part = create_extension(start, length, ExtensionDirection.EXTEND, width=self.lane_width)
return merge_part

def _try_plug_into_previous_block(self) -> bool:
Expand Down Expand Up @@ -308,14 +298,13 @@ def _try_plug_into_previous_block(self) -> bool:
self.block_network.add_lane(Decoration.start, Decoration.end, merge_part_lane)

deacc_lane_end = dec_right_lane.position(dec_right_lane.length, self.lane_width)
deacc_lane = StraightLane(merge_part_lane.end, deacc_lane_end, self.lane_width, (PGLineType.BROKEN, PGLineType.CONTINUOUS))
deacc_lane = StraightLane(
merge_part_lane.end, deacc_lane_end, self.lane_width, (PGLineType.BROKEN, PGLineType.CONTINUOUS)
)
self.block_network.add_lane(dec_road.start_node, dec_road.end_node, deacc_lane)
no_cross = (
not check_lane_on_road(
self._global_network,
deacc_lane,
0.95,
ignore_intersection_checking=self.ignore_intersection_checking
self._global_network, deacc_lane, 0.95, ignore_intersection_checking=self.ignore_intersection_checking
)
) and no_cross

Expand Down

0 comments on commit 87b2506

Please sign in to comment.