@@ -22,10 +25,11 @@ All inputs are vectorized and they will accept single or multiple values.
- **Angle Z** [3,4]
Notes:
[1] : Input is available when "Quaternion" mode is selected
[2] : Inputs are available when "Axis Angle" mode is selected
[3] : Inputs are available when "Euler Angles" mode is selected
[4] : The angles are in DEGREES. The Property Panel has option to set angle units as: RADIANS, DEGREES or UNITIES.
* [1] : Input is available when "Quaternion" mode is selected
* [2] : Inputs are available when "Axis Angle" mode is selected
* [3] : Inputs are available when "Euler Angles" mode is selected
* [4] : The angles are in DEGREES. The Property Panel has option to set angle units as: RADIANS, DEGREES or UNITIES.
The node accepts as inputs either lists of items (vectors, numbers, quaternions), such as: [[v, v, v]], [[a, a, a]], [[q, q, q]]. in which case it would generate a set of matrices: [[m, m, m]], but it also accepts lists of lists of items, such as [[v, v], [v, v, v]], in which case it will produce a set of matrices: [[m, m], [m, m, m]].
...
...
@@ -40,41 +44,54 @@ All parameters except **Mode**, **Angle Units** and **Flat Output** can be given
[1] : The "Angle Units" parameter is available for "Axis Angle" and "Euler Angle" modes. When switching the units the angle values are converted to the selected unit. Connected angle inputs are also considered to have the selected angle units.
[2] : The quaternion is expected to be normalized (corresponding to a rotation matrix). If it is not normalized, the result is undefined.
[3] : The XYZ angle parameters are available for "Euler Angle" mode. The order of applying these rotations is given by the "Euler Order" parameter.
[4] : Angles are given by default in DEGREES. The Property Panel has option to set angle units as: RADIANS, DEGREES or UNITIES.
* **[1]** : The "Angle Units" parameter is available for "Axis Angle" and "Euler Angle" modes. When switching the units the angle values are converted to the selected unit. Connected angle inputs are also considered to have the selected angle units.
* **[2]** : The quaternion is expected to be normalized (corresponding to a rotation matrix). If it is not normalized, the result is undefined.
* **[3]** : The XYZ angle parameters are available for "Euler Angle" mode. The order of applying these rotations is given by the "Euler Order" parameter.
* **[4]** : Angles are given by default in DEGREES. The Property Panel has option to set angle units as: RADIANS, DEGREES or UNITIES.
Extra Parameters
----------------
...
...
@@ -87,10 +104,12 @@ These parameters do not receive external input.
All inputs are vectorized and they will accept single or multiple values.
- **A**
- **B** [1]
- **B** **[1]**
- ...
- **Z** [2]
- **Z** **[2]**
Notes:
[1] : The second input is only available for the operations that require a second operand, like Multiply.
[2] : For multiple input operation (e.g. Multiply) the input sockets extend to allow arbitrary number of input matrices and their socket name progress alphabetically.
* **[1]** : The second input is only available for the operations that require a second operand, like Multiply.
* **[2]** : For multiple input operation (e.g. Multiply) the input sockets extend to allow arbitrary number of input matrices and their socket name progress alphabetically.
Parameters
----------
...
...
@@ -30,35 +34,39 @@ All parameters except **Operation**, **PrePost** and **Filter T/R/S** can be giv
[1] : The order of multiplication is given by the PrePost setting.
[2] : The PrePost setting is only available for the Multiply operation.
[3] : The Filter T/R/S toggle settings are only available for the Filter operation.
[4] : Second input is only available for Multiply operation.
* **[1]** : The order of multiplication is given by the PrePost setting.
* **[2]** : The PrePost setting is only available for the Multiply operation.
* **[3]** : The Filter T/R/S toggle settings are only available for the Filter operation.
* **[4]** : Second input is only available for Multiply operation.
Operations
----------
**Multiply**
The multiplication of the 4x4 homogeneous matrices result in a composite 4x4 homogeneous matrix having a composed Translation, a composed Rotation and a composed Scale. The order of multiplication is given by the PrePost setting, which is set to PRE-multiplication by default (C = A*B). The POST multiplication reverses the order of multiplication (C = B*A).
...
...
@@ -80,12 +88,14 @@ This operation extacts the basis vector from the rotation part of the 4x4 homoge
Outputs
-------
**Matrix**
* **Matrix**
Outputs will be generated when connected.
**X**
**Y**
**Z**
* **X**
* **Y**
* **Z**
These outputs are available only for the Basis operation and will be generated when connected.
[1] : For EULER and AXIS-ANGLE modes, which output angles, the node provides an angle unit conversion to let the angle output values be converted to Radians, Degrees or Unities (0-1 range).
[2] : For EULER mode the node provides the option to select the Euler rotation order: "XYZ", "XZY", "YXZ", "YZX", "ZXY" or "ZYX".
* **[1]** : For EULER and AXIS-ANGLE modes, which output angles, the node provides an angle unit conversion to let the angle output values be converted to Radians, Degrees or Unities (0-1 range).
* **[2]** : For EULER mode the node provides the option to select the Euler rotation order: "XYZ", "XZY", "YXZ", "YZX", "ZXY" or "ZYX".
Inputs
------
**Matrix**
The node takes a list of (one or more) matrices and based on the selected mode
it converts the matrices into the corresponding components.
* **Matrix** The node takes a list of (one or more) matrices and based on the selected mode it converts the matrices into the corresponding components.
Extra Parameters
...
...
@@ -48,15 +52,17 @@ These parameters do not receive external input.
Tooltip: Multiply vectors on matrices with several objects in output, processes edges & faces too.
It can also join the output meshes in to a single one
Tooltip: Multiply vectors on matrices with several objects in output, processes edges & faces too. It can also join the output meshes in to a single one\n\t-\n\tIn: Verts, Edges, Faces, Matrices\n\tParam: Join On/[Off]\n\tOut:Verts, Edges, Faces
"""
bl_idname='SvMatrixApplyJoinNode'
...
...
@@ -130,7 +129,7 @@ class SvMatrixApplyJoinNode(bpy.types.Node, SverchCustomTreeNode):
Tooltip: Create a transformation Matrix by defining the angles with X, Y and Z and the rotation order.\n\tIn: X/Y/Z [0.0]\n\tParams: Order ([XYZ]/.../ZYX)\n\tOut: Matrix
"""
bl_idname='SvMatrixEulerNode'
...
...
@@ -79,14 +79,14 @@ class SvMatrixEulerNode(bpy.types.Node, SverchCustomTreeNode):