| | |
| |
|
| | from __future__ import annotations |
| |
|
| | from Metadata import export, constmethod |
| | from PyObjectBase import PyObjectBase |
| | from Axis import Axis as AxisPy |
| | from Vector import Vector |
| | from Placement import Placement |
| | from Rotation import Rotation |
| | from typing import Union |
| |
|
| | @export( |
| | Constructor=True, |
| | Delete=True, |
| | ) |
| | class CoordinateSystem(PyObjectBase): |
| | """ |
| | Base.CoordinateSystem class. |
| | |
| | An orthonormal right-handed coordinate system in 3D space. |
| | |
| | CoordinateSystem() |
| | Empty constructor. |
| | |
| | Author: Juergen Riegel (FreeCAD@juergen-riegel.net) |
| | Licence: LGPL |
| | """ |
| |
|
| | Axis: AxisPy = None |
| | """Set or get axis.""" |
| |
|
| | XDirection: Vector = None |
| | """Set or get X-direction.""" |
| |
|
| | YDirection: Vector = None |
| | """Set or get Y-direction.""" |
| |
|
| | ZDirection: Vector = None |
| | """Set or get Z-direction.""" |
| |
|
| | Position: Vector = None |
| | """Set or get position.""" |
| |
|
| | def setAxes(self, axis: Union[AxisPy, Vector], xDir: Vector, /) -> None: |
| | """ |
| | Set axis or Z-direction, and X-direction. |
| | The X-direction is determined from the orthonormal compononent of `xDir` |
| | with respect to `axis` direction. |
| | |
| | axis : Base.Axis, Base.Vector |
| | xDir : Base.Vector |
| | """ |
| | ... |
| |
|
| | @constmethod |
| | def displacement(self, coordSystem2: "CoordinateSystem", /) -> Placement: |
| | """ |
| | Computes the placement from this to the passed coordinate system `coordSystem2`. |
| | |
| | coordSystem2 : Base.CoordinateSystem |
| | """ |
| | ... |
| |
|
| | def transformTo(self, vector: Vector, /) -> Vector: |
| | """ |
| | Computes the coordinates of the point in coordinates of this coordinate system. |
| | |
| | vector : Base.Vector |
| | """ |
| | ... |
| |
|
| | def transform(self, trans: Union[Rotation, Placement], /) -> None: |
| | """ |
| | Applies a transformation on this coordinate system. |
| | |
| | trans : Base.Rotation, Base.Placement |
| | """ |
| | ... |
| |
|
| | def setPlacement(self, placement: Placement, /) -> None: |
| | """ |
| | Set placement to the coordinate system. |
| | |
| | placement : Base.Placement |
| | """ |
| | ... |
| |
|