Skip to content

draw_region

draw_region

Region component for creating apertures.

DrawRegion

Bases: DrawCommand

Description of Region aperture component.

Source code in src/pygerber/backend/abstract/draw_commands/draw_region.py
class DrawRegion(DrawCommand):
    """Description of Region aperture component."""

    region_boundary_points: list[Vector2D]

    def __init__(
        self,
        backend: Backend,
        polarity: Polarity,
        region_boundary_points: list[Vector2D],
    ) -> None:
        """Initialize draw command."""
        super().__init__(backend, polarity)
        self.region_boundary_points = region_boundary_points

    def get_bounding_box(self) -> BoundingBox:
        """Return bounding box of draw operation."""
        return self._bounding_box

    @cached_property
    def _bounding_box(self) -> BoundingBox:
        box: Optional[BoundingBox] = None
        for point in self.region_boundary_points:
            if box is not None:
                box = box.include_point(point)
            else:
                box = BoundingBox.NULL + point

        if box is not None:
            return box

        return BoundingBox.NULL

__init__

__init__(
    backend: Backend,
    polarity: Polarity,
    region_boundary_points: list[Vector2D],
) -> None

Initialize draw command.

Source code in src/pygerber/backend/abstract/draw_commands/draw_region.py
def __init__(
    self,
    backend: Backend,
    polarity: Polarity,
    region_boundary_points: list[Vector2D],
) -> None:
    """Initialize draw command."""
    super().__init__(backend, polarity)
    self.region_boundary_points = region_boundary_points

get_bounding_box

get_bounding_box() -> BoundingBox

Return bounding box of draw operation.

Source code in src/pygerber/backend/abstract/draw_commands/draw_region.py
def get_bounding_box(self) -> BoundingBox:
    """Return bounding box of draw operation."""
    return self._bounding_box