@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
@@ -15,42 +15,38 @@ const Point3dVector3d_1 = require("./Point3dVector3d");
15
15
  const PointStreaming_1 = require("./PointStreaming");
16
16
  const Range_1 = require("./Range");
17
17
  const Transform_1 = require("./Transform");
18
- /** `GrowableXYArray` manages a (possibly growing) Float64Array to pack xy coordinates.
18
+ /**
19
+ * `GrowableXYZArray` manages a (possibly growing) Float64Array to pack xyz coordinates.
19
20
  * @public
20
21
  */
21
22
  class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollection {
22
- /**
23
- * array of packed xyz xyz xyz components
24
- */
23
+ /** Array of packed xyz xyz xyz components. */
25
24
  _data;
26
- /**
27
- * Number of xyz triples (not floats) in the array
28
- */
25
+ /** Number of xyz triples (not floats) in the array. */
29
26
  _xyzInUse;
30
- /**
31
- * capacity in xyz triples. (not floats)
32
- */
27
+ /** Capacity in xyz triples (not floats). */
33
28
  _xyzCapacity;
34
- /**
35
- * multiplier used by ensureCapacity to expand requested reallocation size
36
- */
29
+ /** Multiplier used by ensureCapacity to expand requested reallocation size. */
37
30
  _growthFactor;
38
- /** Construct a new GrowablePoint3d array.
39
- * @param numPoints initial capacity in xyz triples (default 8)
40
- * @param growthFactor used by ensureCapacity to expand requested reallocation size (default 1.5)
31
+ /**
32
+ * Construct a new GrowablePoint3d array.
33
+ * @param numPoints initial capacity in xyz triples (default 8).
34
+ * @param growthFactor used by ensureCapacity to expand requested reallocation size (default 1.5).
35
+ * @param data optional pre-existing Float64Array to use as the backing memory. If supplied, numPoints is ignored.
41
36
  */
42
- constructor(numPoints = 8, growthFactor) {
37
+ constructor(numPoints = 8, growthFactor, data) {
43
38
  super();
44
- this._data = new Float64Array(numPoints * 3); // 3 values per point
39
+ this._data = data || new Float64Array(numPoints * 3); // 3 values per point
45
40
  this._xyzInUse = 0;
46
- this._xyzCapacity = numPoints;
41
+ this._xyzCapacity = data ? data.length / 3 : numPoints;
47
42
  this._growthFactor = (undefined !== growthFactor && growthFactor >= 1.0) ? growthFactor : 1.5;
48
43
  }
49
- /** Copy xyz points from source array. Does not reallocate or change active point count.
50
- * @param source array to copy from
51
- * @param sourceCount copy the first sourceCount points; all points if undefined
52
- * @param destOffset copy to instance array starting at this point index; zero if undefined
53
- * @return count and offset of points copied
44
+ /**
45
+ * Copy xyz points from source array. Does not reallocate or change active point count.
46
+ * @param source array to copy from.
47
+ * @param sourceCount copy the first sourceCount points; all points if undefined.
48
+ * @param destOffset copy to instance array starting at this point index; zero if undefined.
49
+ * @return count and offset of points copied.
54
50
  */
55
51
  copyData(source, sourceCount, destOffset) {
56
52
  // validate inputs and convert from points to entries
@@ -79,30 +75,47 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
79
75
  return { count: myCount / 3, offset: myOffset / 3 };
80
76
  }
81
77
  /** The number of points in use. When the length is increased, the array is padded with zeroes. */
82
- get length() { return this._xyzInUse; }
83
- set length(newLength) { this.resize(newLength, true); }
78
+ get length() {
79
+ return this._xyzInUse;
80
+ }
81
+ set length(newLength) {
82
+ this.resize(newLength, true);
83
+ }
84
84
  /** Return the number of float64 in use. */
85
- get float64Length() { return this._xyzInUse * 3; }
86
- /** Return the raw packed data.
85
+ get float64Length() {
86
+ return this._xyzInUse * 3;
87
+ }
88
+ /**
89
+ * Return the raw packed data.
87
90
  * * Note that the length of the returned Float64Array is a count of doubles, and includes the excess capacity
88
91
  */
89
- float64Data() { return this._data; }
90
- /** If necessary, increase the capacity to the new number of points. Current coordinates and point count (length) are unchanged. */
92
+ float64Data() {
93
+ return this._data;
94
+ }
95
+ /**
96
+ * If necessary, increase the capacity to the new number of points. Current coordinates and point count (length) are
97
+ * unchanged.
98
+ */
91
99
  ensureCapacity(pointCapacity, applyGrowthFactor = true) {
92
100
  if (pointCapacity > this._xyzCapacity) {
93
101
  if (applyGrowthFactor)
94
- pointCapacity *= this._growthFactor;
102
+ pointCapacity = Math.trunc(pointCapacity * this._growthFactor);
95
103
  const prevData = this._data;
96
- this._data = new Float64Array(pointCapacity * 3);
104
+ if (this._data.buffer instanceof ArrayBuffer)
105
+ this._data = new Float64Array(new ArrayBuffer(pointCapacity * 3 * this._data.BYTES_PER_ELEMENT));
106
+ else
107
+ this._data = new Float64Array(new SharedArrayBuffer(pointCapacity * 3 * this._data.BYTES_PER_ELEMENT));
97
108
  this.copyData(prevData, this._xyzInUse);
98
109
  this._xyzCapacity = pointCapacity;
99
110
  }
100
111
  }
101
112
  /**
102
- * * If pointCount is less than current length, just reset current length to pointCount, effectively trimming active points but preserving original capacity.
103
- * * If pointCount is greater than current length, reallocate to exactly pointCount, copy existing points, and optionally pad excess with zero.
104
- * @param pointCount new number of active points in array
105
- * @param padWithZero when increasing point count, whether to zero out new points (default false)
113
+ * * If pointCount is less than current length, just reset current length to pointCount, effectively trimming active
114
+ * points but preserving original capacity.
115
+ * * If pointCount is greater than current length, reallocate to exactly pointCount, copy existing points, and
116
+ * optionally pad excess with zero.
117
+ * @param pointCount new number of active points in array.
118
+ * @param padWithZero when increasing point count, whether to zero out new points (default false).
106
119
  */
107
120
  resize(pointCount, padWithZero) {
108
121
  if (pointCount >= 0 && pointCount < this._xyzInUse)
@@ -114,10 +127,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
114
127
  this._xyzInUse = pointCount;
115
128
  }
116
129
  }
117
- /**
118
- * Make a copy of the (active) points in this array.
119
- * (The clone does NOT get excess capacity)
120
- */
130
+ /** Make a copy of the (active) points in this array (the clone does NOT get excess capacity). */
121
131
  clone(result) {
122
132
  if (!result)
123
133
  result = new GrowableXYZArray(this.length);
@@ -133,11 +143,11 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
133
143
  /**
134
144
  * Clone the input array with each successive duplicate point removed.
135
145
  * * First and last points are always preserved.
136
- * @param source the source array
137
- * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]])
146
+ * @param source the source array.
147
+ * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]]).
138
148
  * @param result optional pre-allocated object to populate and return. Can be a reference to `source`, in
139
149
  * which case the array is compressed in place and returned.
140
- * @see [[cloneCompressed]], [[compressInPlace]], [[PolylineOps.compressShortEdges]]
150
+ * @see [[cloneCompressed]], [[compressInPlace]], [[PolylineOps.compressShortEdges]].
141
151
  */
142
152
  static createCompressed(source, tolerance = Geometry_1.Geometry.smallMetricDistance, result) {
143
153
  const dupIndices = source.findOrderedDuplicates(tolerance, true);
@@ -171,14 +181,15 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
171
181
  /**
172
182
  * Compress the input array by removing successive duplicate points.
173
183
  * * First and last points are always preserved.
174
- * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]])
184
+ * @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]]).
175
185
  * @returns the instance array.
176
- * @see [[createCompressed]], [[cloneCompressed]], [[PolylineOps.compressShortEdges]]
186
+ * @see [[createCompressed]], [[cloneCompressed]], [[PolylineOps.compressShortEdges]].
177
187
  */
178
188
  compressInPlace(tolerance = Geometry_1.Geometry.smallMetricDistance) {
179
189
  return GrowableXYZArray.createCompressed(this, tolerance, this);
180
190
  }
181
- /** Create an array from various point data formats.
191
+ /**
192
+ * Create an array by copying data from various point formats.
182
193
  * Valid inputs are:
183
194
  * * Point2d
184
195
  * * Point3d
@@ -203,23 +214,32 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
203
214
  result.pushFrom(data);
204
215
  return result;
205
216
  }
206
- /** Restructure MultiLineStringDataVariant as array of GrowableXYZArray */
217
+ /**
218
+ * Create a new GrowableXYZArray capturing the provided data. The data is not copied, just referenced.
219
+ * @param data source data to capture.
220
+ * @returns a new GrowableXYZArray object that references the provided data.
221
+ */
222
+ static createCapture(data) {
223
+ return new GrowableXYZArray(0, undefined, data);
224
+ }
225
+ /** Restructure MultiLineStringDataVariant as array of GrowableXYZArray. */
207
226
  static createArrayOfGrowableXYZArray(data) {
208
227
  const collector = new PointStreaming_1.PointStreamGrowableXYZArrayCollector();
209
228
  PointStreaming_1.VariantPointDataStream.streamXYZ(data, collector);
210
229
  return collector.claimArrayOfGrowableXYZArray();
211
230
  }
212
- /** push a point to the end of the array */
231
+ /** Push a point to the end of the array. */
213
232
  push(toPush) {
214
233
  this.pushXYZ(toPush.x, toPush.y, toPush.z);
215
234
  }
216
- /** push all points of an array */
235
+ /** Push all points of an array. */
217
236
  pushAll(points) {
218
237
  this.ensureCapacity(this._xyzInUse + points.length, false);
219
238
  for (const p of points)
220
239
  this.push(p);
221
240
  }
222
- /** Push copies of points from variant sources.
241
+ /**
242
+ * Push copies of points from variant sources.
223
243
  * Valid inputs are:
224
244
  * * Point2d
225
245
  * * Point3d
@@ -229,7 +249,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
229
249
  * * Any json object satisfying Point3d.isXYAndZ
230
250
  * * Any json object satisfying Point3d.isXAndY
231
251
  * * A Float64Array of doubles, interpreted as xyzxyz
232
- * * An array of any of the above
252
+ * * An array of any of the above.
233
253
  */
234
254
  pushFrom(p) {
235
255
  if (p instanceof Point3dVector3d_1.Point3d)
@@ -249,7 +269,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
249
269
  else if (Geometry_1.Geometry.isNumberArray(p, 2))
250
270
  this.pushXYZ(p[0], p[1], 0.0);
251
271
  else if (Array.isArray(p)) {
252
- // direct recursion re-wraps p and goes infinite. Unroll here.
272
+ // direct recursion re-wraps p and goes infinite; unroll here.
253
273
  for (const q of p)
254
274
  this.pushFrom(q);
255
275
  }
@@ -266,7 +286,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
266
286
  }
267
287
  /**
268
288
  * Replicate numWrap xyz values from the front of the array as new values at the end.
269
- * @param numWrap number of xyz values to replicate
289
+ * @param numWrap number of xyz values to replicate.
270
290
  */
271
291
  pushWrap(numWrap) {
272
292
  if (this._xyzInUse >= numWrap) {
@@ -277,7 +297,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
277
297
  }
278
298
  }
279
299
  }
280
- /** append a new point with given x,y,z */
300
+ /** Append a new point with given x,y,z. */
281
301
  pushXYZ(x, y, z) {
282
302
  this.ensureCapacity(this._xyzInUse + 1);
283
303
  const index = this._xyzInUse * 3;
@@ -286,10 +306,11 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
286
306
  this._data[index + 2] = z;
287
307
  this._xyzInUse++;
288
308
  }
289
- /** Shift all data forward to make space for numPoints at the front.
309
+ /**
310
+ * Shift all data forward to make space for numPoints at the front.
290
311
  * * Leading (3*numPoints) doubles are left with prior contents.
291
- * * _xyzInUse count is increased
292
- */
312
+ * * _xyzInUse count is increased.
313
+ */
293
314
  shiftForward(numPoints) {
294
315
  if (numPoints <= 0)
295
316
  return;
@@ -299,7 +320,8 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
299
320
  this._data.copyWithin(numAddedDouble, 0, lastIndex);
300
321
  this._xyzInUse += numPoints;
301
322
  }
302
- /** prepend a new point with given x,y,z
323
+ /**
324
+ * Prepend a new point with given x,y,z
303
325
  * * Remark: this copies all content forward.
304
326
  */
305
327
  pushFrontXYZ(x, y, z) {
@@ -308,13 +330,12 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
308
330
  this._data[1] = y;
309
331
  this._data[2] = z;
310
332
  }
311
- /** prepend a new point at the front of the array.
312
- *
313
- */
333
+ /** Prepend a new point at the front of the array. */
314
334
  pushFront(toPush) {
315
335
  this.pushFrontXYZ(toPush.x, toPush.y, toPush.z);
316
336
  }
317
- /** move the coordinates at fromIndex to toIndex.
337
+ /**
338
+ * Move the coordinates at fromIndex to toIndex.
318
339
  * * No action if either index is invalid.
319
340
  */
320
341
  moveIndexToIndex(fromIndex, toIndex) {
@@ -326,7 +347,8 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
326
347
  this._data[iB] = this._data[iA];
327
348
  }
328
349
  }
329
- /** Remove one point from the back.
350
+ /**
351
+ * Remove one point from the back.
330
352
  * * NOTE that (in the manner of std::vector native) this is "just" removing the point -- no point is NOT returned.
331
353
  * * Use `back ()` to get the last x,y,z assembled into a `Point3d `
332
354
  */
@@ -334,40 +356,41 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
334
356
  if (this._xyzInUse > 0)
335
357
  this._xyzInUse--;
336
358
  }
