Change Log - core-geometry

4.10.1

Thu Nov 14 2024

Version update only

4.10.0

Wed Nov 13 2024

Updates

  • new method Matrix3d.factorRigidSkew
  • use consistent vitest syntax

4.9.5

Tue Oct 22 2024

Version update only

4.9.4

Wed Oct 09 2024

Version update only

4.9.3

Thu Oct 03 2024

Version update only

4.9.2

Wed Oct 02 2024

Version update only

4.9.1

Wed Sep 25 2024

Version update only

4.9.0

Mon Sep 23 2024

Updates

  • approximate Arc3d with circular arc chain
  • circular Arc3d from start + end + radius
  • Prevent flipped facets and extraneous edges in some geometry constructions
  • avoid null ref in buildAverageNormals

4.8.7

Fri Sep 13 2024

Version update only

4.8.6

Fri Sep 06 2024

Version update only

4.8.5

Wed Aug 28 2024

Version update only

4.8.4

Thu Aug 22 2024

Version update only

4.8.3

Fri Aug 16 2024

Version update only

4.8.2

Thu Aug 15 2024

Version update only

4.8.1

Mon Aug 12 2024

Updates

  • avoid null ref in buildAverageNormals

4.8.0

Thu Aug 08 2024

Updates

  • 3-pt ellipse constructor
  • linestring global->local fraction map fix
  • fix linestring Frenet frame bug

4.7.8

Wed Jul 31 2024

Version update only

4.7.7

Fri Jul 19 2024

Version update only

4.7.6

Fri Jul 12 2024

Version update only

4.7.5

Thu Jul 11 2024

Version update only

4.7.4

Mon Jul 01 2024

Version update only

4.7.3

Thu Jun 27 2024

Version update only

4.7.2

Fri Jun 21 2024

Version update only

4.7.1

Thu Jun 13 2024

Version update only

4.7.0

Wed Jun 12 2024

Updates

  • PolyfaceAuxData flatbuffer serialization fix
  • IndexedPolyfaceSubsetVisitor.createNormalComparison
  • TorusPipe.createAlongArc enforces input arc circularity
  • Added Point2d.isZero.

4.6.2

Fri Jun 07 2024

Version update only

4.6.1

Wed May 29 2024

Version update only

4.6.0

Mon May 13 2024

Updates

  • Arc3d.cloneAtZ ignored z
  • drapeRegion could sometimes create non-convex facets
  • publish SerializationHelpers
  • Add Point2d.scaleInPlace and Range2d.cloneTranslated.

4.5.2

Tue Apr 16 2024

Version update only

4.5.1

Wed Apr 03 2024

Version update only

4.5.0

Tue Apr 02 2024

Version update only

4.4.9

Mon Apr 15 2024

Version update only

4.4.8

Mon Mar 25 2024

Version update only

4.4.7

Fri Mar 15 2024

Version update only

4.4.6

Fri Mar 08 2024

Version update only

4.4.5

Tue Mar 05 2024

Version update only

4.4.4

Fri Mar 01 2024

Version update only

4.4.3

Fri Feb 23 2024

Version update only

4.4.2

Fri Feb 16 2024

Version update only

4.4.1

Fri Feb 16 2024

Version update only

4.4.0

Mon Feb 12 2024

Updates

  • New code for RangeTree construction and search
  • logic error in coincident segment detection
  • B-spline legacy closure conversion
  • restore open bcurve json import
  • cw region input to PolyfaceClip.drapeRegion
  • polyface silhouettes
  • ClipUtilities.rangeOfIntersectionOfLocalRanges
  • Fix spelling of deep clone in PolyfaceData.clone jsdoc
  • Slight optimization for Transform.isAlmostEqual.
  • add GeometryProps.pointString

4.3.5

Mon Mar 25 2024

Version update only

4.3.4

Fri Mar 22 2024

Version update only

4.3.3

Wed Jan 03 2024

Version update only

4.3.2

Thu Dec 14 2023

Version update only

4.3.1

Wed Dec 13 2023

Version update only

4.3.0

Thu Dec 07 2023

Updates

  • logic error in coincident segment detection
  • B-spline legacy closure conversion
  • restore open bcurve json import
  • cw region input to PolyfaceClip.drapeRegion
  • polyface silhouettes
  • ClipUtilities.rangeOfIntersectionOfLocalRanges
  • Fix spelling of deep clone in PolyfaceData.clone jsdoc
  • add GeometryProps.pointString

4.2.4

Mon Nov 20 2023

Version update only

4.2.3

Mon Nov 06 2023

Version update only

4.2.2

Thu Nov 02 2023

Version update only

4.2.1

Tue Oct 24 2023

Updates

  • restore open bcurve json import

4.2.0

Tue Oct 17 2023

Updates

  • improvements to GrowableXYArray, Path, Loop
  • PolyfaceClip.drapeRegion

4.1.9

Tue Oct 10 2023

Version update only

