Release notes
Pre-release
Pre-release
SylvainBertrand
released this
18 Dec 21:42
·
378 commits
to master
since this release
Major release that focuses mainly on redefining the linear part of AffineTransform
.
- Removed
RotationScaleMatrix
and its interfaces, it is replaced byLinearTransform3D
. - New type of 3D matrix:
LinearTransform3D
. This new type is unconstrained similar toMatrix3D
but can be decomposed at any time intoU*W*V
, whereU
andV
are pure rotations andW
a diagonal matrix. - New algorithms for performing Singular Value Decomposition on a 3D matrix and Eigendecomposition for a symmetric 3D matrix.
- Relaxed some of the tools related to 3D orientations to only require a
CommonMatrix3DBasics
instead of aRotationMatrixBasics
. - Pushed methods up to
CommonMatrix3DBasics
from sub-types. - Updated
AffineTransform
to useLinearTransform3D
instead ofRotationScaleMatrix
. This allows to remove previous constraints of this transform. - Extended API of
FixedFrameTuple2DBasics
andFixedFrameTuple3DBasics
to add more methods with frameless arguments. - New random generators for 3D matrices.
- Extended
Matrix3DReadOnly
API to include methods such as: test for symmetricity, min/max element value. - New factory for creating a conjugated linked quaternion in
EuclidCoreFactories
. - Expanded the operations possible between 3D orientations and 3D matrices.
- Added edge-case for
QuaternionTools.distancePrecise
. - Switched to the new Eigendecomposition solver in
AbstractFace3D
used for convex polytopes.
Minor updates:
- Fixed some documentation.
- Replaced new usages of
Math.sqrt()
withEuclidCoreTools.squareRoot()
. - Minor bugfix in IO tools, some methods were discarding the custom format.
Dependencies:
- Switched from using
org.pitest
to usingihmc-commons-testing
for the test sourceset. - Upgraded
ihmc-build
from 0.23.0 to 0.23.4.