337
- /**
338
- * Clear all xyz data, but leave capacity unchanged.
339
- */
359
+ /** Clear all xyz data, but leave capacity unchanged. */
340
360
  clear() {
341
361
  this._xyzInUse = 0;
342
362
  }
343
363
  /**
344
- * Get a point by index, strongly typed as a Point3d. This is unchecked. Use [[getPoint3dAtCheckedPointIndex]] to have validity test.
345
- * @param pointIndex index to access
346
- * @param result optional result
364
+ * Get a point by index, strongly typed as a Point3d. This is unchecked. Use [[getPoint3dAtCheckedPointIndex]] to
365
+ * have validity test.
366
+ * @param pointIndex index to access.
367
+ * @param result optional result.
347
368
  */
348
369
  getPoint3dAtUncheckedPointIndex(pointIndex, result) {
349
370
  const index = 3 * pointIndex;
350
371
  return Point3dVector3d_1.Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
351
372
  }
352
373
  /**
353
- * Get a point by index, strongly typed as a Point2d. This is unchecked. Use [[getPoint2dAtCheckedPointIndex]] to have validity test.
354
- * @param pointIndex index to access
355
- * @param result optional result
374
+ * Get a point by index, strongly typed as a Point2d. This is unchecked. Use [[getPoint2dAtCheckedPointIndex]] to
375
+ * have validity test.
376
+ * @param pointIndex index to access.
377
+ * @param result optional result.
356
378
  */