4.1.8

Fri Oct 06 2023

Version update only

4.1.7

Thu Sep 28 2023

Version update only

4.1.6

Tue Sep 12 2023

Version update only

4.1.5

Fri Sep 08 2023

Version update only

4.1.4

Thu Sep 07 2023

Version update only

4.1.3

Wed Aug 30 2023

Version update only

4.1.2

Wed Aug 23 2023

Version update only

4.1.1

Fri Aug 18 2023

Version update only

4.1.0

Mon Aug 14 2023

Updates

  • temporarily export internal class MultiChainCollector
  • refactor chain collectors and internal contexts
  • Promote BilinearPatch to public
  • sweepLineStringToFacets improvements
  • Improve behavior of sweepLineStringToFacets -- support direction control, selective output
  • "CurveFactory.createMiteredSweepSections method for sweeping arbitrary section curves to a sequence of planes."
  • Switch to ESLint new flat config system

4.0.7

Thu Aug 10 2023

Version update only

4.0.6

Mon Jul 24 2023

Version update only

4.0.5

Tue Jul 18 2023

Version update only

4.0.4

Wed Jul 12 2023

Version update only

4.0.3

Mon Jul 03 2023

Version update only

4.0.2

Wed Jun 21 2023

Version update only

4.0.1

Wed Jun 21 2023

Version update only

4.0.0

Mon May 22 2023

Updates

  • RegionOps improvements in arc handling
  • fix for CurveChainWithDistanceIndex.fractionToCurvature
  • missing types in core-geometry barrel file
  • geometry API promotions
  • conditionalize core-geometry test output
  • intersect local ranges
  • implement PolyfaceBuilder.addGeometryQuery for Loops and ParityRegions
  • tighten vector normalization tol
  • PolyfaceBuilder for UnionRegions
  • ray-mesh intersection
  • add merge tolerance to regionBooleanXY
  • avoid misclassify null face as negative area face
  • New method PolyfaceQuery.cloneWithMaximalPlanarFacets
  • Plane3d evaluations for issue #5169
  • Update to eslint@8

3.8.0

Fri Dec 08 2023

Version update only

3.7.17

Mon Nov 20 2023

Updates

  • restore open bcurve json import

3.7.16

Mon Oct 16 2023

Version update only

3.7.15

Tue Oct 10 2023

Version update only

3.7.14

Fri Sep 29 2023

Version update only

3.7.13

Tue Aug 08 2023

Version update only

3.7.12

Thu Jul 27 2023

Version update only

3.7.11

Tue Jul 11 2023

Version update only

3.7.10

Wed Jul 05 2023

Version update only

3.7.9

Tue Jun 20 2023

Version update only

3.7.8

Thu Jun 01 2023

Version update only

3.7.7

Wed May 24 2023

Version update only

3.7.6

Mon May 15 2023

Version update only

3.7.5

Thu May 04 2023

Version update only

3.7.4

Tue Apr 25 2023

Version update only

3.7.3

Thu Apr 20 2023

Updates

  • missing types in core-geometry barrel file

3.7.2

Wed Apr 12 2023

Version update only

3.7.1

Mon Apr 03 2023

Version update only

3.7.0

Wed Mar 29 2023

Updates

  • ray-mesh intersection
  • add merge tolerance to regionBooleanXY

3.6.3

Mon Mar 27 2023

Version update only

3.6.2

Fri Mar 17 2023

Version update only

3.6.1

Fri Feb 24 2023

Version update only

3.6.0

Wed Feb 08 2023

Updates

  • allow tolerance to be specified for curve-curve xy intersection
  • BSplineCurve3d.create validates input knots
  • Expose PathFragments to callers. Removal of some duplicated code.

3.5.6

Fri Feb 24 2023

Version update only

3.5.5

Thu Jan 26 2023

Version update only

3.5.4

Wed Jan 18 2023

Version update only

3.5.3

Fri Jan 13 2023

Version update only

3.5.2

Wed Jan 11 2023

Updates

  • PolyfaceQuery method to test for convexity

3.5.1

Thu Dec 15 2022

Version update only

3.5.0

Wed Dec 07 2022

Updates

  • extended clonePartial for LineString3d, CurveChainWithDistanceIndex
  • fix arc and fitCurve projection-to-ray bugs
  • non-coplanar line-arc intersection bug fix
  • refactor cloneWithMaximalPlanarFacets to leave input mesh unchanged
  • regionBooleanXY bridge edge and tolerance fixes
  • report TorusPipe radii in world coords
  • Point3dVector3D: clean up src and add more test coverage

3.4.7

Wed Nov 30 2022

Version update only

3.4.6

Tue Nov 22 2022

Version update only

3.4.5

Thu Nov 17 2022

Version update only

3.4.4

Thu Nov 10 2022

Version update only

3.4.3

Fri Oct 28 2022

Version update only

3.4.2

Mon Oct 24 2022

Version update only

