@itwin/core-geometry 5.3.0-dev.2 → 5.3.0-dev.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/lib/cjs/Constant.js.map +1 -1
  3. package/lib/cjs/Geometry.js.map +1 -1
  4. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  5. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  7. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  8. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  9. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  10. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  11. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  12. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  13. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  14. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  15. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  16. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  17. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  18. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  19. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  20. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  21. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  22. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  23. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  24. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  25. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  26. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  27. package/lib/cjs/core-geometry.js.map +1 -1
  28. package/lib/cjs/curve/Arc3d.d.ts +15 -1
  29. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  30. package/lib/cjs/curve/Arc3d.js +36 -9
  31. package/lib/cjs/curve/Arc3d.js.map +1 -1
  32. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  33. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  34. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  35. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  36. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  37. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  38. package/lib/cjs/curve/CurveFactory.d.ts +25 -8
  39. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  40. package/lib/cjs/curve/CurveFactory.js +51 -55
  41. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  42. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  43. package/lib/cjs/curve/CurveOps.d.ts +2 -5
  44. package/lib/cjs/curve/CurveOps.d.ts.map +1 -1
  45. package/lib/cjs/curve/CurveOps.js +2 -5
  46. package/lib/cjs/curve/CurveOps.js.map +1 -1
  47. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  48. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  49. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  50. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  51. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  52. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  53. package/lib/cjs/curve/LineString3d.js.map +1 -1
  54. package/lib/cjs/curve/Loop.js.map +1 -1
  55. package/lib/cjs/curve/OffsetOptions.js.map +1 -1
  56. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  57. package/lib/cjs/curve/Path.js.map +1 -1
  58. package/lib/cjs/curve/PointString3d.js.map +1 -1
  59. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  60. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  61. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  62. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  63. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  64. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts +50 -15
  65. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  66. package/lib/cjs/curve/Query/PlanarSubdivision.js +102 -84
  67. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  68. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  69. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  70. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  71. package/lib/cjs/curve/RegionOps.d.ts +44 -25
  72. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  73. package/lib/cjs/curve/RegionOps.js +74 -39
  74. package/lib/cjs/curve/RegionOps.js.map +1 -1
  75. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  76. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +8 -8
  77. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  78. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  79. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  80. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
  81. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  82. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  83. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  84. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  85. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  86. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  87. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  88. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
  89. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  90. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +102 -92
  91. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  92. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  93. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  94. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  95. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  96. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  97. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  98. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  99. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  100. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  101. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  102. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.js.map +1 -1
  103. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  104. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +10 -13
  105. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -1
  106. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js +23 -22
  107. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  108. package/lib/cjs/curve/spiral/ClothoidSeries.d.ts +10 -6
  109. package/lib/cjs/curve/spiral/ClothoidSeries.d.ts.map +1 -1
  110. package/lib/cjs/curve/spiral/ClothoidSeries.js +36 -19
  111. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  112. package/lib/cjs/curve/spiral/CubicEvaluator.d.ts +7 -6
  113. package/lib/cjs/curve/spiral/CubicEvaluator.d.ts.map +1 -1
  114. package/lib/cjs/curve/spiral/CubicEvaluator.js +29 -14
  115. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  116. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts +34 -44
  117. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -1
  118. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js +47 -53
  119. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  120. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +2 -2
  121. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -1
  122. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js +17 -7
  123. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  124. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +112 -104
  125. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
  126. package/lib/cjs/curve/spiral/DirectSpiral3d.js +143 -117
  127. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  128. package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +71 -53
  129. package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
  130. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +99 -66
  131. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  132. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +8 -12
  133. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -1
  134. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +11 -13
  135. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  136. package/lib/cjs/curve/spiral/NormalizedTransition.d.ts +36 -29
  137. package/lib/cjs/curve/spiral/NormalizedTransition.d.ts.map +1 -1
  138. package/lib/cjs/curve/spiral/NormalizedTransition.js +62 -40
  139. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  140. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts +13 -18
  141. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -1
  142. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js +21 -24
  143. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  144. package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts +41 -27
  145. package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
  146. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js +50 -33
  147. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  148. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +45 -34
  149. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  150. package/lib/cjs/curve/spiral/TransitionSpiral3d.js +56 -38
  151. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  152. package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts +27 -21
  153. package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts.map +1 -1
  154. package/lib/cjs/curve/spiral/XYCurveEvaluator.js +23 -18
  155. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  156. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  157. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  158. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  159. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  160. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  161. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  162. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  163. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  164. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  165. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  166. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  167. package/lib/cjs/geometry3d/GrowableXYArray.d.ts +98 -99
  168. package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -1
  169. package/lib/cjs/geometry3d/GrowableXYArray.js +123 -111
  170. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  171. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +137 -143
  172. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  173. package/lib/cjs/geometry3d/GrowableXYZArray.js +167 -161
  174. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  175. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  176. package/lib/cjs/geometry3d/IndexedXYCollection.d.ts +51 -34
  177. package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -1
  178. package/lib/cjs/geometry3d/IndexedXYCollection.js +16 -6
  179. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  180. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +87 -93
  181. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  182. package/lib/cjs/geometry3d/IndexedXYZCollection.js +41 -38
  183. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  184. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  185. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  186. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  187. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  188. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  189. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  190. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  191. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  192. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  193. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  194. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  195. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  196. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  197. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  198. package/lib/cjs/geometry3d/PolylineOps.d.ts +2 -2
  199. package/lib/cjs/geometry3d/PolylineOps.js +2 -2
  200. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  201. package/lib/cjs/geometry3d/Range.js.map +1 -1
  202. package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
  203. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  204. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  205. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  206. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  207. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  208. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  209. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  210. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  211. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  212. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  213. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  214. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  215. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  216. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  217. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  218. package/lib/cjs/numerics/ClusterableArray.d.ts.map +1 -1
  219. package/lib/cjs/numerics/ClusterableArray.js +2 -2
  220. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  221. package/lib/cjs/numerics/Complex.js.map +1 -1
  222. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  223. package/lib/cjs/numerics/Newton.js.map +1 -1
  224. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  225. package/lib/cjs/numerics/PolarData.js.map +1 -1
  226. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  227. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  228. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  229. package/lib/cjs/numerics/SmallSystem.js.map +1 -1
  230. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  231. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  232. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  233. package/lib/cjs/polyface/AuxData.js.map +1 -1
  234. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  235. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  236. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  237. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  238. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  239. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  240. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  241. package/lib/cjs/polyface/IndexedPolyfaceWalker.js.map +1 -1
  242. package/lib/cjs/polyface/Polyface.js.map +1 -1
  243. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  244. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  245. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  246. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  247. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  248. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  249. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  250. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  251. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  252. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  253. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  254. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  255. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  256. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  257. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  258. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  259. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  260. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  261. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  262. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  263. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  264. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  265. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  266. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  267. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  268. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  269. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  270. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  271. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  272. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
  273. package/lib/cjs/solid/Box.js.map +1 -1
  274. package/lib/cjs/solid/Cone.js.map +1 -1
  275. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  276. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  277. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  278. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  279. package/lib/cjs/solid/Sphere.js.map +1 -1
  280. package/lib/cjs/solid/SweepContour.js.map +1 -1
  281. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  282. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  283. package/lib/cjs/topology/Graph.js.map +1 -1
  284. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  285. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  286. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  287. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  288. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  289. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  290. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  291. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  292. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  293. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  294. package/lib/cjs/topology/MaskManager.js.map +1 -1
  295. package/lib/cjs/topology/Merging.d.ts +15 -7
  296. package/lib/cjs/topology/Merging.d.ts.map +1 -1
  297. package/lib/cjs/topology/Merging.js +15 -10
  298. package/lib/cjs/topology/Merging.js.map +1 -1
  299. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  300. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  301. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  302. package/lib/cjs/topology/Triangulation.js.map +1 -1
  303. package/lib/cjs/topology/Voronoi.js.map +1 -1
  304. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  305. package/lib/esm/Constant.js.map +1 -1
  306. package/lib/esm/Geometry.js.map +1 -1
  307. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  308. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  309. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  310. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  311. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  312. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  313. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  314. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  315. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  316. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  317. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  318. package/lib/esm/bspline/KnotVector.js.map +1 -1
  319. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  320. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  321. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  322. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  323. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  324. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  325. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  326. package/lib/esm/clipping/ClipVector.js.map +1 -1
  327. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  328. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  329. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  330. package/lib/esm/core-geometry.js.map +1 -1
  331. package/lib/esm/curve/Arc3d.d.ts +15 -1
  332. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  333. package/lib/esm/curve/Arc3d.js +36 -9
  334. package/lib/esm/curve/Arc3d.js.map +1 -1
  335. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  336. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  337. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  338. package/lib/esm/curve/CurveCollection.js.map +1 -1
  339. package/lib/esm/curve/CurveCurve.js.map +1 -1
  340. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  341. package/lib/esm/curve/CurveFactory.d.ts +25 -8
  342. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  343. package/lib/esm/curve/CurveFactory.js +51 -55
  344. package/lib/esm/curve/CurveFactory.js.map +1 -1
  345. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  346. package/lib/esm/curve/CurveOps.d.ts +2 -5
  347. package/lib/esm/curve/CurveOps.d.ts.map +1 -1
  348. package/lib/esm/curve/CurveOps.js +2 -5
  349. package/lib/esm/curve/CurveOps.js.map +1 -1
  350. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  351. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  352. package/lib/esm/curve/CurveTypes.js.map +1 -1
  353. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  354. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  355. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  356. package/lib/esm/curve/LineString3d.js.map +1 -1
  357. package/lib/esm/curve/Loop.js.map +1 -1
  358. package/lib/esm/curve/OffsetOptions.js.map +1 -1
  359. package/lib/esm/curve/ParityRegion.js.map +1 -1
  360. package/lib/esm/curve/Path.js.map +1 -1
  361. package/lib/esm/curve/PointString3d.js.map +1 -1
  362. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  363. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  364. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  365. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  366. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  367. package/lib/esm/curve/Query/PlanarSubdivision.d.ts +50 -15
  368. package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  369. package/lib/esm/curve/Query/PlanarSubdivision.js +102 -84
  370. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  371. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  372. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  373. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  374. package/lib/esm/curve/RegionOps.d.ts +44 -25
  375. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  376. package/lib/esm/curve/RegionOps.js +72 -37
  377. package/lib/esm/curve/RegionOps.js.map +1 -1
  378. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  379. package/lib/esm/curve/RegionOpsClassificationSweeps.js +8 -8
  380. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  381. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  382. package/lib/esm/curve/UnionRegion.js.map +1 -1
  383. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
  384. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  385. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  386. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  387. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  388. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  389. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  390. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  391. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
  392. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  393. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +102 -92
  394. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  395. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  396. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  397. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  398. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  399. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  400. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  401. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  402. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  403. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  404. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  405. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.js.map +1 -1
  406. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  407. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +10 -13
  408. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -1
  409. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js +23 -22
  410. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  411. package/lib/esm/curve/spiral/ClothoidSeries.d.ts +10 -6
  412. package/lib/esm/curve/spiral/ClothoidSeries.d.ts.map +1 -1
  413. package/lib/esm/curve/spiral/ClothoidSeries.js +36 -19
  414. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  415. package/lib/esm/curve/spiral/CubicEvaluator.d.ts +7 -6
  416. package/lib/esm/curve/spiral/CubicEvaluator.d.ts.map +1 -1
  417. package/lib/esm/curve/spiral/CubicEvaluator.js +29 -14
  418. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  419. package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts +34 -44
  420. package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -1
  421. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js +47 -53
  422. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  423. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +2 -2
  424. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -1
  425. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js +17 -7
  426. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  427. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +112 -104
  428. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
  429. package/lib/esm/curve/spiral/DirectSpiral3d.js +143 -117
  430. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  431. package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +71 -53
  432. package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
  433. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +99 -66
  434. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  435. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +8 -12
  436. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -1
  437. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +11 -13
  438. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  439. package/lib/esm/curve/spiral/NormalizedTransition.d.ts +36 -29
  440. package/lib/esm/curve/spiral/NormalizedTransition.d.ts.map +1 -1
  441. package/lib/esm/curve/spiral/NormalizedTransition.js +62 -40
  442. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  443. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts +13 -18
  444. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -1
  445. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js +21 -24
  446. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  447. package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +41 -27
  448. package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
  449. package/lib/esm/curve/spiral/TransitionConditionalProperties.js +50 -33
  450. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  451. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +45 -34
  452. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  453. package/lib/esm/curve/spiral/TransitionSpiral3d.js +56 -38
  454. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  455. package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts +27 -21
  456. package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts.map +1 -1
  457. package/lib/esm/curve/spiral/XYCurveEvaluator.js +23 -18
  458. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  459. package/lib/esm/geometry3d/Angle.js.map +1 -1
  460. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  461. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  462. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  463. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  464. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  465. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  466. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  467. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  468. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  469. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  470. package/lib/esm/geometry3d/GrowableXYArray.d.ts +98 -99
  471. package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -1
  472. package/lib/esm/geometry3d/GrowableXYArray.js +124 -112
  473. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  474. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +137 -143
  475. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  476. package/lib/esm/geometry3d/GrowableXYZArray.js +167 -161
  477. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  478. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  479. package/lib/esm/geometry3d/IndexedXYCollection.d.ts +51 -34
  480. package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -1
  481. package/lib/esm/geometry3d/IndexedXYCollection.js +14 -5
  482. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  483. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +87 -93
  484. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  485. package/lib/esm/geometry3d/IndexedXYZCollection.js +41 -38
  486. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  487. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  488. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  489. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  490. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  491. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  492. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  493. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  494. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  495. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  496. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  497. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  498. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  499. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  500. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  501. package/lib/esm/geometry3d/PolylineOps.d.ts +2 -2
  502. package/lib/esm/geometry3d/PolylineOps.js +2 -2
  503. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  504. package/lib/esm/geometry3d/Range.js.map +1 -1
  505. package/lib/esm/geometry3d/Ray2d.js.map +1 -1
  506. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  507. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  508. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  509. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  510. package/lib/esm/geometry3d/Transform.js.map +1 -1
  511. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  512. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  513. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  514. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  515. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  516. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  517. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  518. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  519. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  520. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  521. package/lib/esm/numerics/ClusterableArray.d.ts.map +1 -1
  522. package/lib/esm/numerics/ClusterableArray.js +2 -2
  523. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  524. package/lib/esm/numerics/Complex.js.map +1 -1
  525. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  526. package/lib/esm/numerics/Newton.js.map +1 -1
  527. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  528. package/lib/esm/numerics/PolarData.js.map +1 -1
  529. package/lib/esm/numerics/Polynomials.js.map +1 -1
  530. package/lib/esm/numerics/Quadrature.js.map +1 -1
  531. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  532. package/lib/esm/numerics/SmallSystem.js.map +1 -1
  533. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  534. package/lib/esm/numerics/UnionFind.js.map +1 -1
  535. package/lib/esm/numerics/UsageSums.js.map +1 -1
  536. package/lib/esm/polyface/AuxData.js.map +1 -1
  537. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  538. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  539. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  540. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  541. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  542. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  543. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  544. package/lib/esm/polyface/IndexedPolyfaceWalker.js.map +1 -1
  545. package/lib/esm/polyface/Polyface.js.map +1 -1
  546. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  547. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  548. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  549. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  550. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  551. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  552. package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  553. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  554. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  555. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  556. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  557. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  558. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  559. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  560. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  561. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  562. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  563. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  564. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  565. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  566. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  567. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  568. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  569. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  570. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  571. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  572. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  573. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  574. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  575. package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
  576. package/lib/esm/solid/Box.js.map +1 -1
  577. package/lib/esm/solid/Cone.js.map +1 -1
  578. package/lib/esm/solid/LinearSweep.js.map +1 -1
  579. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  580. package/lib/esm/solid/RuledSweep.js.map +1 -1
  581. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  582. package/lib/esm/solid/Sphere.js.map +1 -1
  583. package/lib/esm/solid/SweepContour.js.map +1 -1
  584. package/lib/esm/solid/TorusPipe.js.map +1 -1
  585. package/lib/esm/topology/ChainMerge.js.map +1 -1
  586. package/lib/esm/topology/Graph.js.map +1 -1
  587. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  588. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  589. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  590. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  591. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  592. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  593. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  594. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  595. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  596. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  597. package/lib/esm/topology/MaskManager.js.map +1 -1
  598. package/lib/esm/topology/Merging.d.ts +15 -7
  599. package/lib/esm/topology/Merging.d.ts.map +1 -1
  600. package/lib/esm/topology/Merging.js +15 -10
  601. package/lib/esm/topology/Merging.js.map +1 -1
  602. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  603. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  604. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  605. package/lib/esm/topology/Triangulation.js.map +1 -1
  606. package/lib/esm/topology/Voronoi.js.map +1 -1
  607. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  608. package/package.json +3 -3