357
379
  getPoint2dAtUncheckedPointIndex(pointIndex, result) {
358
380
  const index = 3 * pointIndex;
359
381
  return Point2dVector2d_1.Point2d.create(this._data[index], this._data[index + 1], result);
360
382
  }
361
383
  /**
362
- * Get a vector by index, strongly typed as a Vector3d. This is unchecked. Use [[getVector3dAtCheckedVectorIndex]] to have validity test.
363
- * @param vectorIndex index to access
364
- * @param result optional result
384
+ * Get a vector by index, strongly typed as a Vector3d. This is unchecked. Use [[getVector3dAtCheckedVectorIndex]]
385
+ * to have validity test.
386
+ * @param vectorIndex index to access.
387
+ * @param result optional result.
365
388
  */
366
389
  getVector3dAtUncheckedVectorIndex(vectorIndex, result) {
367
390
  const index = 3 * vectorIndex;
368
391
  return Point3dVector3d_1.Vector3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
369
392
  }
370
- /** copy xyz into strongly typed Point3d */
393
+ /** Copy xyz into strongly typed Point3d. */
371
394
  getPoint3dAtCheckedPointIndex(pointIndex, result) {
372
395
  if (this.isIndexValid(pointIndex)) {
373
396
  const index = 3 * pointIndex;
@@ -375,22 +398,22 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
375
398
  }
376
399
  return undefined;
377
400
  }