3.4.1

Mon Oct 17 2022

Version update only

3.4.0

Thu Oct 13 2022

Updates

  • Add missing call to clone when calling Ray3d.createStartEnd.
  • ConvexClipPlaneSet from convex Polyface
  • BoxProps.origin name changed to baseOrigin to agree with json format
  • revisit skipped geomlibs tests
  • RegionOps.constructAllXYRegionLoops bug fix
  • When finding closest point on bspline, bezier endpoints were not explicitly tested
  • New method PolyfaceQuery.cloneWithMaximalPlanarFacets
  • Updated Node types declaration to support latest v16

3.3.5

Tue Sep 27 2022

Version update only

3.3.4

Thu Sep 08 2022

Version update only

3.3.3

Tue Sep 06 2022

Version update only

3.3.2

Thu Sep 01 2022

Version update only

3.3.1

Fri Aug 26 2022

Version update only

3.3.0

Thu Aug 18 2022

Updates

  • stroke centerline in addMiteredPipes
  • upgrade mocha to version 10.0.0
  • sort non-horizontal loops in polyface clipper
  • Speedup CurveChainWithDistanceIndex.closestPoint
  • growable array improvements
  • Fix bug in range.extendWhenLarger
  • prevent Delaunay flipper from removing hole edges
  • Add static function AYAndZ.almostEqual. Transform.isAlmostEqual now only requires a Readonly.

3.2.9

Fri Aug 26 2022

Version update only

3.2.8

Tue Aug 09 2022

Version update only

3.2.7

Mon Aug 01 2022

Version update only

3.2.6

Fri Jul 15 2022

Updates

  • sort non-horizontal loops in polyface clipper

3.2.5

Wed Jul 13 2022

Version update only

3.2.4

Tue Jun 21 2022

Version update only

3.2.3

Fri Jun 17 2022

Version update only

3.2.2

Fri Jun 10 2022

Version update only

3.2.1

Tue Jun 07 2022

Version update only

3.2.0

Fri May 20 2022

Updates

  • implement PolyfaceBuilder.addSweptIndexedPolyface

3.1.3

Fri Apr 15 2022

Version update only

3.1.2

Wed Apr 06 2022

Version update only

3.1.1

Thu Mar 31 2022

Version update only

3.1.0

Tue Mar 29 2022

Updates

  • add two geom tests
  • PolyfaceBuilder.addMiteredPipes now handles elliptical sections
  • create spirals beyond [0,1]
  • Add secondary sort (based on curvature) to around-the-vertex ordering in planar subdivision with curves
  • fix Matrix4d.createInverse failure
  • Offset XY curve improvements

3.0.3

Fri Mar 25 2022

Version update only

3.0.2

Thu Mar 10 2022

Version update only

3.0.1

Thu Feb 24 2022

Version update only

3.0.0

Mon Jan 24 2022

Updates

  • Add clonePartialCurve for spirals. Proper length computation for partial spirals.
  • Create interpolation curve for through points construction.
  • InterpolationCurve3d support
  • add HalfEdgeGraphOps.expandConvexFaces
  • Add curve tests to increase coverage
  • add periodic B-spline curve ctor
  • Upgrade target to ES2019 and deliver both a CommonJs and ESModule version of package
  • Fix bug in polygon booleans when inputs are disjoint
  • In wire offset, improve handling of arcs offset beyond their center
  • When a UnionOfConvexClipPlaneSets clips a polyface, aggressively stitch shards.
  • Produce triangles (instead of quads) (when requested) in AddUVGridBody.
  • Documentation file for ClipPlane structures
  • When building planes for a ClipShape, pre-filter the shape edges to remove danglers that violate triangulation requirements
  • Correct problems with all-convex mask clips
  • ClipUtilities.createComplementaryClips -- method to create a UnionOfConvexClipPlaneSets which covers the space outside of a ConvexClipPlaneSet
  • Correct implementation of "mask" ClipPrimitive
  • Implement appendPolygonClip in deep boolean trees.
  • When building index for CurveChainWithDistanceIndex, refer to primary primitives rather than to stroked pieces.
  • Various code coverage. Fix infinitie loop in "out of graph" case in InsertAndRetriangulateContext
  • Fix poor accuracy of closestPoint for BSplineCurve3dH and Integrated Spirals
  • Tests of area analysis for road section project. Shared-edge annotation from constructAllXYRegions
  • Fix plane constructions on xy clipper from polyline offset
  • Apply tolerance when determining if ClipShape polygon is closed.
  • rename to @itwin/core-geometry
  • remove ClientRequestContext and its subclasses
  • Switching to consume new Projects-Client
  • Renamed an iModel's parent container to iTwin
  • Moved Point3d.interpolatePointAndTangent to Ray3d.interpolatePointAndTangent.
  • Support for TypeDoc v0.22.7. Fix various broken docs links.

2.19.28

Wed Jan 12 2022

Version update only

2.19.27

