Skip to content

Commit

Permalink
Issue #83: fix placement offset.
Browse files Browse the repository at this point in the history
  • Loading branch information
enzet committed Jan 28, 2022
1 parent 743cbb5 commit 844905c
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions map_machine/feature/road.py
Original file line number Diff line number Diff line change
Expand Up @@ -430,24 +430,28 @@ def __init__(
self.is_transition = True
elif ":" in value and len(parts := value.split(":")) == 2:
place, lane_string = parts
lane_number: int = int(lane_string)
self.placement_offset = (
sum(
lane_number: int = int(lane_string) - 1
self.placement_offset = -self.width * self.scale / 2.0
if lane_number > 0:
self.placement_offset += sum(
lane.get_width(self.scale)
for lane in self.lanes[: lane_number - 1]
for lane in self.lanes[:lane_number]
)
- self.width * self.scale / 2.0
)
elif lane_number < 0:
self.placement_offset += (
DEFAULT_LANE_WIDTH * lane_number * self.scale
)

if place == "left_of":
pass
elif place == "middle_of":
self.placement_offset += (
self.lanes[lane_number - 1].get_width(self.scale) * 0.5
self.lanes[lane_number].get_width(self.scale) * 0.5
)
elif place == "right_of":
self.placement_offset += self.lanes[
lane_number - 1
].get_width(self.scale)
self.placement_offset += self.lanes[lane_number].get_width(
self.scale
)
else:
logging.error(f"Unknown placement `{place}`.")

Expand Down

0 comments on commit 844905c

Please sign in to comment.