E3d_TransformSetResetSet a TransformSet to an identity transform
Resets the transformations of the TransformSet in the following manner: - Scaling[XYZ] = 1,1,1 - Rotation[XYZ] = 0,0,0 - Translation[XYZ] = 0,0,0 If PFreeTransformList is TRUE, it frees the arbitrary transform list, otherwise, it resets all transforms in the list, in the same manner as above.
_Matrix3x3InvertPInvert a 3x3 Matrix. The Matrix is passed in as a E3dCoordinate*
Computes the inverse of a 3x3 Matrix. The inverse of a Matrix is a Matrix that, multiplied by the original one, yields an identity Matrix.
E3d_TransformSetToStandardConvert an arbitrary transform sequence to standard scale, rotate, translate
libE3D supports arbitrary transform sequences per Node. This allows applications built on libE3D (EQUINOX-3D, FusionEngine, etc.) 100% compatibility with every 3D software ever made.
For example, it can use the same transform sequence on Nodes as in Maya, or 3DS Max, etc., with the same numbers.
In other words, you can import and edit Node hierarchies from any other software 'losslessly' (this is not always possible between for example, Maya and 3DS Max).
However, when a Node hierarchy is saved into a file format that only supports a fixed set of transforms (e.g. FBX), these transform lists need to be "down-converted". This funcion performs such down-conversions. First, it checks if the sequence of transforms in PSrcTransformSet (PSrcTransformSet->Transforms) maps to a standard transform triplet.
If so, it sets the contents of PDstTransformSet accordingly.
If not, it concatenates all the transforms into a Matrix, decomposes the Matrix into a standard transform triplet, then sets PDstTransformSet.
E_SUCCESS on success, E_NOTHING_TO_DO if PSrcTransformSet does not have a transform list.