Release notes
SylvainBertrand
released this
08 Sep 18:52
·
122 commits
to master
since this release
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
andapplyInverseTransform
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 inEuclidGeometryTools
:- added:
whichPartOfRay2DIsPoint2DOn
,whichSideOfLine2DIsPoint2DOn
,whichSideOfPlane3DIsPoint3DOn
- deprecated some methods which signature was deemed confusing:
isPoint2DOnSideOfLine2D
,isPoint3DAboveOrBelowPlane3D
- added:
- Updated
EuclidFrameTools
to keep up withEuclidGeometryTools
changes. - Moved list operations from
EuclidGeometryPolygonTools
toEuclidCoreTools
and added garbage free implementations ofCollections.reverse(...)
andCollections.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