searches the current version of every section · esc to close

26.05.06 Slot Placementv0.1.42 → v0.1.43

Changed in v0.1.43 (2026-04-14): now rotation use degree

+5 5
v0.1.42v0.1.43
63}63}
64```64```
6565
66- `rotationStep` is OPTIONAL and its value MUST be of type `number` and MUST be an integer. `rotationStep` indicates the allowed rotations around `rotationStepAxis` by $\frac{k\,2\pi}{N}$, where $N$ is the integer specified by `rotationStep` and $k$ is an integer that can be specified via `slotOrientationIndex` in `EmbeddingProperties`. A `rotationStep` of zero indicates that smooth rotation is allowed and, in the `Embedding`, the rotation MUST be specified in `rotation`.66- `rotationStep` is OPTIONAL and its value MUST be of type `number` and MUST be an integer. `rotationStep` indicates the allowed rotations around `rotationStepAxis` by $\frac{k\,360\degree}{N}$, where $N$ is the integer specified by `rotationStep` and $k$ is an integer that can be specified via `slotOrientationIndex` in `EmbeddingProperties`. A `rotationStep` of zero indicates that smooth rotation is allowed and, in the `Embedding`, the rotation MUST be specified in `rotation`.
67- `rotationStepAxis` is OPTIONAL and its value MUST be of type `Coordinate`. It specifies the axis around which `rotationStep` rotations are applied. The magnitude of `rotationStepAxis` MUST be ignored; only its direction is used. If not provided, the default axis is the $z$-axis, i.e., `[0, 0, 1]`.67- `rotationStepAxis` is OPTIONAL and its value MUST be of type `Coordinate`. It specifies the axis around which `rotationStep` rotations are applied. The magnitude of `rotationStepAxis` MUST be ignored; only its direction is used. If not provided, the default axis is the $z$-axis, i.e., `[0, 0, 1]`.
68- `eulerStep` is OPTIONAL and its value MUST be an array of type `Euler`. `eulerStep` indicates the allowed Euler rotations. In the `Embedding`, the choice can be specified in `slotOrientationIndex` by the index of an element in `eulerStep`, where the index starts from zero. An empty `eulerStep` array indicates that smooth Euler rotation is allowed and, in the `Embedding`, the rotation MUST be specified in `rotation`.68- `eulerStep` is OPTIONAL and its value MUST be an array of type `Euler`. `eulerStep` indicates the allowed Euler rotations. In the `Embedding`, the choice can be specified in `slotOrientationIndex` by the index of an element in `eulerStep`, where the index starts from zero. An empty `eulerStep` array indicates that smooth Euler rotation is allowed and, in the `Embedding`, the rotation MUST be specified in `rotation`.
6969
1072. **No `slotRotation` specified.** 1072. **No `slotRotation` specified.**
108 If the `Slot` has no `slotRotation`, the rotation of the artifact is zero on all axes.108 If the `Slot` has no `slotRotation`, the rotation of the artifact is zero on all axes.
1093. **`rotationStep` is a non-zero integer $N$.** 1093. **`rotationStep` is a non-zero integer $N$.**
110 Allowed rotations are around the axis of `rotationStepAxis` only, from the set $\{\tfrac{k\,2\pi}{N}\mid k\in\mathbb{Z}\}$; 110 Allowed rotations are around the axis of `rotationStepAxis` only, from the set $\{\tfrac{k\,360\degree}{N}\mid k\in\mathbb{Z}\}$;
111 1. If `slotOrientationIndex` is present and is an integer $k$, set the rotation around `rotationStepAxis` to $\tfrac{k\,2\pi}{N}$.111 1. If `slotOrientationIndex` is present and is an integer $k$, set the rotation around `rotationStepAxis` to $\tfrac{k\,360\degree}{N}$.
112 2. Else if `rotation` is present, round it to the nearest value in rotation around `rotationStepAxis` to $\tfrac{k\,2\pi}{N}$, where “nearest” is the shortest Euclidean distance after wrapping angles on the lattice with basis $\{2\pi\,\hat x,2\pi\,\hat y,2\pi\,\hat z\}$. If exactly between two options, select the one with larger $k$.112 2. Else if `rotation` is present, round it to the nearest value in rotation around `rotationStepAxis` to $\tfrac{k\,360\degree}{N}$, where “nearest” is the shortest Euclidean distance after wrapping angles on the lattice with basis $\{360\degree\,\hat x,360\degree\,\hat y,360\degree\,\hat z\}$. If exactly between two options, select the one with larger $k$.
113 3. Else set the $z$ rotation to 0.113 3. Else set the $z$ rotation to 0.
1144. **`rotationStep` is zero.**1144. **`rotationStep` is zero.**
115 A smooth rotation around `rotationStepAxis` is allowed.115 A smooth rotation around `rotationStepAxis` is allowed.
116 - If `rotation` is present, use it.116 - If `rotation` is present, use it.
117 - Otherwise set the rotation around `rotationStepAxis` to 0.117 - Otherwise set the rotation around `rotationStepAxis` to 0.
1185. **`eulerStep` is a non-empty array.** 1185. **`eulerStep` is a non-empty array.**
119 Allowed rotations are the Euler triples listed in `eulerStep`.119 Allowed rotations are the Euler triples listed in `eulerStep`.
120 1. If `slotOrientationIndex` is present and is an integer, select the Euler triple at that index; if the index exceeds the array length, select the first element (index 0).120 1. If `slotOrientationIndex` is present and is an integer, select the Euler triple at that index; if the index exceeds the array length, select the first element (index 0).
121 2. Else if `rotation` is present, select the nearest Euler triple from `eulerStep`, where “nearest” is the shortest Euclidean distance after wrapping angles on the lattice with basis $\{2\pi\,\hat x,2\pi\,\hat y,2\pi\,\hat z\}$. If exactly between two options, select the one with the smaller array index.121 2. Else if `rotation` is present, select the nearest Euler triple from `eulerStep`, where “nearest” is the shortest Euclidean distance after wrapping angles on the lattice with basis $\{360\degree\,\hat x,360\degree\,\hat y,360\degree\,\hat z\}$. If exactly between two options, select the one with the smaller array index.
122 3. Else select the first element (index 0) of `eulerStep`. 122 3. Else select the first element (index 0) of `eulerStep`.
1236. **`eulerStep` is an empty array.** 1236. **`eulerStep` is an empty array.**
124 A smooth Euler rotation is allowed.124 A smooth Euler rotation is allowed.
125 - If `rotation` is present, use it.125 - If `rotation` is present, use it.
126 - Otherwise the rotation is zero on each axis.126 - Otherwise the rotation is zero on each axis.