@@ -12,42 +12,38 @@ import { Point3d, Vector3d } from "./Point3dVector3d";
12
12
  import { PointStreamGrowableXYZArrayCollector, VariantPointDataStream } from "./PointStreaming";
13
13
  import { Range1d, Range3d } from "./Range";
14
14
  import { Transform } from "./Transform";
15
- /** `GrowableXYArray` manages a (possibly growing) Float64Array to pack xy coordinates.
15
+ /**
16
+ * `GrowableXYZArray` manages a (possibly growing) Float64Array to pack xyz coordinates.
16
17
  * @public
17
18
  */
18
19
  export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
19
- /**
20
- * array of packed xyz xyz xyz components
21
- */
20
+ /** Array of packed xyz xyz xyz components. */
22
21
  _data;
23
- /**
24
- * Number of xyz triples (not floats) in the array
25
- */
22
+ /** Number of xyz triples (not floats) in the array. */
26
23
  _xyzInUse;
27
- /**
28
- * capacity in xyz triples. (not floats)
29
- */
24
+ /** Capacity in xyz triples (not floats). */
30
25
  _xyzCapacity;
31
- /**
32
- * multiplier used by ensureCapacity to expand requested reallocation size
33
- */
26
+ /** Multiplier used by ensureCapacity to expand requested reallocation size. */
34
27
  _growthFactor;
