Skip to content

Release notes

Pre-release
Pre-release
Compare
Choose a tag to compare
@SylvainBertrand 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 by LinearTransform3D.
  • New type of 3D matrix: LinearTransform3D. This new type is unconstrained similar to Matrix3D but can be decomposed at any time into U*W*V, where U and V are pure rotations and W 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 a RotationMatrixBasics.
  • Pushed methods up to CommonMatrix3DBasics from sub-types.
  • Updated AffineTransform to use LinearTransform3D instead of RotationScaleMatrix. This allows to remove previous constraints of this transform.
  • Extended API of FixedFrameTuple2DBasics and FixedFrameTuple3DBasics 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() with EuclidCoreTools.squareRoot().
  • Minor bugfix in IO tools, some methods were discarding the custom format.

Dependencies:

  • Switched from using org.pitest to using ihmc-commons-testing for the test sourceset.
  • Upgraded ihmc-build from 0.23.0 to 0.23.4.