Source code for kittycad.models.origin_type

from typing import Literal, Union

from pydantic import Field, RootModel
from typing_extensions import Annotated

from ..models.point3d import Point3d
from .base import KittyCadBaseModel


[docs] class OptionLocal(KittyCadBaseModel): """Local Origin (center of object bounding box).""" type: Literal["local"] = "local"
[docs] class OptionGlobal(KittyCadBaseModel): """Global Origin (0, 0, 0).""" type: Literal["global"] = "global"
[docs] class OptionCustom(KittyCadBaseModel): """Custom Origin (user specified point).""" origin: Point3d type: Literal["custom"] = "custom"
OriginType = RootModel[ Annotated[ Union[ OptionLocal, OptionGlobal, OptionCustom, ], Field(discriminator="type"), ] ]