Wed Jan 05 2022

Version update only

2.19.26

Wed Dec 08 2021

Version update only

2.19.25

Fri Dec 03 2021

Version update only

2.19.24

Mon Nov 29 2021

Version update only

2.19.23

Mon Nov 22 2021

Version update only

2.19.22

Tue Nov 16 2021

Version update only

2.19.21

Wed Nov 10 2021

Version update only

2.19.20

Fri Oct 29 2021

Version update only

2.19.19

Mon Oct 25 2021

Version update only

2.19.18

Thu Oct 21 2021

Updates

  • When building index for CurveChainWithDistanceIndex, refer to primary primitives rather than to stroked pieces.

2.19.17

Thu Oct 14 2021

Version update only

2.19.16

Mon Oct 11 2021

Version update only

2.19.15

Fri Oct 08 2021

Updates

  • Add clonePartialCurve for spirals. Proper length computation for partial spirals.

2.19.14

Fri Oct 01 2021

Version update only

2.19.13

Tue Sep 21 2021

Version update only

2.19.12

Wed Sep 15 2021

Version update only

2.19.11

Thu Sep 09 2021

Version update only

2.19.10

Wed Sep 08 2021

Version update only

2.19.9

Wed Aug 25 2021

Version update only

2.19.8

Mon Aug 23 2021

Version update only

2.19.7

Fri Aug 20 2021

Version update only

2.19.6

Tue Aug 17 2021

Version update only

2.19.5

Fri Aug 13 2021

Version update only

2.19.4

Thu Aug 12 2021

Version update only

2.19.3

Wed Aug 04 2021

Version update only

2.19.2

Tue Aug 03 2021

Version update only

2.19.1

Thu Jul 29 2021

Version update only

2.19.0

Mon Jul 26 2021

Updates

  • Add AuxChannel.computeDisplacementRange.
  • accessor for InterpolationCurve3dOptions
  • remove internal barrel-import usage
  • Eliminate artificial interior edge splits when clipping with a UnionOfConvexClipPlaneSets
  • New curve type InterpolationCurve3d. Supported in IMJS, FB. Construction methods to be added.
  • Handle imjs and flatbuffer inputs with numPerFace blocking
  • Added compare of numbers in Geographic CRS classes with tolerances.
  • Adjusted WGS84 polar radius to be more precise than millimeter

2.18.4

Tue Aug 10 2021

Version update only

2.18.3

Wed Jul 28 2021

Version update only

2.18.2

Mon Jul 26 2021

Version update only

2.18.1

Fri Jul 16 2021

Version update only

2.18.0

Fri Jul 09 2021

Updates

  • Add union type AnyCurveVector.
  • Use ZXY axis order in Arc3d.createCenterNormalRadius().
  • Range equality functions accept Readonly. Add XYZ.toArray.
  • PolyfaceData.tryTransformInPlace now also transforms PolyfaceAuxData.

2.17.3

Mon Jul 26 2021

Version update only

2.17.2

Thu Jul 08 2021

Version update only

2.17.1

Fri Jul 02 2021

Version update only

2.17.0

Mon Jun 28 2021

Updates

  • TaggedGeometryData to support subdivision surfaces and future variant meshes

2.16.10

Thu Jul 22 2021

Version update only

2.16.9

Tue Jul 06 2021

Version update only

2.16.8

Fri Jul 02 2021

Version update only

2.16.7

Mon Jun 28 2021

Version update only

2.16.6

Mon Jun 28 2021

Version update only

2.16.5

Fri Jun 25 2021

Version update only

2.16.4

Wed Jun 23 2021

Version update only

2.16.3

Wed Jun 16 2021

Version update only

2.16.2

Thu Jun 03 2021

Version update only

2.16.1

Thu May 27 2021

Version update only

2.16.0

Mon May 24 2021

Updates

  • (geomlibs) fix swap logic in Matrix3d.inverse alias case
  • New Direct spiral types with round trip tests for all spiral types
  • Remove vector grid implementation (replaced by shader based grid).

2.15.6

Wed May 26 2021

Version update only

2.15.5

Thu May 20 2021

Version update only

2.15.4

Tue May 18 2021

Version update only

2.15.3

Mon May 17 2021

Version update only

2.15.2

Wed May 12 2021

Version update only

2.15.1

Wed May 05 2021

Version update only

2.15.0

Fri Apr 30 2021

Updates

  • Refactor grid-in-view line creation to make the same context repeatedly callable.
  • grid line filtering corrections

2.14.4

Thu Apr 22 2021

Version update only

2.14.3

Thu Apr 15 2021

Version update only

2.14.2

Thu Apr 08 2021

Version update only

2.14.1

Mon Apr 05 2021

Version update only

2.14.0

Fri Apr 02 2021

Updates

  • Grid drawing code
  • Quick grid performance fix from Earlin.

2.13.0

Tue Mar 09 2021