35
- /** Construct a new GrowablePoint3d array.
36
- * @param numPoints initial capacity in xyz triples (default 8)
37
- * @param growthFactor used by ensureCapacity to expand requested reallocation size (default 1.5)
28
+ /**
29
+ * Construct a new GrowablePoint3d array.
30
+ * @param numPoints initial capacity in xyz triples (default 8).
31
+ * @param growthFactor used by ensureCapacity to expand requested reallocation size (default 1.5).
32
+ * @param data optional pre-existing Float64Array to use as the backing memory. If supplied, numPoints is ignored.
38
33
  */
39
- constructor(numPoints = 8, growthFactor) {
34
+ constructor(numPoints = 8, growthFactor, data) {
40
35
  super();
41
- this._data = new Float64Array(numPoints * 3); // 3 values per point
36
+ this._data = data || new Float64Array(numPoints * 3); // 3 values per point
42
37
  this._xyzInUse = 0;
43
- this._xyzCapacity = numPoints;
38
+ this._xyzCapacity = data ? data.length / 3 : numPoints;
44
39
  this._growthFactor = (undefined !== growthFactor && growthFactor >= 1.0) ? growthFactor : 1.5;
45
40
  }
46
- /** Copy xyz points from source array. Does not reallocate or change active point count.
47
- * @param source array to copy from
48
- * @param sourceCount copy the first sourceCount points; all points if undefined
49
- * @param destOffset copy to instance array starting at this point index; zero if undefined
50
- * @return count and offset of points copied
41
+ /**
42
+ * Copy xyz points from source array. Does not reallocate or change active point count.
43
+ * @param source array to copy from.
44
+ * @param sourceCount copy the first sourceCount points; all points if undefined.
45
+ * @param destOffset copy to instance array starting at this point index; zero if undefined.
46
+ * @return count and offset of points copied.
51
47
  */
52
48
  copyData(source, sourceCount, destOffset) {
53
49
  // validate inputs and convert from points to entries
@@ -76,30 +72,47 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
76
72
  return { count: myCount / 3, offset: myOffset / 3 };
77
73
  }
78
74
  /** The number of points in use. When the length is increased, the array is padded with zeroes. */
79
- get length() { return this._xyzInUse; }
80
- set length(newLength) { this.resize(newLength, true); }
75
+ get length() {
76
+ return this._xyzInUse;
77
+ }
78
+ set length(newLength) {
79
+ this.resize(newLength, true);
80
+ }
81
81
  /** Return the number of float64 in use. */
82
- get float64Length() { return this._xyzInUse * 3; }
83
- /** Return the raw packed data.
82
+ get float64Length() {
83
+ return this._xyzInUse * 3;
84
+ }
85
+ /**
86
+ * Return the raw packed data.
84
87
  * * Note that the length of the returned Float64Array is a count of doubles, and includes the excess capacity
85
88
  */
86
- float64Data() { return this._data; }
87
- /** If necessary, increase the capacity to the new number of points. Current coordinates and point count (length) are unchanged. */
89
+ float64Data() {
90
+ return this._data;
91
+ }
92
+ /**
93
+ * If necessary, increase the capacity to the new number of points. Current coordinates and point count (length) are
94
+ * unchanged.
95
+ */
88
96
  ensureCapacity(pointCapacity, applyGrowthFactor = true) {
89
97
  if (pointCapacity > this._xyzCapacity) {
90
98
  if (applyGrowthFactor)
91
- pointCapacity *= this._growthFactor;
99
+ pointCapacity = Math.trunc(pointCapacity * this._growthFactor);
92
100
  const prevData = this._data;
93
- this._data = new Float64Array(pointCapacity * 3);
101
+ if (this._data.buffer instanceof ArrayBuffer)
102
+ this._data = new Float64Array(new ArrayBuffer(pointCapacity * 3 * this._data.BYTES_PER_ELEMENT));
103
+ else
104
+ this._data = new Float64Array(new SharedArrayBuffer(pointCapacity * 3 * this._data.BYTES_PER_ELEMENT));
94
105
  this.copyData(prevData, this._xyzInUse);
95
106
  this._xyzCapacity = pointCapacity;
96
107
  }
97
108
  }
98
109
  /**
99
- * * If pointCount is less than current length, just reset current length to pointCount, effectively trimming active points but preserving original capacity.
100
- * * If pointCount is greater than current length, reallocate to exactly pointCount, copy existing points, and optionally pad excess with zero.
101
- * @param pointCount new number of active points in array
102
- * @param padWithZero when increasing point count, whether to zero out new points (default false)
110
+ * * If pointCount is less than current length, just reset current length to pointCount, effectively trimming active
111
+ * points but preserving original capacity.
112
+ * * If pointCount is greater than current length, reallocate to exactly pointCount, copy existing points, and
113
+ * optionally pad excess with zero.
114
+ * @param pointCount new number of active points in array.
115
+ * @param padWithZero when increasing point count, whether to zero out new points (default false).
103
116
  */
104
117
  resize(pointCount, padWithZero) {
105
118
  if (pointCount >= 0 && pointCount < this._xyzInUse)
@@ -111,10 +124,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
111
124
  this._xyzInUse = pointCount;
112
125
  }
113
126
  }
