Source code for kittycad.models.distance_type

from typing import Literal, Union

from pydantic import BaseModel, ConfigDict, Field, RootModel
from typing_extensions import Annotated

from ..models.global_axis import GlobalAxis


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