Updates

  • Support expectedClosure flag in Polyface, flatbuffer, and imjs
  • Fixed broken double angle bracket link syntax
  • Updated to use TypeScript 4.1
  • begin rename project from iModel.js to iTwin.js

2.12.3

Mon Mar 08 2021

Version update only

2.12.2

Wed Mar 03 2021

Version update only

2.12.1

Tue Feb 23 2021

Version update only

2.12.0

Thu Feb 18 2021

Updates

  • Smoother frustum transition
  • Improve error handling for rectangle construction and matrix normalization
  • IndexedPolyface paramIndex to flatbuffer correction.

2.11.2

Wed Feb 17 2021

Version update only

2.11.1

Thu Feb 04 2021

Version update only

2.11.0

Thu Jan 28 2021

Updates

  • Async version of asyncSweepLinestringToFacetsXYReturnChains
  • Fix bug in sweep contour triangulation with holes
  • Point2d and Vector2d clone methods accept an optional output parameter.
  • Add type-safe JSON representations of clipping types.

2.10.3

Fri Jan 08 2021

Version update only

2.10.2

Fri Jan 08 2021

Version update only

2.10.1

Mon Dec 21 2020

Updates

  • Async version of asyncSweepLinestringToFacetsXYReturnChains

2.10.0

Fri Dec 18 2020

Updates

  • Update minimum Node version to 10.17.0
  • Flatbuffer i/o for TransitionSpiral and PolyfaceAuxData
  • improve performance of announceSweepLinestringToConvexPolyfaceXY
  • When faceting a sphere primitive, apply stroke options (instead of ignoring them and using fixed count)
  • removed Matrix3d from Matrix3dProps. breaking change

2.9.9

Sun Dec 13 2020

Version update only

2.9.8

Thu Dec 10 2020

Version update only

2.9.7

Wed Dec 09 2020

Version update only

2.9.6

Mon Dec 07 2020

Version update only

2.9.5

Fri Dec 04 2020

Version update only

2.9.4

Wed Dec 02 2020

Version update only

2.9.3

Mon Nov 23 2020

Version update only

2.9.2

Mon Nov 23 2020

Version update only

2.9.1

Thu Nov 19 2020

Version update only

2.9.0

Wed Nov 18 2020

Updates

  • method to search a curve collection and return the curvePrimitive, fraction, and xyz of point closest to a spacePoint
  • New method UVSurfaceOps.sampledRangeOfOffsetPatch
  • New method PolyfaceQuery.boundaryOfVisibleSubset
  • Serialize and deserialize typescript geometry to/from flatbuffers
  • Read and Write PointString in flatbuffer

2.8.1

Mon Nov 02 2020

Version update only

2.8.0

Fri Oct 23 2020

Updates

  • New methods PolyfaceQuery.buildAverageNormals and .buildPerFaceNormals
  • Fix bugs in integrated spirals with nonzero start radius

2.7.6

Wed Nov 11 2020

Version update only

2.7.5

Fri Oct 23 2020

Version update only

2.7.4

Mon Oct 19 2020

Version update only

2.7.3

Wed Oct 14 2020

Version update only

2.7.2

Tue Oct 13 2020

Version update only

2.7.1

Thu Oct 08 2020

Version update only

2.7.0

Fri Oct 02 2020

Updates

  • In imjs "cone", accept a single "radius" representing both "startRadius" and "endRadius".

2.6.5

Sat Sep 26 2020

Version update only

2.6.4

Tue Sep 22 2020

Version update only

2.6.3

Mon Sep 21 2020

Version update only

2.6.2

Mon Sep 21 2020

Version update only

2.6.1

Fri Sep 18 2020

Version update only

2.6.0

Thu Sep 17 2020

Updates

  • GrowableArray pushFront; correct doc comments in degreesPerRadian and radiansPerDegree; czech spiral distance methods
  • In polyface builder, identify and ignore more degenerate cases.
  • Moved ESLint configuration to a plugin
  • Fixed: GrowableXYZArray failed to correctly initialize when array of doubles were given
  • Refactor test code to pass lint validations

2.5.5

Wed Sep 02 2020

Version update only

2.5.4

Fri Aug 28 2020

Version update only

2.5.3

Wed Aug 26 2020

Version update only

2.5.2

Tue Aug 25 2020

Version update only

2.5.1

Mon Aug 24 2020

Version update only

2.5.0

Thu Aug 20 2020

Updates

  • Direct Spiral types AustralianRailCorp, HalfCosine
  • Spiral Line-to-Line constructions; make spiral classes public
  • Spiral support: LineSpiralArcSpiralLine construction; active interval stroking
  • Switch to ESLint

2.4.2

Fri Aug 14 2020

Version update only

2.4.1

Fri Aug 07 2020

Version update only

2.4.0

Tue Jul 28 2020

