Bases: ApertureDrawCommand2
Parser level abstraction of flash operation for Gerber AST parser,
version 2.
Source code in src/pygerber/gerberx3/parser2/commands2/flash2.py
| class Flash2(ApertureDrawCommand2):
"""Parser level abstraction of flash operation for Gerber AST parser,
version 2.
"""
flash_point: Vector2D
def get_mirrored(self, mirror: Mirroring) -> Self:
"""Get mirrored command.
Mirroring is a NOOP if mirror is `Mirroring.NoMirroring`.
"""
if mirror == Mirroring.NoMirroring:
return self
return self.model_copy(
update={
"flash_point": self.flash_point.get_mirrored(mirror),
"aperture": self.aperture.get_mirrored(mirror),
},
)
def get_transposed(self, vector: Vector2D) -> Self:
"""Get transposed command."""
return self.model_copy(
update={
"flash_point": self.flash_point + vector,
},
)
def get_rotated(self, angle: Decimal) -> Self:
"""Get copy of this command rotated around (0, 0)."""
return self.model_copy(
update={
"flash_point": self.flash_point.get_rotated(angle),
"aperture": self.aperture.get_rotated(angle),
},
)
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={
"flash_point": self.flash_point.get_scaled(scale),
"aperture": self.aperture.get_scaled(scale),
"transform": self.transform.get_scaled(scale),
},
)
def render(self, renderer: Renderer2) -> None:
"""Render draw operation."""
self.aperture.render_flash(renderer, self)
def get_bounding_box(self) -> BoundingBox:
"""Get bounding box of draw operation."""
return self.aperture.get_bounding_box() + self.flash_point
|
get_mirrored
get_mirrored(mirror: Mirroring) -> Self
Get mirrored command.
Mirroring is a NOOP if mirror is Mirroring.NoMirroring
.
Source code in src/pygerber/gerberx3/parser2/commands2/flash2.py
| def get_mirrored(self, mirror: Mirroring) -> Self:
"""Get mirrored command.
Mirroring is a NOOP if mirror is `Mirroring.NoMirroring`.
"""
if mirror == Mirroring.NoMirroring:
return self
return self.model_copy(
update={
"flash_point": self.flash_point.get_mirrored(mirror),
"aperture": self.aperture.get_mirrored(mirror),
},
)
|
get_transposed
get_transposed(vector: Vector2D) -> Self
Get transposed command.
Source code in src/pygerber/gerberx3/parser2/commands2/flash2.py
| def get_transposed(self, vector: Vector2D) -> Self:
"""Get transposed command."""
return self.model_copy(
update={
"flash_point": self.flash_point + vector,
},
)
|
get_rotated
get_rotated(angle: Decimal) -> Self
Get copy of this command rotated around (0, 0).
Source code in src/pygerber/gerberx3/parser2/commands2/flash2.py
| def get_rotated(self, angle: Decimal) -> Self:
"""Get copy of this command rotated around (0, 0)."""
return self.model_copy(
update={
"flash_point": self.flash_point.get_rotated(angle),
"aperture": self.aperture.get_rotated(angle),
},
)
|
get_scaled
get_scaled(scale: Decimal) -> Self
Get copy of this aperture scaled by factor.
Source code in src/pygerber/gerberx3/parser2/commands2/flash2.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={
"flash_point": self.flash_point.get_scaled(scale),
"aperture": self.aperture.get_scaled(scale),
"transform": self.transform.get_scaled(scale),
},
)
|
render
render(renderer: Renderer2) -> None
Render draw operation.
Source code in src/pygerber/gerberx3/parser2/commands2/flash2.py
| def render(self, renderer: Renderer2) -> None:
"""Render draw operation."""
self.aperture.render_flash(renderer, self)
|
get_bounding_box
get_bounding_box() -> BoundingBox
Get bounding box of draw operation.
Source code in src/pygerber/gerberx3/parser2/commands2/flash2.py
| def get_bounding_box(self) -> BoundingBox:
"""Get bounding box of draw operation."""
return self.aperture.get_bounding_box() + self.flash_point
|