378
- /** access x of indexed point */
401
+ /** Access x of indexed point. */
379
402
  getXAtUncheckedPointIndex(pointIndex) {
380
403
  const index = 3 * pointIndex;
381
404
  return this._data[index];
382
405
  }
383
- /** access y of indexed point */
406
+ /** Access y of indexed point. */
384
407
  getYAtUncheckedPointIndex(pointIndex) {
385
408
  const index = 3 * pointIndex;
386
409
  return this._data[index + 1];
387
410
  }
388
- /** access y of indexed point */
411
+ /** Access z of indexed point. */
389
412
  getZAtUncheckedPointIndex(pointIndex) {
390
413
  const index = 3 * pointIndex;
391
414
  return this._data[index + 2];
392
415
  }
393
- /** copy xy into strongly typed Point2d */
416
+ /** Copy xy into strongly typed Point2d. */
394
417
  getPoint2dAtCheckedPointIndex(pointIndex, result) {
395
418
  if (this.isIndexValid(pointIndex)) {
396
419
  const index = 3 * pointIndex;
@@ -398,7 +421,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
398
421
  }
399
422
  return undefined;
400
423
  }
401
- /** copy xyz into strongly typed Vector3d */
424
+ /** Copy xyz into strongly typed Vector3d. */
402
425
  getVector3dAtCheckedVectorIndex(vectorIndex, result) {
403
426
  if (this.isIndexValid(vectorIndex)) {
404
427
  const index = 3 * vectorIndex;
@@ -408,9 +431,9 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
408
431
  }
409
432
  /**
410
433
  * Read coordinates from source array, place them at index within this array.
411
- * @param destIndex point index where coordinates are to be placed in this array
412
- * @param source source array
413
- * @param sourceIndex point index in source array
434
+ * @param destIndex point index where coordinates are to be placed in this array.
435
+ * @param source source array.
436
+ * @param sourceIndex point index in source array.
414
437
  * @returns true if destIndex and sourceIndex are both valid.
415
438
  */
416
439
  transferFromGrowableXYZArray(destIndex, source, sourceIndex) {
@@ -424,13 +447,13 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
424
447
  return false;
425
448
  }
426
449
  /**
427
- * push coordinates from the source array to the end of this array.
428
- * @param source source array
429
- * @param sourceIndex xyz index within the source. If undefined, entire source is pushed.
450
+ * Push coordinates from the source array to the end of this array.
451
+ * @param source source array.
452
+ * @param sourceIndex xyz index within the source. If undefined, entire source is pushed.
430
453
  * @returns number of points pushed.
431
454
  */
432
455
  pushFromGrowableXYZArray(source, sourceIndex) {
433
- // full array push . . .
456
+ // full array push
434
457
  if (sourceIndex === undefined) {
435
458
  const numXYZAdd = source.length;
436
459
  this.ensureCapacity(this.length + numXYZAdd, false);
@@ -438,7 +461,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
438
461
  this._xyzInUse += numXYZAdd;
439
462
  return numXYZAdd;
440
463
  }
441
- // single point push . . .
464
+ // single point push
442
465
  if (source.isIndexValid(sourceIndex)) {
443
466
  const j = sourceIndex * 3;
444
467
  this.pushXYZ(source._data[j], source._data[j + 1], source._data[j + 2]);
@@ -448,8 +471,8 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
448
471
  }
449
472
  /**
450
473
  * Set the coordinates of a single point.
451
- * @param pointIndex index of point to set
452
- * @param value coordinates to set
474
+ * @param pointIndex index of point to set.
475
+ * @param value coordinates to set.
453
476
  */
454
477
  setAtCheckedPointIndex(pointIndex, value) {
455
478
  if (!this.isIndexValid(pointIndex))
@@ -461,11 +484,11 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
461
484
  return true;
462
485
  }
463
486
  /**
464
- * Set the coordinates of a single point given as coordinates
465
- * @param pointIndex index of point to set
466
- * @param x x coordinate
467
- * @param y y coordinate
468
- * @param z z coordinate
487
+ * Set the coordinates of a single point given as coordinates.
488
+ * @param pointIndex index of point to set.
489
+ * @param x x coordinate.
490
+ * @param y y coordinate.
491
+ * @param z z coordinate.
469
492
  */
470
493
  setXYZAtCheckedPointIndex(pointIndex, x, y, z) {
471
494
  if (!this.isIndexValid(pointIndex))
@@ -476,9 +499,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
476
499
  this._data[index] = z;
477
500
  return true;
478
501
  }
479
- /**
480
- * Copy all points into a simple array of Point3d
481
- */
502
+ /** Copy all points into a simple array of Point3. */
482
503
  getPoint3dArray() {
483
504
  const n = 3 * this._xyzInUse;
484
505
  const result = [];
@@ -487,7 +508,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
487
508
  result.push(Point3dVector3d_1.Point3d.create(data[i], data[i + 1], data[i + 2]));
488
509
  return result;
489
510
  }
490
- /** multiply each point by the transform, replace values. */
511
+ /** Multiply each point by the transform, replace values. */
491
512
  static multiplyTransformInPlace(transform, data) {
492
513
  if (Array.isArray(data)) {
493
514
  for (const d of data)
@@ -497,7 +518,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
497
518
  data.multiplyTransformInPlace(transform);
498
519
  }
499
520
  }
500
- /** multiply each point by the transform, replace values. */
521
+ /** Multiply each point by the transform, replace values. */
501
522
  multiplyTransformInPlace(transform) {
502
523
  const data = this._data;
503
524
  const nDouble = this.float64Length;
@@ -518,7 +539,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
518
539
  data[i + 2] = coffs[6] * x + coffs[7] * y + coffs[8] * z + z0;
519
540
  }
520
541
  }
521
- /** reverse the order of points. */
542
+ /** Reverse the order of points. */
522
543
  reverseInPlace() {
523
544
  const n = this.length;
524
545
  let j0, j1;
@@ -542,7 +563,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
542
563
  data[j1] = a;
543
564
  }
544
565
  }