Updates

  • Correct recursion in angle adjustments when input is NaN
  • Implement "Direct" spirals (RLCubic, Arema, DirectHalfCosine)
  • Implement Clothoid, Bloss, Biquadratic, Sine and Cosine spirals within TransitionSpiral3d

2.3.3

Thu Jul 23 2020

Version update only

2.3.2

Tue Jul 14 2020

Version update only

2.3.1

Mon Jul 13 2020

Version update only

2.3.0

Fri Jul 10 2020

Updates

  • Geometry API additions: curveCurveCloseApproach, multipolygon booleans, polygon spine

2.2.1

Tue Jul 07 2020

Version update only

2.2.0

Fri Jun 19 2020

Updates

  • ClipUtilities.createXYOffsetClipFromLineString
  • Bug in region booleans: Loops within parity region were not being simplified by ConsidateAdjacentPrimitives.

2.1.0

Thu May 28 2020

Updates

  • Fixed ClipVector.performTransformTo/FromClip() failing to transform the input.
  • (1) In xy region booleans, support curved edges; (2) ExportGraphicsMeshVisitor class
  • (alpha) boolean operations among regions with curved boundaries.
  • Correct IModelJson.Reader error which lost normals.
  • In region booleans, create bridge edges to link islands to surroundings.
  • New methods for chaining curves. First use of KaTeX in docs
  • Fix PolyfaceData.compress to handle normals and params

2.0.0

Wed May 06 2020

Updates

  • freeze methods return Readonly
  • Show min/max window error for mouse wheel zoom.
  • Show min/max window error for mouse wheel zoom.
  • Methods to create mitered pipe sequences; improve chainCollector sort for full-chain reorder.
  • handle simple wraparound in consolidateAdjacentPrimitives (for sandy Bugai)
  • Fix z bug in Arc3d cloneAtZ()
  • CurveFactory and RegionOps support for pipe construction and finding loops in unstructured curve sets
  • BUG 273249
  • PolyfaceClip for plane, convex, union clippers. Prevent small fragment construction in curve clip.
  • docs for PolyfaceClip.clipPolyfaceInsideOutside
  • modernize cubic root finder
  • geometry coverage. Logic bugs in ChainCollectorContext.needBreakBetweenPrimitives
  • ChainCollector support for DesignReview; Bspline through points for futureOnBridge
  • In earcut triangulation, test for bowtie point.
  • v2.0 API cleanup -- Ellipsoid use LongitudeLatitudeNumber instead of Point2d for angle return
  • imjs importer; move curve context classes to separate files
  • Remove deprecated APIs; see NextVersion.md for details.
  • Upgrade to Rush 5.23.2
  • Remove support for the iModel.js module system by no longer delivering modules.

1.14.1

Wed Apr 22 2020

Version update only

1.14.0

Tue Mar 31 2020

Version update only

1.13.0

Wed Mar 04 2020

Updates

  • Polyface clip to union of convex sets

1.12.0

Wed Feb 12 2020

Updates

  • Implement generic boolean tree of Clipper objects (for Feature 269514)
  • Arc3d precise range; BSpline1dNd interval recursion bug; BooleanClip unit tests
  • MomentData quantity sign controls principal direction orientation.
  • BooleanClipFactory enhancements
  • New method ellipsoide.silhouette (eyePoint: Point4d):Arc3d
  • Correct extended geometry handling in LineString3d.closestPoint
  • (a) Control Triangulation of area booleans, (b) methods to find and purge duplicate facets
  • Improve error handling for triangulation and merge of bad input"
  • iModel write API development

1.11.0

Wed Jan 22 2020

Updates

  • Detect "end to end" connection of colinear line segments during curve-curve intersection methods.
  • RegionOps planar subdivision support.
  • #1.11.0-dev.5_4384: XY linework and Region cleanup methods
  • Upgrade to TypeScript 3.7.2.

1.10.0

Tue Jan 07 2020

Updates

  • CurveCurve.intersectionPairsXY returns details of line-line and arc-arc coincident geometry
  • Add method for mesh orientation fixup.
  • Path-on-Ellipsoid support
  • New method RegionOps.sortOuterAndHoleLoopsXY
  • BUG: Fix inverseState management in MatrixMatrix multliplies with preallocated result and/or aliasing
  • Added Matrix4d.isExactEqual()

1.9.0

Tue Dec 10 2019

Updates

  • EllipsoidPatch support: patch.projectPointToSurface, ellipsoid.constantLatitudeArc, ellipsoid.constantLongitudeArc
  • Great Circle extraction on Ellipsoid
  • Correct bug in z part of Vector3d spherical construction. New method to split mesh by eyevector
  • linearSystem3d z term
  • Code cleanup from codeQL hits
  • Ellipsoid and EllipsoidPatch classes with range and intersectRay support

1.8.0

Fri Nov 22 2019

