Source code for kittycad.models.distance_type

from typing import Literal, Union

from pydantic import Field, RootModel
from typing_extensions import Annotated

from ..models.global_axis import GlobalAxis
from .base import KittyCadBaseModel


[docs] class OptionEuclidean(KittyCadBaseModel): """Euclidean Distance.""" type: Literal["euclidean"] = "euclidean"
[docs] class OptionOnAxis(KittyCadBaseModel): """The distance between objects along the specified axis""" axis: GlobalAxis type: Literal["on_axis"] = "on_axis"
DistanceType = RootModel[ Annotated[ Union[ OptionEuclidean, OptionOnAxis, ], Field(discriminator="type"), ] ]