114
- /**
115
- * Make a copy of the (active) points in this array.
116
- * (The clone does NOT get excess capacity)
117
- */
127
+ /** Make a copy of the (active) points in this array (the clone does NOT get excess capacity). */
118
128
  clone(result) {
119
129
  if (!result)
120
130
  result = new GrowableXYZArray(this.length);
@@ -130,11 +140,11 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
130
140
  /**
131
141
  * Clone the input array with each successive duplicate point removed.
132
142
  * * First and last points are always preserved.
133
- * @param source the source array
134
- * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]])
143
+ * @param source the source array.
144
+ * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]]).
135
145
  * @param result optional pre-allocated object to populate and return. Can be a reference to `source`, in
136
146
  * which case the array is compressed in place and returned.
137
- * @see [[cloneCompressed]], [[compressInPlace]], [[PolylineOps.compressShortEdges]]
147
+ * @see [[cloneCompressed]], [[compressInPlace]], [[PolylineOps.compressShortEdges]].
138
148
  */
139
149
  static createCompressed(source, tolerance = Geometry.smallMetricDistance, result) {
140
150
  const dupIndices = source.findOrderedDuplicates(tolerance, true);
@@ -168,14 +178,15 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
168
178
  /**
169
179
  * Compress the input array by removing successive duplicate points.
170
180
  * * First and last points are always preserved.
171
- * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]])
181
+ * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]]).
172
182
  * @returns the instance array.
173
- * @see [[createCompressed]], [[cloneCompressed]], [[PolylineOps.compressShortEdges]]
183
+ * @see [[createCompressed]], [[cloneCompressed]], [[PolylineOps.compressShortEdges]].
174
184
  */
175
185
  compressInPlace(tolerance = Geometry.smallMetricDistance) {
176
186
  return GrowableXYZArray.createCompressed(this, tolerance, this);
177
187
  }
178
- /** Create an array from various point data formats.
188
+ /**
189
+ * Create an array by copying data from various point formats.
179
190
  * Valid inputs are:
180
191
  * * Point2d
181
192
  * * Point3d
@@ -200,23 +211,32 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
200
211
  result.pushFrom(data);
201
212
  return result;
202
213
  }
203
- /** Restructure MultiLineStringDataVariant as array of GrowableXYZArray */
214
+ /**
215
+ * Create a new GrowableXYZArray capturing the provided data. The data is not copied, just referenced.
216
+ * @param data source data to capture.
217
+ * @returns a new GrowableXYZArray object that references the provided data.
218
+ */
219
+ static createCapture(data) {
220
+ return new GrowableXYZArray(0, undefined, data);
221
+ }
222
+ /** Restructure MultiLineStringDataVariant as array of GrowableXYZArray. */
204
223
  static createArrayOfGrowableXYZArray(data) {
205
224
  const collector = new PointStreamGrowableXYZArrayCollector();
206
225
  VariantPointDataStream.streamXYZ(data, collector);
207
226
  return collector.claimArrayOfGrowableXYZArray();
208
227
  }
209
- /** push a point to the end of the array */
228
+ /** Push a point to the end of the array. */
210
229
  push(toPush) {
211
230
  this.pushXYZ(toPush.x, toPush.y, toPush.z);
212
231
  }
213
- /** push all points of an array */
232
+ /** Push all points of an array. */
214
233
  pushAll(points) {
215
234
  this.ensureCapacity(this._xyzInUse + points.length, false);
216
235
  for (const p of points)
217
236
  this.push(p);
218
237
  }
219
- /** Push copies of points from variant sources.
238
+ /**
239
+ * Push copies of points from variant sources.
220
240
  * Valid inputs are:
221
241
  * * Point2d
222
242
  * * Point3d
@@ -226,7 +246,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
226
246
  * * Any json object satisfying Point3d.isXYAndZ
227
247
  * * Any json object satisfying Point3d.isXAndY
228
248
  * * A Float64Array of doubles, interpreted as xyzxyz
229
- * * An array of any of the above
249
+ * * An array of any of the above.
230
250
  */
231
251
  pushFrom(p) {
232
252
  if (p instanceof Point3d)
@@ -246,7 +266,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
246
266
  else if (Geometry.isNumberArray(p, 2))
247
267
  this.pushXYZ(p[0], p[1], 0.0);
248
268
  else if (Array.isArray(p)) {
249
- // direct recursion re-wraps p and goes infinite. Unroll here.
269
+ // direct recursion re-wraps p and goes infinite; unroll here.
250
270
  for (const q of p)
251
271
  this.pushFrom(q);
252
272
  }
@@ -263,7 +283,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
263
283
  }
264
284
  /**
265
285
  * Replicate numWrap xyz values from the front of the array as new values at the end.
266
- * @param numWrap number of xyz values to replicate
286
+ * @param numWrap number of xyz values to replicate.
267
287
  */
268
288
  pushWrap(numWrap) {
269
289
  if (this._xyzInUse >= numWrap) {
@@ -274,7 +294,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
274
294
  }
275
295
  }
276
296
  }
277
- /** append a new point with given x,y,z */
297
+ /** Append a new point with given x,y,z. */
278
298
  pushXYZ(x, y, z) {
279
299
  this.ensureCapacity(this._xyzInUse + 1);
280
300
  const index = this._xyzInUse * 3;
@@ -283,10 +303,11 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
283
303
  this._data[index + 2] = z;
284
304
  this._xyzInUse++;
285
305
  }
286
- /** Shift all data forward to make space for numPoints at the front.
306
+ /**
307
+ * Shift all data forward to make space for numPoints at the front.
287
308
  * * Leading (3*numPoints) doubles are left with prior contents.
288
- * * _xyzInUse count is increased
289
- */
309
+ * * _xyzInUse count is increased.
310
+ */
290
311
  shiftForward(numPoints) {
291
312
  if (numPoints <= 0)
292
313
  return;
@@ -296,7 +317,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
296
317
  this._data.copyWithin(numAddedDouble, 0, lastIndex);
297
318
  this._xyzInUse += numPoints;
298
319
  }
299
- /** prepend a new point with given x,y,z
320
+ /**
321
+ * Prepend a new point with given x,y,z
300
322
  * * Remark: this copies all content forward.
301
323
  */
302
324
  pushFrontXYZ(x, y, z) {
@@ -305,13 +327,12 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
305
327
  this._data[1] = y;
306
328
  this._data[2] = z;
307
329
  }
308
- /** prepend a new point at the front of the array.
309
- *
310
- */
330
+ /** Prepend a new point at the front of the array. */
311
331
  pushFront(toPush) {
312
332
  this.pushFrontXYZ(toPush.x, toPush.y, toPush.z);
313
333
  }
314
- /** move the coordinates at fromIndex to toIndex.
334
+ /**
335
+ * Move the coordinates at fromIndex to toIndex.
315
336
  * * No action if either index is invalid.
316
337
  */
317
338
  moveIndexToIndex(fromIndex, toIndex) {
@@ -323,7 +344,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
323
344
  this._data[iB] = this._data[iA];
324
345
  }
325
346
  }