Updates

  • PolyfaceQuery services: PolyfaceQuery.markAllEdgeVisibility PolyfaceQuery.markPairedEdgesInvisible PolyfaceQuery.setSingleEdgeVisibility PolyfaceQuery.computeFacetUnitNormal
  • Correct sectioning of meshes with (a) nonconvex facets and (b) multicomponent plane intersections
  • Intersect Ray with Sphere
  • Spherical patch range; optional result in range3d.corners()
  • Refactor analysis of range of a+b sin(theta) + c sin(theta)
  • Added missing topic descriptions
  • Added earthRadiusWGS84 constants

1.7.0

Fri Nov 01 2019

Updates

  • Fix bugs in PolygonOffsetContext
  • Mesh support: TVertexFixup and ColinearEdgeFixup
  • Lightweight iterator over Point3ds contained in an IndexedXYZCollection; Transform.multiplyRange() returns a null range if input is a null range.

1.6.0

Wed Oct 09 2019

Updates

  • Triangulate between linestrings; consolidateAdjacentPrimitives; Test if points are a rectangle
  • General matrix4d inverse

1.5.0

Mon Sep 30 2019

Updates

  • Eliminate use of Math.hypot
  • Polyface mesh "split to components"
  • Fast range filtering for cutFill (and other) searches
  • Incremental Edge Flipping, optimize Delauney circle test
  • Explicit undefined initialization for HalfEdge
  • Upgrade to TypeScript 3.6.2

1.4.0

Tue Sep 10 2019

Updates

  • Region "in/on/out" tests
  • Triangulation of isolated point array
  • RegionOps methods to split curve sets
  • PolyfaceClip.computeCutFill method
  • New method ray3d.intersectionWithRange3d
  • Added AnyGeometryQuery and AnySolidPrimitive union types; added type discriminator fields to GeometryQuery, SolidPrimitive, CurvePrimitive, and CurveCollection; tightened any return types for IModelJson.Reader methods.

1.3.0

Tue Aug 13 2019

Updates

  • WireMoment computation; polyline filters for short edge, small triangle, perpendicular projection
  • Triangulate cut faces in polyface clip. Variant point data parse. Bilinear Patch ray intersection"
  • Construct offset from path with curves.
  • Mesh principal axis computation.
  • Document unit length rows/cols requirement of Matrix3d.toQuaternion
  • Correct point4d normalization to handle small w values (NPC)
  • Improved grid display performance.

1.2.0

Wed Jul 24 2019

Updates

  • When compressing linestrings, detect first/last segment colinear case.
  • Consistent stroke counts on BezierCurve3d, BezierCurve3dH
  • Full 3d intersection CurveCurve.intersectionXYZ (no bsplines)
  • New method for polyline wire offset.
  • WIP (1) improve duplicated edge handling in polygon booleans (2) improve variant point array handling
  • Polyline simplification by Puecker-Douglas (chord distance)

1.1.0

Mon Jul 01 2019

Updates

  • Export bilinear patch (used by bing elevation)
  • Removed missing group descriptions
  • Add "extend" support to various CurvePrimitive.closestPoint methods.
  • Add PolyfaceQuery methods to drape linestring to facets
  • Priority queue sweep logic in HalfEdgeGraph
  • PolarData class for x-y-r-theta constraint solve. CurvePathWithDistanceIndex expose path with getter.
  • Region centroid and polygon boolean methods
  • TransitionSpiral bug fixes in transform, use of active interval
  • Prevent triangle flip hang
  • Bspline Curve chord tolerance
  • Add quick-exit completion tests in earcut triangulation
  • Update to TypeScript 3.5

1.0.0

Mon Jun 03 2019

Updates

  • PolyfaceQuery::sweepLinestringToFacetsXYreturnSweptFacets
  • Correct (undocumented) methods
  • PolyfaceClip class with plane, convex set clips.
  • point/vector coverage
  • Detect high-multiplicity knots when saturating a bspline. Skip those intervals in stroking.

0.191.0

Mon May 13 2019

Updates

  • Adds parameter for api-extractor to validate missing release tags
  • Fix for PolygonOps.centroidAreaNormal.
  • View clip fixes and start of tools.
  • Range1dArray coverage
  • Coverage; enable public/internal verification.
  • Add doc to many methods. Modernize ray intersect clip plane logic and methods.
  • closestApproachRay3dRay3d. centroid bugs
  • ClipPlane enhancements; method to compute clip faces for convex set intersection with range
  • ClipPrimitive modernization
  • Debug json clip plane usage
  • add docs for methods in Arc3d, CurvePrimitive, Newton
  • Add comments to (undocumented) methods
  • LineString3d code coverage
  • public and internal doc markup
  • @public markup
  • In FrustumAnimation, detect true center of rotationn
  • Reduce memory allocations in clipping.
  • Method docs, ConvexClipPlaneSetIntersectRange enhancements
  • new method to check of clipper intersects range, with quick exit
  • ClipVector and ClipUtilities test and enhancements
  • Triangulation bug (multiple holes not linked correctly)
  • Fix broken links
  • Put sourcemap in npm package.
  • Setup a generic context for tracking client requests, and made various related enhancements to logging, usage tracking and authorization.
  • New code for regularizing a single face.
  • Upgrade TypeDoc dependency to 0.14.2

