Skip to content

Releases: ihmcrobotics/euclid

Release notes

15 Sep 22:35
Compare
Choose a tag to compare

This release mostly focuses around ReferenceFrame:

  • Added field ReferenceFrame.isFixedInParent to indicate when the transform to the parent frame is expected to be constant.
  • New explicit implementation for a fixed-frame: FixedReferenceFrame
  • Added listener framework to ReferenceFrame to get notified when frames get added/removed to an existing frame tree.
  • Switching to interfaces for the methods' arguments.
  • Made ReferenceFrame.efficientComputeTransform() more robust to concurrent calls. It will still fail when frames are manipulated across multiple threads, but much more rarely.
  • Added filter condition for skipping the update in ReferenceFrame.efficientComputeTransform(). This allows for instance, to restricts the update to a single thread while frames are shared across multiple threads. This still does not make the framework thread safe, but improves its usability and reliability in a multi-thread context.

Misc.:

  • Added constant EuclidCoreTools.neutralQuaternion
  • Updated the README to reflect the migration of the binaries to Maven central.
  • Upgraded ihmc-build from 0.23.7 to 0.26.4.

Release notes

27 Jan 20:31
Compare
Choose a tag to compare

Minor release to address a bug for EuclidGeometryTools.orientation3DFromFirstToSecondVector3D(..., Orientation3DBasics) which would occur when passing a quaternion, the given quaternion would not be normalized.

Dependencies:

  • Upgraded ihmc-build from 0.23.5 to 0.23.7.

Release notes

29 Dec 22:18
Compare
Choose a tag to compare

Minor release:

  • Bugfix: RigidBodyTransformBasics.prependOrientation(Orientation3DReadOnly) would not transform the translation part.
  • Bugfix: AffineTransformBasics.prependOrientation(Orientation3DReadOnly) same as above.
  • Minor documentation fixes.

Update:

  • ihmc-build: 0.23.4 -> 0.23.5

Release notes

18 Dec 21:42
Compare
Choose a tag to compare
Release notes Pre-release
Pre-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.

Release notes

07 Dec 22:58
Compare
Choose a tag to compare

Minor release:

  • Bugfix for EuclidFrameIOTools which wouldn't pass down the given format for some methods.
  • Bugfix for ReferenceFrame, the main counter used to index reference frames wasn't not being reset when clearing the tree.
  • Reduced argument requirement for a constructor of Pose3D.
  • Extended API for 3D matrices to test if the matrix contains only zeros.
  • Added constants to EuclidCoreTools for the 3D zero and identity matrices.

Upgraded dependencies:

  • ihmc-ci 5.9 -> 7.4
  • ihmc-build 0.21.0 -> 0.23.0
  • pitest 1.4.3 -> 1.5.2

Release notes

27 Aug 21:39
Compare
Choose a tag to compare

Minor release for bugfix.
The centroid of the faces from FrameBoxPolytope3DView were not properly computed.

Release notes

18 Jun 14:10
Compare
Choose a tag to compare

This release focuses on updating EJML from 0.30 to 0.39. This update contains major changes to the matrix library and non-backward compatible changes.

Release notes

18 Jun 14:11
Compare
Choose a tag to compare
Release notes Pre-release
Pre-release

Test release for validating EJML 0.39.

Release notes

18 May 20:40
Compare
Choose a tag to compare

Minor update:

  • Added abstract tests for Pose2DTest and Pose3DTest which can be used for external implementations of the respective basics interfaces.
  • Updated ihmc-build to 0.20.2.
  • Updated ihmc-ci to 5.9.

Release notes

06 May 15:58
Compare
Choose a tag to compare

Fixed behavior for querying whether a point is inside a convex polygon. The previous release resulted in rejecting queries that would belong to the perimeter of the polygon, while the intended behavior was to consider these queries as inside the polygon. This release affects:

  • EuclidGeometryPolygonTools.isPoint2DInsideConvexPolygon2D(...) without the epsilon tolerance.
  • ConvexPolygon2DReadOnly.isPoint2DInside(...) without the epsilon tolerance.