326
- /** Remove one point from the back.
347
+ /**
348
+ * Remove one point from the back.
327
349
  * * NOTE that (in the manner of std::vector native) this is "just" removing the point -- no point is NOT returned.
328
350
  * * Use `back ()` to get the last x,y,z assembled into a `Point3d `
329
351
  */
@@ -331,40 +353,41 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
331
353
  if (this._xyzInUse > 0)
332
354
  this._xyzInUse--;
333
355
  }
334
- /**
335
- * Clear all xyz data, but leave capacity unchanged.
336
- */
356
+ /** Clear all xyz data, but leave capacity unchanged. */
337
357
  clear() {
338
358
  this._xyzInUse = 0;
339
359
  }
340
360
  /**
341
- * Get a point by index, strongly typed as a Point3d. This is unchecked. Use [[getPoint3dAtCheckedPointIndex]] to have validity test.
342
- * @param pointIndex index to access
343
- * @param result optional result
361
+ * Get a point by index, strongly typed as a Point3d. This is unchecked. Use [[getPoint3dAtCheckedPointIndex]] to
362
+ * have validity test.
363
+ * @param pointIndex index to access.
364
+ * @param result optional result.
344
365
  */
345
366
  getPoint3dAtUncheckedPointIndex(pointIndex, result) {
346
367
  const index = 3 * pointIndex;
347
368
  return Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
348
369
  }
349
370
  /**
350
- * Get a point by index, strongly typed as a Point2d. This is unchecked. Use [[getPoint2dAtCheckedPointIndex]] to have validity test.
351
- * @param pointIndex index to access
352
- * @param result optional result
371
+ * Get a point by index, strongly typed as a Point2d. This is unchecked. Use [[getPoint2dAtCheckedPointIndex]] to
372
+ * have validity test.
373
+ * @param pointIndex index to access.
374
+ * @param result optional result.
353
375
  */
354
376
  getPoint2dAtUncheckedPointIndex(pointIndex, result) {
355
377
  const index = 3 * pointIndex;
356
378
  return Point2d.create(this._data[index], this._data[index + 1], result);
357
379
  }
358
380
  /**
359
- * Get a vector by index, strongly typed as a Vector3d. This is unchecked. Use [[getVector3dAtCheckedVectorIndex]] to have validity test.
360
- * @param vectorIndex index to access
361
- * @param result optional result
381
+ * Get a vector by index, strongly typed as a Vector3d. This is unchecked. Use [[getVector3dAtCheckedVectorIndex]]
382
+ * to have validity test.
383
+ * @param vectorIndex index to access.
384
+ * @param result optional result.
362
385
  */
363
386
  getVector3dAtUncheckedVectorIndex(vectorIndex, result) {
364
387
  const index = 3 * vectorIndex;
365
388
  return Vector3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
366
389
  }
367
- /** copy xyz into strongly typed Point3d */
390
+ /** Copy xyz into strongly typed Point3d. */
368
391
  getPoint3dAtCheckedPointIndex(pointIndex, result) {
369
392
  if (this.isIndexValid(pointIndex)) {
370
393
  const index = 3 * pointIndex;
@@ -372,22 +395,22 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
372
395
  }
373
396
  return undefined;
374
397
  }