0.190.0

Thu Mar 14 2019

Updates

  • Rename/Refactor triangulation

0.189.0

Wed Mar 06 2019

Updates

  • geometry-core camel case
  • Allow subclasses of Range to use static methods
  • Changes package.json to include api-extractor and adds api-extractor.json
  • Use new buildIModelJsBuild script
  • AxisAlignedBox and ElementAlignedBox are now typed to Range3d rather than classes
  • clone methods are no longer generic
  • Remove unneeded typedoc plugin dependency
  • PolyfaceBuilder solid primitive improvements
  • PolyfaceBuilder improvements. Construct normals for sweeps. Mesh pairing closure test.
  • PolyfaceBuilder creates params and normals for all Solid types
  • Mesh Normal bugs, some @internal markup
  • Consistent naming of "get" methods in Growable arrays.
  • Distribute .test.ts files to subdirectories
  • Improve polygon triangulations quality by early flipping behind the earcut front
  • Added freeze methods to Angle and Point2d
  • Bug fixes in PolyfaceBuilder
  • Update for geometry GrowableXYArray usage
  • New class SmoothTransformBetweenFrusta for smooth frustum animation
  • Save BUILD_SEMVER to globally accessible map
  • add optional argument to SmoothTransformBetweenFrusta
  • Upgrade to TypeScript 3.2.2

0.188.0

Wed Jan 16 2019

Version update only

0.187.0

Tue Jan 15 2019

Version update only

0.186.0

Mon Jan 14 2019

Version update only

0.185.0

Fri Jan 11 2019

Version update only

0.184.0

Thu Jan 10 2019

Updates

  • Code coverage. sphere and torus derivative errors. solids reject singular transforms.
  • Add to quaternion tests

0.183.0

Mon Jan 07 2019

Version update only

0.182.0

Mon Jan 07 2019

Version update only

0.181.0

Fri Jan 04 2019

Updates

  • Suppress geometry test console output (except performance)

0.180.0

Wed Jan 02 2019

Updates

  • Special case logic for opening bspline arcs (which are pre-saturated in bezier form)
  • Add quaternion methods
  • Add quaternion tests - fix transpose

0.179.0

Wed Dec 19 2018

Version update only

0.178.0

Thu Dec 13 2018

Version update only

0.177.0

Wed Dec 12 2018

Version update only

0.176.0

Mon Dec 10 2018

Version update only

0.175.0

Mon Dec 10 2018

Version update only

0.174.0

Mon Dec 10 2018

Version update only

0.173.0

Thu Dec 06 2018

Updates

  • Custom imodelJs noDirectImport lint rule implemented, noDuplicateImport lint rule turned on.

0.172.0

Tue Dec 04 2018

Version update only

0.171.0

Mon Dec 03 2018

Version update only

0.170.0

Mon Nov 26 2018

Version update only

0.169.0

Tue Nov 20 2018

Version update only

0.168.0

Sat Nov 17 2018

Version update only

0.167.0

Fri Nov 16 2018

Version update only

0.166.0

Mon Nov 12 2018

Version update only

0.165.0

Mon Nov 12 2018

Updates

  • bspline docs. Add bezier curve left and right subdivision methods"
  • Correct return value (undefined is right!) for LineString3d.pointAt (index)

0.164.0

Thu Nov 08 2018

Updates

  • Complete analysis import test application
  • Add support for PolyfaceAuxData to PolyfaceVisitor
  • Implement curve method "moveSignedDistanceFromFraction"
  • polyface.compress performance problem -- extraneous reallocations
  • CurveChainWithDistanceIndex derivative and distance methods
  • PolyfaceAuxData documentation
  • Updated to TypeScript 3.1

0.163.0

Wed Oct 31 2018

Updates

  • CurveChainWithDistanceIndex WIP
  • fromJSON tests. Geometry.isAlmostEqualNumber uses smallAngleRadians as absolute minimum tolerance.
  • Add tests for fromJSON methods (small classes)
  • Expand test coverage. Use small absolute tolerance in Geometry.isAlmostEqualNumber. "w" component of BezierCurve3d.getPolePoint4d.

0.162.0

Wed Oct 24 2018

Updates

  • Merge
  • fromJSON tests. Geometry.isAlmostEqualNumber uses smallAngleRadians as absolute minimum tolerance.
  • Rename PNG files as png

0.161.0

Fri Oct 19 2018

Version update only

0.160.0

Wed Oct 17 2018

Version update only

0.159.0

Tue Oct 16 2018

Version update only

0.158.0

Mon Oct 15 2018

Version update only

0.157.0

Sun Oct 14 2018

Version update only

0.156.0

Fri Oct 12 2018

Updates

  • Initial release

Last Updated: 14 November, 2024