2024-07-28 15:21:51 -07:00
|
|
|
from pydantic import BaseModel, ConfigDict
|
2024-06-20 11:10:00 -07:00
|
|
|
|
|
|
|
from ..models.point3d import Point3d
|
2024-09-10 09:17:32 -07:00
|
|
|
from ..models.rotation import Rotation
|
2024-06-20 11:10:00 -07:00
|
|
|
|
|
|
|
|
2024-09-10 09:17:32 -07:00
|
|
|
class Transform(BaseModel):
|
2024-06-20 11:10:00 -07:00
|
|
|
"""Ways to transform each solid being replicated in a repeating pattern."""
|
|
|
|
|
2024-08-20 13:10:56 -04:00
|
|
|
replicate: bool = True
|
2024-06-20 11:10:00 -07:00
|
|
|
|
2024-09-10 09:17:32 -07:00
|
|
|
rotation: Rotation = {
|
|
|
|
"angle": {"unit": "degrees", "value": 0.0},
|
|
|
|
"axis": {"x": 0.0, "y": 0.0, "z": 1.0},
|
|
|
|
"origin": {"type": "local"},
|
2024-09-10 14:35:25 -07:00
|
|
|
} # type: ignore
|
2024-09-10 09:17:32 -07:00
|
|
|
|
2024-09-10 14:35:25 -07:00
|
|
|
scale: Point3d = {"x": 1.0, "y": 1.0, "z": 1.0} # type: ignore
|
2024-06-20 11:10:00 -07:00
|
|
|
|
2024-09-10 14:35:25 -07:00
|
|
|
translate: Point3d = {"x": 0.0, "y": 0.0, "z": 0.0} # type: ignore
|
2024-06-20 11:10:00 -07:00
|
|
|
|
|
|
|
model_config = ConfigDict(protected_namespaces=())
|