375
- /** access x of indexed point */
398
+ /** Access x of indexed point. */
376
399
  getXAtUncheckedPointIndex(pointIndex) {
377
400
  const index = 3 * pointIndex;
378
401
  return this._data[index];
379
402
  }
380
- /** access y of indexed point */
403
+ /** Access y of indexed point. */
381
404
  getYAtUncheckedPointIndex(pointIndex) {
382
405
  const index = 3 * pointIndex;
383
406
  return this._data[index + 1];
384
407
  }
385
- /** access y of indexed point */
408
+ /** Access z of indexed point. */
386
409
  getZAtUncheckedPointIndex(pointIndex) {
387
410
  const index = 3 * pointIndex;
388
411
  return this._data[index + 2];
389
412
  }
390
- /** copy xy into strongly typed Point2d */
413
+ /** Copy xy into strongly typed Point2d. */
391
414
  getPoint2dAtCheckedPointIndex(pointIndex, result) {
392
415
  if (this.isIndexValid(pointIndex)) {
393
416
  const index = 3 * pointIndex;
@@ -395,7 +418,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
395
418
  }
396
419
  return undefined;
397
420
  }
398
- /** copy xyz into strongly typed Vector3d */
421
+ /** Copy xyz into strongly typed Vector3d. */
399
422
  getVector3dAtCheckedVectorIndex(vectorIndex, result) {
400
423
  if (this.isIndexValid(vectorIndex)) {
401
424
  const index = 3 * vectorIndex;
@@ -405,9 +428,9 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
405
428
  }
406
429
  /**
407
430
  * Read coordinates from source array, place them at index within this array.
408
- * @param destIndex point index where coordinates are to be placed in this array
409
- * @param source source array
410
- * @param sourceIndex point index in source array
431
+ * @param destIndex point index where coordinates are to be placed in this array.
432
+ * @param source source array.
433
+ * @param sourceIndex point index in source array.
411
434
  * @returns true if destIndex and sourceIndex are both valid.
412
435
  */
413
436
  transferFromGrowableXYZArray(destIndex, source, sourceIndex) {
@@ -421,13 +444,13 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
421
444
  return false;
422
445
  }
423
446
  /**
424
- * push coordinates from the source array to the end of this array.
425
- * @param source source array
426
- * @param sourceIndex xyz index within the source. If undefined, entire source is pushed.
447
+ * Push coordinates from the source array to the end of this array.
448
+ * @param source source array.
449
+ * @param sourceIndex xyz index within the source. If undefined, entire source is pushed.
427
450
  * @returns number of points pushed.
428
451
  */
429
452
  pushFromGrowableXYZArray(source, sourceIndex) {
430
- // full array push . . .
453
+ // full array push
431
454
  if (sourceIndex === undefined) {
432
455
  const numXYZAdd = source.length;
433
456
  this.ensureCapacity(this.length + numXYZAdd, false);
@@ -435,7 +458,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
435
458
  this._xyzInUse += numXYZAdd;
436
459
  return numXYZAdd;
437
460
  }
438
- // single point push . . .
461
+ // single point push
439
462
  if (source.isIndexValid(sourceIndex)) {
440
463
  const j = sourceIndex * 3;
441
464
  this.pushXYZ(source._data[j], source._data[j + 1], source._data[j + 2]);
@@ -445,8 +468,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
445
468
  }
446
469
  /**
447
470
  * Set the coordinates of a single point.
448
- * @param pointIndex index of point to set
449
- * @param value coordinates to set
471
+ * @param pointIndex index of point to set.
472
+ * @param value coordinates to set.
450
473
  */
451
474
  setAtCheckedPointIndex(pointIndex, value) {
452
475
  if (!this.isIndexValid(pointIndex))
@@ -458,11 +481,11 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
458
481
  return true;
459
482
  }
460
483
  /**
461
- * Set the coordinates of a single point given as coordinates
462
- * @param pointIndex index of point to set
463
- * @param x x coordinate
464
- * @param y y coordinate
465
- * @param z z coordinate
484
+ * Set the coordinates of a single point given as coordinates.
485
+ * @param pointIndex index of point to set.
486
+ * @param x x coordinate.
487
+ * @param y y coordinate.
488
+ * @param z z coordinate.
466
489
  */
467
490
  setXYZAtCheckedPointIndex(pointIndex, x, y, z) {
468
491
  if (!this.isIndexValid(pointIndex))
@@ -473,9 +496,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
473
496
  this._data[index] = z;
474
497
  return true;
475
498
  }
476
- /**
477
- * Copy all points into a simple array of Point3d
478
- */
499
+ /** Copy all points into a simple array of Point3. */
479
500
  getPoint3dArray() {
480
501
  const n = 3 * this._xyzInUse;
481
502
  const result = [];
@@ -484,7 +505,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
484
505
  result.push(Point3d.create(data[i], data[i + 1], data[i + 2]));
485
506
  return result;
486
507
  }
487
- /** multiply each point by the transform, replace values. */
508
+ /** Multiply each point by the transform, replace values. */
488
509
  static multiplyTransformInPlace(transform, data) {
489
510
  if (Array.isArray(data)) {
490
511
  for (const d of data)
@@ -494,7 +515,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
494
515
  data.multiplyTransformInPlace(transform);
495
516
  }
496
517
  }
497
- /** multiply each point by the transform, replace values. */
518
+ /** Multiply each point by the transform, replace values. */
498
519
  multiplyTransformInPlace(transform) {
499
520
  const data = this._data;
500
521
  const nDouble = this.float64Length;
@@ -515,7 +536,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
515
536
  data[i + 2] = coffs[6] * x + coffs[7] * y + coffs[8] * z + z0;
516
537
  }
517
538
  }
518
- /** reverse the order of points. */
539
+ /** Reverse the order of points. */
519
540
  reverseInPlace() {
520
541
  const n = this.length;
521
542
  let j0, j1;
@@ -539,7 +560,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
539
560
  data[j1] = a;
540
561
  }
541
562
  }
542
- /** multiply each xyz (as a vector) by matrix, replace values. */
563
+ /** Multiply each xyz (as a vector) by matrix, replace values. */
543
564
  multiplyMatrix3dInPlace(matrix) {
544
565
  const data = this._data;
545
566
  const nDouble = this.float64Length;
@@ -556,9 +577,10 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
556
577
  data[i + 2] = coffs[6] * x + coffs[7] * y + coffs[8] * z;
557
578
  }
558
579
  }
