Parser level abstraction of command that consists of multiple commands for Gerber AST
parser, version 2.
BufferCommand2
Bases: Command2
Parser level abstraction of command that consists of multiple commands for Gerber
AST parser, version 2.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| class BufferCommand2(Command2):
"""Parser level abstraction of command that consists of multiple commands for Gerber
AST parser, version 2.
"""
command_buffer: ReadonlyCommandBuffer2
def get_mirrored(self, mirror: Mirroring) -> Self:
"""Get mirrored command."""
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_mirrored(mirror),
},
)
def get_transposed(self, vector: Vector2D) -> Self:
"""Get transposed command."""
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_transposed(vector),
},
)
def get_bounding_box(self) -> BoundingBox:
"""Get bounding box of draw operation."""
return self.command_buffer.get_bounding_box()
def render(self, renderer: Renderer2) -> None:
"""Render draw operation."""
renderer.hooks.render_buffer(self)
def __len__(self) -> int:
"""Return length of buffered commands."""
return len(self.command_buffer)
def __iter__(self) -> Iterator[Command2]: # type: ignore[override]
"""Iterate over buffered draw commands."""
yield from self.command_buffer
def __getitem__(self, index: int) -> Command2:
"""Get item by index from commands."""
return self.command_buffer[index]
|
get_mirrored
get_mirrored(mirror: Mirroring) -> Self
Get mirrored command.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| def get_mirrored(self, mirror: Mirroring) -> Self:
"""Get mirrored command."""
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_mirrored(mirror),
},
)
|
get_transposed
get_transposed(vector: Vector2D) -> Self
Get transposed command.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| def get_transposed(self, vector: Vector2D) -> Self:
"""Get transposed command."""
return self.model_copy(
update={
"command_buffer": self.command_buffer.get_transposed(vector),
},
)
|
get_bounding_box
get_bounding_box() -> BoundingBox
Get bounding box of draw operation.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| def get_bounding_box(self) -> BoundingBox:
"""Get bounding box of draw operation."""
return self.command_buffer.get_bounding_box()
|
render
render(renderer: Renderer2) -> None
Render draw operation.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| def render(self, renderer: Renderer2) -> None:
"""Render draw operation."""
renderer.hooks.render_buffer(self)
|
__len__
Return length of buffered commands.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| def __len__(self) -> int:
"""Return length of buffered commands."""
return len(self.command_buffer)
|
__iter__
__iter__() -> Iterator[Command2]
Iterate over buffered draw commands.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| def __iter__(self) -> Iterator[Command2]: # type: ignore[override]
"""Iterate over buffered draw commands."""
yield from self.command_buffer
|
__getitem__
__getitem__(index: int) -> Command2
Get item by index from commands.
Source code in src/pygerber/gerberx3/parser2/commands2/buffer_command2.py
| def __getitem__(self, index: int) -> Command2:
"""Get item by index from commands."""
return self.command_buffer[index]
|