545
- /** multiply each xyz (as a vector) by matrix, replace values. */
566
+ /** Multiply each xyz (as a vector) by matrix, replace values. */
546
567
  multiplyMatrix3dInPlace(matrix) {
547
568
  const data = this._data;
548
569
  const nDouble = this.float64Length;
@@ -559,9 +580,10 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
559
580
  data[i + 2] = coffs[6] * x + coffs[7] * y + coffs[8] * z;
560
581
  }
561
582
  }
562
- /** multiply each xyz (as a vector) by matrix inverse transpose, renormalize the vector, replace values.
563
- * * This is the way to apply a matrix (possibly with skew and scale) to a surface normal, and
564
- * have it end up perpendicular to the transformed in-surface vectors.
583
+ /**
584
+ * Multiply each xyz (as a vector) by matrix inverse transpose, renormalize the vector, replace values.
585
+ * * This is the way to apply a matrix (possibly with skew and scale) to a surface normal, and have it end up
586
+ * perpendicular to the transformed in-surface vectors.
565
587
  * * Return false if matrix is not invertible or if any normalization fails.
566
588
  */
567
589
  multiplyAndRenormalizeMatrix3dInverseTransposeInPlace(matrix) {
@@ -589,7 +611,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
589
611
  z1 = coffs[2] * x + coffs[5] * y + coffs[8] * z;
590
612
  a = x1 * x1 + y1 * y1 + z1 * z1;
591
613
  if (a < tol) {
592
- // put the originals back ..
614
+ // put the originals back
593
615
  x1 = x;
594
616
  y1 = y;
595
617
  z1 = z;
@@ -600,16 +622,14 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
600
622
  x1 *= q;
601
623
  y1 *= q;
602
624
  z1 *= q;
603
- } // else -- q is near 1, no need to do the division !!
625
+ } // else if q is near 1, no need to do the division
604
626
  data[i] = x1;