559
- /** multiply each xyz (as a vector) by matrix inverse transpose, renormalize the vector, replace values.
560
- * * This is the way to apply a matrix (possibly with skew and scale) to a surface normal, and
561
- * have it end up perpendicular to the transformed in-surface vectors.
580
+ /**
581
+ * Multiply each xyz (as a vector) by matrix inverse transpose, renormalize the vector, replace values.
582
+ * * This is the way to apply a matrix (possibly with skew and scale) to a surface normal, and have it end up
583
+ * perpendicular to the transformed in-surface vectors.
562
584
  * * Return false if matrix is not invertible or if any normalization fails.
563
585
  */
564
586
  multiplyAndRenormalizeMatrix3dInverseTransposeInPlace(matrix) {
@@ -586,7 +608,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
586
608
  z1 = coffs[2] * x + coffs[5] * y + coffs[8] * z;
587
609
  a = x1 * x1 + y1 * y1 + z1 * z1;
588
610
  if (a < tol) {
589
- // put the originals back ..
611
+ // put the originals back
590
612
  x1 = x;
591
613
  y1 = y;
592
614
  z1 = z;
@@ -597,16 +619,14 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
597
619
  x1 *= q;
598
620
  y1 *= q;
599
621
  z1 *= q;
600
- } // else -- q is near 1, no need to do the division !!
622
+ } // else if q is near 1, no need to do the division
601
623
  data[i] = x1;
602
624
  data[i + 1] = y1;
603
625
  data[i + 2] = z1;
604
626
  }
605
627
  return numFail === 0;
606
628
  }
607
- /** multiply each xyz (as a point) by a homogeneous matrix and update as the normalized point
608
- *
609
- */
629
+ /** Multiply each xyz (as a point) by a homogeneous matrix and update as the normalized point. */
610
630
  multiplyMatrix4dAndQuietRenormalizeMatrix4d(matrix) {
611
631
  const data = this._data;
612
632
  const nDouble = this.float64Length;
@@ -618,7 +638,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
618
638
  data[i + 2] = xyz1.z;
619
639
  }
620
640
  }
621
- /** multiply each point by the transform, replace values. */
641
+ /** Multiply each point by the transform, replace values. */
622
642
  tryTransformInverseInPlace(transform) {
623
643
  const data = this._data;
624
644
  const nDouble = this.float64Length;
@@ -657,7 +677,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
657
677
  rangeToExtend.extendXYZ(data[i], data[i + 1], data[i + 2]);
658
678
  }
659
679
  }
660
- /** get range of points. */
680
+ /** Get range of points. */
661
681
  getRange(transform, result) {
662
682
  let range = result;
663
683
  if (range)
@@ -675,7 +695,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
675
695
  /** Sum the lengths of segments between points. */
676
696
  sumLengths() {
677
697
  let sum = 0.0;
678
- const n = 3 * (this._xyzInUse - 1); // Length already takes into account what specifically is in use
698
+ const n = 3 * (this._xyzInUse - 1); // length already takes into account what specifically is in use
679
699
  const data = this._data;
680
700
  for (let i = 0; i < n; i += 3)
681
701
  sum += Geometry.hypotenuseXYZ(data[i + 3] - data[i], data[i + 4] - data[i + 1], data[i + 5] - data[i + 2]);
@@ -683,7 +703,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
683
703
  }
684
704
  /**
685
705
  * Multiply each x,y,z by the scale factor.
686
- * @param factor
706
+ * @param factor scale factor.
687
707
  */
688
708
  scaleInPlace(factor) {
689
709
  if (this._data) {
@@ -692,7 +712,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
692
712
  this._data[i] = this._data[i] * factor;
693
713
  }
694
714
  }
695
- /** test if all points are within tolerance of a plane. */
715
+ /** Test if all points are within tolerance of a plane. */
696
716
  isCloseToPlane(plane, tolerance = Geometry.smallMetricDistance) {
697
717
  const numCoordinate = 3 * this._xyzInUse;
698
718
  const data = this._data;
@@ -703,13 +723,12 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
703
723
  }
704
724
  /**
705
725
  * * If not already closed, push a copy of the first point.
706
- * * If already closed within tolerance, force exact copy
707
- * * otherwise leave unchanged.
726
+ * * If already closed within tolerance, force exact copy.
727
+ * * Otherwise leave unchanged.
708
728
  */
709
729
  forceClosure(tolerance = Geometry.smallMetricDistance) {
710
730
  const d = this.distanceIndexIndex(0, this.length - 1);
711
- // leave the empty array alone.
712
- // Note that singleton will generate 0 distance and do nothing.
731
+ // leave the empty array alone; note that singleton will generate 0 distance and do nothing
713
732
  if (d === undefined) {
714
733
  }
715
734
  else if (d > tolerance)
@@ -721,7 +740,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
721
740
  this._data[i0 + i] = this._data[i];
722
741
  }
723
742
  }
724
- /** Compute a point at fractional coordinate between points i and j */
743
+ /** Compute a point at fractional coordinate between points i and j. */
725
744
  interpolate(i, fraction, j, result) {
726
745
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
727
746
  const fraction0 = 1.0 - fraction;
@@ -732,10 +751,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
732
751
  }
733
752
  return undefined;
734
753
  }
735
- /**
736
- * * Compute a point at fractional coordinate between points i and j of source
737
- * * push onto this array.
738
- */
754
+ /** Compute a point at fractional coordinate between points i and j of source and push onto this array. */
739
755
  pushInterpolatedFromGrowableXYZArray(source, i, fraction, j) {
740
756
  if (source.isIndexValid(i) && source.isIndexValid(j)) {
741
757
  const fraction0 = 1.0 - fraction;
@@ -745,10 +761,10 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
745
761
  this.pushXYZ(fraction0 * data[i] + fraction * data[j], fraction0 * data[i + 1] + fraction * data[j + 1], fraction0 * data[i + 2] + fraction * data[j + 2]);
746
762
  }
747
763
  }
748
- /** Sum the signed areas of the projection to xy plane */
764
+ /** Sum the signed areas of the projection to xy plane. */
749
765
  areaXY() {
750
766
  let area = 0.0;
751
- const n = 3 * this._xyzInUse; // float count !!
767
+ const n = 3 * this._xyzInUse; // float count
752
768
  if (n > 6) {
753
769
  const x0 = this._data[n - 3];
754
770
  const y0 = this._data[n - 2];
@@ -793,21 +809,21 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
793
809
  }
794
810
  return undefined;
795
811
  }
796
- /** Compute the dot product of pointIndex with [x,y,z] */
812
+ /** Compute the dot product of pointIndex with [x,y,z]. */
797
813
  evaluateUncheckedIndexDotProductXYZ(pointIndex, x, y, z) {
798
814
  const i = pointIndex * 3;
799
815
  const data = this._data;
800
816
  return data[i] * x + data[i + 1] * y + data[i + 2] * z;
801
817
  }
