2024-07-28 15:20:05 -07:00
|
|
|
import datetime
|
|
|
|
from typing import Any, Dict, List, Literal, Optional, Union
|
|
|
|
from uuid import UUID
|
2023-07-07 19:22:51 -07:00
|
|
|
|
2024-07-28 15:20:05 -07:00
|
|
|
from pydantic import AnyUrl, Base64Bytes, BaseModel, ConfigDict
|
|
|
|
from pydantic_extra_types.phone_numbers import PhoneNumber
|
2023-07-07 19:22:51 -07:00
|
|
|
|
|
|
|
from ..models.axis_direction_pair import AxisDirectionPair
|
2024-07-28 15:20:05 -07:00
|
|
|
from .base64data import Base64Data
|
2023-07-07 19:22:51 -07:00
|
|
|
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2023-11-28 23:50:50 -08:00
|
|
|
class System(BaseModel):
|
2023-11-27 16:01:20 -08:00
|
|
|
"""Co-ordinate system definition.
|
2023-07-07 19:22:51 -07:00
|
|
|
|
2023-11-27 16:01:20 -08:00
|
|
|
The `up` axis must be orthogonal to the `forward` axis.
|
2023-07-07 19:22:51 -07:00
|
|
|
|
2023-11-27 16:01:20 -08:00
|
|
|
See [cglearn.eu] for background reading.
|
2023-07-07 19:22:51 -07:00
|
|
|
|
2023-11-27 16:01:20 -08:00
|
|
|
[cglearn.eu](https://cglearn.eu/pub/computer-graphics/introduction-to-geometry#material-coordinate-systems-1)
|
2023-11-28 23:50:50 -08:00
|
|
|
"""
|
2023-07-07 19:22:51 -07:00
|
|
|
|
2023-11-28 23:50:50 -08:00
|
|
|
forward: AxisDirectionPair
|
2023-07-07 19:22:51 -07:00
|
|
|
|
2023-11-28 23:50:50 -08:00
|
|
|
up: AxisDirectionPair
|
2024-01-06 18:32:21 -08:00
|
|
|
|
|
|
|
model_config = ConfigDict(protected_namespaces=())
|