605
627
  data[i + 1] = y1;
606
628
  data[i + 2] = z1;
607
629
  }
608
630
  return numFail === 0;
609
631
  }
610
- /** multiply each xyz (as a point) by a homogeneous matrix and update as the normalized point
611
- *
612
- */
632
+ /** Multiply each xyz (as a point) by a homogeneous matrix and update as the normalized point. */
613
633
  multiplyMatrix4dAndQuietRenormalizeMatrix4d(matrix) {
614
634
  const data = this._data;
615
635
  const nDouble = this.float64Length;
@@ -621,7 +641,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
621
641
  data[i + 2] = xyz1.z;
622
642
  }
623
643
  }
624
- /** multiply each point by the transform, replace values. */
644
+ /** Multiply each point by the transform, replace values. */
625
645
  tryTransformInverseInPlace(transform) {
626
646
  const data = this._data;
627
647
  const nDouble = this.float64Length;
@@ -660,7 +680,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
660
680
  rangeToExtend.extendXYZ(data[i], data[i + 1], data[i + 2]);
661
681
  }
662
682
  }
663
- /** get range of points. */
683
+ /** Get range of points. */
664
684
  getRange(transform, result) {
665
685
  let range = result;
666
686
  if (range)
@@ -678,7 +698,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
678
698
  /** Sum the lengths of segments between points. */
679
699
  sumLengths() {
680
700
  let sum = 0.0;
681
- const n = 3 * (this._xyzInUse - 1); // Length already takes into account what specifically is in use
701
+ const n = 3 * (this._xyzInUse - 1); // length already takes into account what specifically is in use
682
702
  const data = this._data;
683
703
  for (let i = 0; i < n; i += 3)
684
704
  sum += Geometry_1.Geometry.hypotenuseXYZ(data[i + 3] - data[i], data[i + 4] - data[i + 1], data[i + 5] - data[i + 2]);
@@ -686,7 +706,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
686
706
  }
687
707
  /**
688
708
  * Multiply each x,y,z by the scale factor.
689
- * @param factor
709
+ * @param factor scale factor.
690
710
  */
691
711
  scaleInPlace(factor) {
692
712
  if (this._data) {
@@ -695,7 +715,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
695
715
  this._data[i] = this._data[i] * factor;
696
716
  }
697
717
  }
698
- /** test if all points are within tolerance of a plane. */
718
+ /** Test if all points are within tolerance of a plane. */
699
719
  isCloseToPlane(plane, tolerance = Geometry_1.Geometry.smallMetricDistance) {
700
720
  const numCoordinate = 3 * this._xyzInUse;
701
721
  const data = this._data;
@@ -706,13 +726,12 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
706
726
  }
707
727
  /**
708
728
  * * If not already closed, push a copy of the first point.
709
- * * If already closed within tolerance, force exact copy
710
- * * otherwise leave unchanged.
729
+ * * If already closed within tolerance, force exact copy.
730
+ * * Otherwise leave unchanged.
711
731
  */
712
732
  forceClosure(tolerance = Geometry_1.Geometry.smallMetricDistance) {
713
733
  const d = this.distanceIndexIndex(0, this.length - 1);
714
- // leave the empty array alone.
715
- // Note that singleton will generate 0 distance and do nothing.
734
+ // leave the empty array alone; note that singleton will generate 0 distance and do nothing
716
735
  if (d === undefined) {
717
736
  }
718
737
  else if (d > tolerance)
@@ -724,7 +743,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
724
743
  this._data[i0 + i] = this._data[i];
725
744
  }
726
745
  }