802
- /** Compute the dot product of pointIndex with [x,y,z] */
818
+ /** Compute the dot product of pointIndex with [x,y,z]. */
803
819
  evaluateUncheckedIndexPlaneAltitude(pointIndex, plane) {
804
820
  const i = pointIndex * 3;
805
821
  const data = this._data;
806
822
  return plane.altitudeXYZ(data[i], data[i + 1], data[i + 2]);
807
823
  }
808
824
  /**
809
- * * compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
810
- * * accumulate it to the result.
825
+ * Compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
826
+ * * Accumulate it to the result.
811
827
  */
812
828
  accumulateCrossProductIndexIndexIndex(originIndex, targetAIndex, targetBIndex, result) {
813
829
  if (this.isIndexValid(originIndex) && this.isIndexValid(targetAIndex) && this.isIndexValid(targetBIndex)) {
@@ -819,8 +835,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
819
835
  }
820
836
  }
821
837
  /**
822
- * * compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
823
- * * accumulate it to the result.
838
+ * Compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
839
+ * * Accumulate it to the result.
824
840
  */
825
841
  accumulateScaledXYZ(index, scale, sum) {
826
842
  if (this.isIndexValid(index)) {
@@ -831,7 +847,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
831
847
  sum.z += scale * data[i + 2];
832
848
  }
833
849
  }
834
- /** Compute the cross product of vectors from from origin to indexed targets i and j */
850
+ /** Compute the cross product of vectors from from origin to indexed targets i and j. */
835
851
  crossProductXYAndZIndexIndex(origin, targetAIndex, targetBIndex, result) {
836
852
  if (this.isIndexValid(targetAIndex) && this.isIndexValid(targetBIndex)) {
837
853
  const j = targetAIndex * 3;
@@ -851,8 +867,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
851
867
  }
852
868
  /**
853
869
  * Return distance squared between indicated points.
854
- * @param i first point index
855
- * @param j second point index
870
+ * @param i first point index.
871
+ * @param j second point index.
856
872
  */
857
873
  distanceSquaredIndexIndex(i, j) {
858
874
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
@@ -864,8 +880,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
864
880
  }
865
881
  /**
866
882
  * Return distance between indicated points.
867
- * @param i first point index
868
- * @param j second point index
883
+ * @param i first point index.
884
+ * @param j second point index.
869
885
  */
870
886
  distanceIndexIndex(i, j) {
871
887
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
@@ -884,7 +900,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
884
900
  }
885
901
  return undefined;
886
902
  }
887
- /** test for near equality between two `GrowableXYZArray`. */
903
+ /** Test for near equality between two `GrowableXYZArray`. */
888
904
  static isAlmostEqual(dataA, dataB) {
889
905
  if (dataA && dataB) {
890
906
  if (dataA.length !== dataB.length)
@@ -897,7 +913,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
897
913
  // if both are null it is equal, otherwise unequal
898
914
  return (!dataA && !dataB);
899
915
  }
900
- /** Return an array of block indices sorted per compareLexicalBlock function */
916
+ /** Return an array of block indices sorted per compareLexicalBlock function. */
901
917
  sortIndicesLexical() {
902
918
  const n = this._xyzInUse;
903
919
  // let numCompare = 0;
@@ -911,7 +927,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
911
927
  // console.log (n, numCompare);
912
928
  return result;
913
929
  }
914
- /** compare two blocks in simple lexical order. */
930
+ /** Compare two blocks in simple lexical order. */
915
931
  compareLexicalBlock(ia, ib) {
916
932
  let ax = 0;
917
933
  let bx = 0;
@@ -923,19 +939,13 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
923
939
  if (ax < bx)
924
940
  return -1;
925
941
  }
926
- return ia - ib; // so original order is maintained among duplicates !!!!
942
+ return ia - ib; // so original order is maintained among duplicates
927
943
  }
928
- /** Access a single double at offset within a block. This has no index checking. */
944
+ /** Access a single double at offset within a block. This has no index checking. */
929
945
  component(pointIndex, componentIndex) {
930
946
  return this._data[3 * pointIndex + componentIndex];
931
947
  }
932
- /**
933
- * add points at regular steps from `other`
934
- * @param source
935
- * @param pointIndex0
936
- * @param step
937
- * @param numAdd
938
- */
948
+ /** Add points at regular steps from `other`. */
939
949
  addSteppedPoints(other, pointIndex0, step, numAdd) {
940
950
  const dataB = other._data;
941
951
  let b0 = pointIndex0 * 3;
@@ -949,9 +959,9 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
949
959
  }
950
960
  }
951
961
  /**
952
- * find the min and max distance between corresponding indexed points. Excess points are ignored.
953
- * @param arrayA first array
954
- * @param arrayB second array
962
+ * Find the min and max distance between corresponding indexed points. Excess points are ignored.
963
+ * @param arrayA first array.
964
+ * @param arrayB second array.
955
965
  */
956
966
  static distanceRangeBetweenCorrespondingPoints(arrayA, arrayB) {
957
967
  const dataA = arrayA._data;
@@ -967,11 +977,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
967
977
  }
968
978
  return range;
969
979
  }
970
- /**
971
- * remove trailing point(s) within tolerance of the start point.
972
- * @param points
973
- * @param tolerance
974
- */
980
+ /** Remove trailing point(s) within tolerance of the start point. */
975
981
  static removeClosure(points, tolerance = Geometry.smallMetricDistance) {
976
982
  while (points.length > 1 && points.distanceIndexIndex(0, points.length - 1) < tolerance)
977
983
  points.pop();
@@ -979,8 +985,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
979
985
  /**
980
986
  * Compute frame for a triangle formed by three (unchecked!) points identified by index.
981
987
  * * z direction of frame is 001.
982
- * * Transform axes from origin to targetA and targetB
983
- * * in local coordinates (u,v,w) the xy interior of the triangle is `u>=0, v>= 0, w>= 0, u+v+w<1`
988
+ * * Transform axes from origin to targetA and targetB.
989
+ * * in local coordinates (u,v,w) the xy interior of the triangle is `u>=0, v>= 0, w>= 0, u+v+w<1`.
984
990
  * * Return undefined if transform is not invertible, e.g. if points are in a vertical plane.
985
991
  */
986
992
  fillLocalXYTriangleFrame(originIndex, targetAIndex, targetBIndex, result) {
@@ -1006,7 +1012,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
1006
1012
  /**
1007
1013
  * Pass the (x,y,z) of each point to a function which returns a replacement for one of the 3 components.
1008
1014
  * @param componentIndex Index (0,1,2) of component to be replaced.
1009
- * @param func function to be called as `func(x,y,z)`, returning a replacement value for componentIndex
1015
+ * @param func function to be called as `func(x,y,z)`, returning a replacement value for componentIndex.
1010
1016
  */
1011
1017
  mapComponent(componentIndex, func) {
1012
1018
  const n = this._data.length;