Releases: ihmcrobotics/euclid
Release notes
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
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
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
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.
Release notes
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.4ihmc-build
0.21.0 -> 0.23.0pitest
1.4.3 -> 1.5.2
Release notes
Minor release for bugfix.
The centroid of the faces from FrameBoxPolytope3DView
were not properly computed.
Release notes
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
Test release for validating EJML 0.39.
Release notes
Minor update:
- Added abstract tests for
Pose2DTest
andPose3DTest
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
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.