Skip to content

draw_vector_line

draw_vector_line

Class for drawing 2D rasterized vector lines.

Rasterized2DDrawVectorLine

Bases: DrawVectorLine

Draw 2D rasterized vector line.

Source code in src/pygerber/backend/rasterized_2d/draw_commands/draw_vector_line.py
class Rasterized2DDrawVectorLine(DrawVectorLine):
    """Draw 2D rasterized vector line."""

    backend: Rasterized2DBackend

    def draw(self, target: DrawingTarget) -> None:
        """Apply aperture draw component to handle."""
        if not isinstance(target, Rasterized2DDrawingTarget):
            msg = f"Expected Rasterized2DDrawingTarget got {type(target)}"
            raise TypeError(msg)

        start = (self.start_position - target.coordinate_origin).as_pixels(
            self.backend.dpi,
        )
        end = (self.end_position - target.coordinate_origin).as_pixels(
            self.backend.dpi,
        )
        width = self.width.as_pixels(self.backend.dpi)

        target.image_draw.line(
            (start, end),
            fill=self.polarity.get_2d_rasterized_color(),
            width=width,
        )
        logging.debug("Adding %s to %s", self.__class__.__qualname__, target)

draw

draw(target: DrawingTarget) -> None

Apply aperture draw component to handle.

Source code in src/pygerber/backend/rasterized_2d/draw_commands/draw_vector_line.py
def draw(self, target: DrawingTarget) -> None:
    """Apply aperture draw component to handle."""
    if not isinstance(target, Rasterized2DDrawingTarget):
        msg = f"Expected Rasterized2DDrawingTarget got {type(target)}"
        raise TypeError(msg)

    start = (self.start_position - target.coordinate_origin).as_pixels(
        self.backend.dpi,
    )
    end = (self.end_position - target.coordinate_origin).as_pixels(
        self.backend.dpi,
    )
    width = self.width.as_pixels(self.backend.dpi)

    target.image_draw.line(
        (start, end),
        fill=self.polarity.get_2d_rasterized_color(),
        width=width,
    )
    logging.debug("Adding %s to %s", self.__class__.__qualname__, target)