Skip to content

lp_load_polarity

lp_load_polarity

Wrapper for load polarity token.

LoadPolarity

Bases: Token

Wrapper for load polarity token.

Loads the scale object transformation parameter.

Source code in src/pygerber/gerberx3/tokenizer/tokens/lp_load_polarity.py
class LoadPolarity(Token):
    """Wrapper for load polarity token.

    Loads the scale object transformation parameter.
    """

    polarity: Polarity

    @classmethod
    def from_tokens(cls, **tokens: Any) -> Self:
        """Initialize token object."""
        polarity = Polarity(tokens["polarity"])
        return cls(polarity=polarity)

    def update_drawing_state(
        self,
        state: State,
        _backend: Backend,
    ) -> Tuple[State, Iterable[DrawCommand]]:
        """Set drawing polarity."""
        return (
            state.model_copy(
                update={
                    "polarity": self.polarity,
                },
            ),
            (),
        )

    def __str__(self) -> str:
        return f"LP{self.polarity.value}*"

from_tokens classmethod

from_tokens(**tokens: Any) -> Self

Initialize token object.

Source code in src/pygerber/gerberx3/tokenizer/tokens/lp_load_polarity.py
@classmethod
def from_tokens(cls, **tokens: Any) -> Self:
    """Initialize token object."""
    polarity = Polarity(tokens["polarity"])
    return cls(polarity=polarity)

update_drawing_state

update_drawing_state(
    state: State, _backend: Backend
) -> Tuple[State, Iterable[DrawCommand]]

Set drawing polarity.

Source code in src/pygerber/gerberx3/tokenizer/tokens/lp_load_polarity.py
def update_drawing_state(
    self,
    state: State,
    _backend: Backend,
) -> Tuple[State, Iterable[DrawCommand]]:
    """Set drawing polarity."""
    return (
        state.model_copy(
            update={
                "polarity": self.polarity,
            },
        ),
        (),
    )