Skip to content

Releases: ihmcrobotics/euclid

0.22.5

Choose a tag to compare

@Beomyeong Beomyeong released this 02 Feb 22:37

What's Changed

Full Changelog: 0.22.4...0.22.5

0.22.4

Choose a tag to compare

@Beomyeong Beomyeong released this 21 Apr 20:44

What's Changed

Full Changelog: 0.22.3...0.22.4

0.22.3

Choose a tag to compare

@ds58 ds58 released this 05 Feb 22:05

What's Changed

  • ⬆️ ihmc-commons 0.35.1 by @ds58 in #70

0.22.2

Choose a tag to compare

@rjgriffin42 rjgriffin42 released this 30 Oct 02:07
0f777b3

What's Changed

  • Upped commons version to 0.34.0
  • Rolled back the randomAxisAngle method to guarantee it exists on a unit sphere, and fixed the corresponding tests.

Full Changelog: 0.21.0...0.22.2

0.22.0

Choose a tag to compare

@rjgriffin42 rjgriffin42 released this 23 Oct 21:16
  • Updated the github workflow and added the build status to the ReadMe
  • pulled in missing tools that had been developed on the ihmc-open-robotics-software repository
  • added a FramePlane3D object from open-robotics, as well as FramePlane3DBasics, FixedFramePlane3DBasics, and FramePlane3DReadOnly interfaces to match the standard Euclid format
  • Pulled in the QuaternionCalculus tools to allow for extracting quaternion rates from angular velocities and accelerations, as well providing an easy SLERP function.
  • Pulled in PoseReferenceFrame, Pose2DReferenceFrame, and TranslationReferenceFrame as basic reference frame implementations.

Release notes

Choose a tag to compare

@SylvainBertrand SylvainBertrand released this 12 Jan 10:41

Changes:

  • Expanded setMatchingFrame API for frame pose 2D/3D, frame tuple 2D/3D/4D.
  • New tools around positive definite 3D matrices.

Updated dependencies:

  • ihmc-ci 7.7 -> 8.3
  • ihmc-build 0.29.0 -> 0.29.4

Release notes

Choose a tag to compare

@SylvainBertrand SylvainBertrand released this 12 Jan 10:35

Changes:

  • New naming restriction framework for controlling reference frame creation.

Updated dependencies:

  • ihmc-ci 7.6 -> 7.7
  • ihmc-build 0.28.6 -> 0.29.0

Release Notes

Choose a tag to compare

@SylvainBertrand SylvainBertrand released this 09 Dec 21:02

This is minor release to address a limitation of EuclidCoreTools.epsilonEquals(...). The method now handles Double.POSITIVE_INFINITY and Double.NEGATIVE_INFINITY.

Updated dependencies:

  • ihmc-commons: 0.31.0 -> 0.32.0
  • ihmc-build: 0.28.2 -> 0.28.6

Release notes

Choose a tag to compare

@SylvainBertrand SylvainBertrand released this 08 Sep 18:52

The main change in this release is the optimization of some common methods for convex polygons, affecting both ConvexPolygon2D and FrameConvexPolygon2D:

  • set methods are a little smarter and copies the data over when possible to avoid having to update the polygon which is expensive.
  • translate method skips the update by directly translating the bounding-box and centroid.
  • applyTransform and applyInverseTransform re-order the vertices if needed to avoid relying onto the update to do so.
  • Switched to doing lazy updates for the bounding box, area, and centroid of a polygon. They are only updated (if needed) when their respective getter is called.

Other changes include:

  • Introduction of a new enum Location
  • Used the new Location to improve methods in EuclidGeometryTools:
    • added: whichPartOfRay2DIsPoint2DOn, whichSideOfLine2DIsPoint2DOn, whichSideOfPlane3DIsPoint3DOn
    • deprecated some methods which signature was deemed confusing: isPoint2DOnSideOfLine2D, isPoint3DAboveOrBelowPlane3D
  • Updated EuclidFrameTools to keep up with EuclidGeometryTools changes.
  • Moved list operations from EuclidGeometryPolygonTools to EuclidCoreTools and added garbage free implementations of Collections.reverse(...) and Collections.rotate(...) while also allowing to specify a range of the list to be modified.

Updated ihmc-build from 0.28.0 to 0.28.2

Release notes

Choose a tag to compare

@SylvainBertrand SylvainBertrand released this 05 Jul 15:56

This release addresses issues of the version 0.18.0.

  • Added FrameTorus3D and its interfaces.
  • SupportingVertexHolder is no longer an EuclidGeometry. It didn't provide any benefit and made implementation of the interface more tedious and didn't make much sense. The shapes remain implementations of EuclidGeoemetry/EuclidFrameGeometry.
  • Made the various final types implement Settable<T> again.
  • Added EuclidFrameTestTools back but only with the assertion methods for EuclidFrameGeometry.
  • Added equals methods in EuclidCoreTools:
    • boolean EuclidCoreTools.equals(EuclidGeometry, EuclidGeometry)
    • boolean EuclidCoreTools.epsilonEquals(EuclidGeometry, EuclidGeometry, double)
    • boolean EuclidCoreTools.geometricallyEquals(EuclidGeometry, EuclidGeometry, double)
  • Added in EuclidFrameTools the equals methods for EuclidFrameGeometry:
    • boolean EuclidFrameTools.equals(EuclidFrameGeometry, EuclidFrameGeometry)
    • boolean EuclidFrameTools.epsilonEquals(EuclidFrameGeometry, EuclidFrameGeometry, double)
    • boolean EuclidFrameTools.geometricallyEquals(EuclidFrameGeometry, EuclidFrameGeometry, double)