Parser level abstraction of block aperture info for Gerber AST parser, version 2.
Block2
Bases: Aperture2
Parser level abstraction of aperture info for block aperture.
Source code in src/pygerber/gerberx3/parser2/apertures2/block2.py
| class Block2(Aperture2):
"""Parser level abstraction of aperture info for block aperture."""
command_buffer: ReadonlyCommandBuffer2
def render_flash(self, renderer: Renderer2, command: Flash2) -> None:
"""Render draw operation."""
# Block apertures are resolved into series of commands at parser level.
raise NotImplementedError
def get_bounding_box(self) -> BoundingBox:
"""Return bounding box of aperture."""
return self.command_buffer.get_bounding_box()
def get_rotated(self, angle: Decimal) -> Self:
"""Get copy of this aperture rotated around (0, 0)."""
if angle == Decimal("0.0"):
return self
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_rotated(angle),
},
)
def get_mirrored(self, mirror: Mirroring) -> Self:
"""Get mirrored aperture."""
if mirror == Mirroring.NoMirroring:
return self
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_mirrored(mirror),
},
)
def get_scaled(self, scale: Decimal) -> Self:
"""Get copy of this aperture scaled by factor."""
if scale == Decimal("1.0"):
return self
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_scaled(scale),
},
)
|
render_flash
render_flash(renderer: Renderer2, command: Flash2) -> None
Render draw operation.
Source code in src/pygerber/gerberx3/parser2/apertures2/block2.py
| def render_flash(self, renderer: Renderer2, command: Flash2) -> None:
"""Render draw operation."""
# Block apertures are resolved into series of commands at parser level.
raise NotImplementedError
|
get_bounding_box
get_bounding_box() -> BoundingBox
Return bounding box of aperture.
Source code in src/pygerber/gerberx3/parser2/apertures2/block2.py
| def get_bounding_box(self) -> BoundingBox:
"""Return bounding box of aperture."""
return self.command_buffer.get_bounding_box()
|
get_rotated
get_rotated(angle: Decimal) -> Self
Get copy of this aperture rotated around (0, 0).
Source code in src/pygerber/gerberx3/parser2/apertures2/block2.py
| def get_rotated(self, angle: Decimal) -> Self:
"""Get copy of this aperture rotated around (0, 0)."""
if angle == Decimal("0.0"):
return self
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_rotated(angle),
},
)
|
get_mirrored
get_mirrored(mirror: Mirroring) -> Self
Get mirrored aperture.
Source code in src/pygerber/gerberx3/parser2/apertures2/block2.py
| def get_mirrored(self, mirror: Mirroring) -> Self:
"""Get mirrored aperture."""
if mirror == Mirroring.NoMirroring:
return self
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_mirrored(mirror),
},
)
|
get_scaled
get_scaled(scale: Decimal) -> Self
Get copy of this aperture scaled by factor.
Source code in src/pygerber/gerberx3/parser2/apertures2/block2.py
| def get_scaled(self, scale: Decimal) -> Self:
"""Get copy of this aperture scaled by factor."""
if scale == Decimal("1.0"):
return self
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_scaled(scale),
},
)
|