727
- /** Compute a point at fractional coordinate between points i and j */
746
+ /** Compute a point at fractional coordinate between points i and j. */
728
747
  interpolate(i, fraction, j, result) {
729
748
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
730
749
  const fraction0 = 1.0 - fraction;
@@ -735,10 +754,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
735
754
  }
736
755
  return undefined;
737
756
  }
738
- /**
739
- * * Compute a point at fractional coordinate between points i and j of source
740
- * * push onto this array.
741
- */
757
+ /** Compute a point at fractional coordinate between points i and j of source and push onto this array. */
742
758
  pushInterpolatedFromGrowableXYZArray(source, i, fraction, j) {
743
759
  if (source.isIndexValid(i) && source.isIndexValid(j)) {
744
760
  const fraction0 = 1.0 - fraction;
@@ -748,10 +764,10 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
748
764
  this.pushXYZ(fraction0 * data[i] + fraction * data[j], fraction0 * data[i + 1] + fraction * data[j + 1], fraction0 * data[i + 2] + fraction * data[j + 2]);
749
765
  }
750
766
  }
751
- /** Sum the signed areas of the projection to xy plane */
767
+ /** Sum the signed areas of the projection to xy plane. */
752
768
  areaXY() {
753
769
  let area = 0.0;
754
- const n = 3 * this._xyzInUse; // float count !!
770
+ const n = 3 * this._xyzInUse; // float count
755
771
  if (n > 6) {
756
772
  const x0 = this._data[n - 3];
757
773
  const y0 = this._data[n - 2];
@@ -796,21 +812,21 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
796
812
  }
797
813
  return undefined;
798
814
  }
799
- /** Compute the dot product of pointIndex with [x,y,z] */
815
+ /** Compute the dot product of pointIndex with [x,y,z]. */
800
816
  evaluateUncheckedIndexDotProductXYZ(pointIndex, x, y, z) {
801
817
  const i = pointIndex * 3;
802
818
  const data = this._data;
803
819
  return data[i] * x + data[i + 1] * y + data[i + 2] * z;
804
820
  }
805
- /** Compute the dot product of pointIndex with [x,y,z] */
821
+ /** Compute the dot product of pointIndex with [x,y,z]. */
806
822
  evaluateUncheckedIndexPlaneAltitude(pointIndex, plane) {
807
823
  const i = pointIndex * 3;
808
824
  const data = this._data;
809
825
  return plane.altitudeXYZ(data[i], data[i + 1], data[i + 2]);
810
826
  }
811
827
  /**
812
- * * compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
813
- * * accumulate it to the result.
828
+ * Compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
829
+ * * Accumulate it to the result.
814
830
  */
815
831
  accumulateCrossProductIndexIndexIndex(originIndex, targetAIndex, targetBIndex, result) {
816
832
  if (this.isIndexValid(originIndex) && this.isIndexValid(targetAIndex) && this.isIndexValid(targetBIndex)) {
@@ -822,8 +838,8 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
822
838
  }
823
839
  }
824
840
  /**
825
- * * compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
826
- * * accumulate it to the result.
841
+ * Compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
842
+ * * Accumulate it to the result.
827
843
  */
828
844
  accumulateScaledXYZ(index, scale, sum) {
829
845
  if (this.isIndexValid(index)) {
@@ -834,7 +850,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
834
850
  sum.z += scale * data[i + 2];
835
851
  }
836
852
  }
837
- /** Compute the cross product of vectors from from origin to indexed targets i and j */
853
+ /** Compute the cross product of vectors from from origin to indexed targets i and j. */
838
854
  crossProductXYAndZIndexIndex(origin, targetAIndex, targetBIndex, result) {
839
855
  if (this.isIndexValid(targetAIndex) && this.isIndexValid(targetBIndex)) {
840
856
  const j = targetAIndex * 3;
@@ -854,8 +870,8 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
854
870
  }
855
871
  /**
856
872
  * Return distance squared between indicated points.
857
- * @param i first point index
858
- * @param j second point index
873
+ * @param i first point index.
874
+ * @param j second point index.
859
875
  */
860
876
  distanceSquaredIndexIndex(i, j) {
861
877
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
@@ -867,8 +883,8 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
867
883
  }
868
884
  /**
869
885
  * Return distance between indicated points.
870
- * @param i first point index
871
- * @param j second point index
886
+ * @param i first point index.
887
+ * @param j second point index.
872
888
  */
873
889
  distanceIndexIndex(i, j) {
874
890
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
@@ -887,7 +903,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
887
903
  }
888
904
  return undefined;
889
905
  }
890
- /** test for near equality between two `GrowableXYZArray`. */
906
+ /** Test for near equality between two `GrowableXYZArray`. */
891
907
  static isAlmostEqual(dataA, dataB) {
892
908
  if (dataA && dataB) {
893
909
  if (dataA.length !== dataB.length)
@@ -900,7 +916,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
900
916
  // if both are null it is equal, otherwise unequal
901
917
  return (!dataA && !dataB);
902
918
  }
903
- /** Return an array of block indices sorted per compareLexicalBlock function */
919
+ /** Return an array of block indices sorted per compareLexicalBlock function. */
904
920
  sortIndicesLexical() {
905
921
  const n = this._xyzInUse;
906
922
  // let numCompare = 0;
@@ -914,7 +930,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
914
930
  // console.log (n, numCompare);
915
931
  return result;
916
932
  }
917
- /** compare two blocks in simple lexical order. */
933
+ /** Compare two blocks in simple lexical order. */
918
934
  compareLexicalBlock(ia, ib) {
919
935
  let ax = 0;
920
936
  let bx = 0;
@@ -926,19 +942,13 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
926
942
  if (ax < bx)
927
943
  return -1;
928
944
  }
929
- return ia - ib; // so original order is maintained among duplicates !!!!
945
+ return ia - ib; // so original order is maintained among duplicates
930
946
  }
931
- /** Access a single double at offset within a block. This has no index checking. */
947
+ /** Access a single double at offset within a block. This has no index checking. */
932
948
  component(pointIndex, componentIndex) {
933
949
  return this._data[3 * pointIndex + componentIndex];
934
950
  }
935
- /**
936
- * add points at regular steps from `other`
937
- * @param source
938
- * @param pointIndex0
939
- * @param step
940
- * @param numAdd
941
- */
951
+ /** Add points at regular steps from `other`. */
942
952
  addSteppedPoints(other, pointIndex0, step, numAdd) {
943
953
  const dataB = other._data;
944
954
  let b0 = pointIndex0 * 3;
@@ -952,9 +962,9 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
952
962
  }
953
963
  }
954
964
  /**
955
- * find the min and max distance between corresponding indexed points. Excess points are ignored.
956
- * @param arrayA first array
957
- * @param arrayB second array
965
+ * Find the min and max distance between corresponding indexed points. Excess points are ignored.
966
+ * @param arrayA first array.
967
+ * @param arrayB second array.
958
968
  */
959
969
  static distanceRangeBetweenCorrespondingPoints(arrayA, arrayB) {
960
970
  const dataA = arrayA._data;
@@ -970,11 +980,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
970
980
  }
971
981
  return range;
972
982
  }
973
- /**
974
- * remove trailing point(s) within tolerance of the start point.
975
- * @param points
976
- * @param tolerance
977
- */
983
+ /** Remove trailing point(s) within tolerance of the start point. */
978
984
  static removeClosure(points, tolerance = Geometry_1.Geometry.smallMetricDistance) {
979
985
  while (points.length > 1 && points.distanceIndexIndex(0, points.length - 1) < tolerance)
980
986
  points.pop();
@@ -982,8 +988,8 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
982
988
  /**
983
989
  * Compute frame for a triangle formed by three (unchecked!) points identified by index.
984
990
  * * z direction of frame is 001.
985
- * * Transform axes from origin to targetA and targetB
986
- * * in local coordinates (u,v,w) the xy interior of the triangle is `u>=0, v>= 0, w>= 0, u+v+w<1`
991
+ * * Transform axes from origin to targetA and targetB.
992
+ * * in local coordinates (u,v,w) the xy interior of the triangle is `u>=0, v>= 0, w>= 0, u+v+w<1`.
987
993
  * * Return undefined if transform is not invertible, e.g. if points are in a vertical plane.
988
994
  */
989
995
  fillLocalXYTriangleFrame(originIndex, targetAIndex, targetBIndex, result) {
@@ -1009,7 +1015,7 @@ class GrowableXYZArray extends IndexedXYZCollection_1.IndexedReadWriteXYZCollect
1009
1015
  /**
1010
1016
  * Pass the (x,y,z) of each point to a function which returns a replacement for one of the 3 components.
1011
1017
  * @param componentIndex Index (0,1,2) of component to be replaced.
1012
- * @param func function to be called as `func(x,y,z)`, returning a replacement value for componentIndex
1018
+ * @param func function to be called as `func(x,y,z)`, returning a replacement value for componentIndex.
1013
1019
  */
1014
1020
  mapComponent(componentIndex, func) {
1015
1021
  const n = this._data.length;