@itwin/core-geometry 4.1.0-dev.4 → 4.1.0-dev.40

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 (570) hide show
  1. package/CHANGELOG.md +32 -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.d.ts +1 -0
  28. package/lib/cjs/core-geometry.d.ts.map +1 -1
  29. package/lib/cjs/core-geometry.js +4 -1
  30. package/lib/cjs/core-geometry.js.map +1 -1
  31. package/lib/cjs/curve/Arc3d.d.ts +71 -86
  32. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  33. package/lib/cjs/curve/Arc3d.js +110 -96
  34. package/lib/cjs/curve/Arc3d.js.map +1 -1
  35. package/lib/cjs/curve/ChainCollectorContext.js.map +1 -1
  36. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  37. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  38. package/lib/cjs/curve/CurveChain.js.map +1 -1
  39. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +61 -41
  40. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  41. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +69 -46
  42. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  43. package/lib/cjs/curve/CurveCollection.d.ts +73 -46
  44. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  45. package/lib/cjs/curve/CurveCollection.js +100 -64
  46. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  47. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  48. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  49. package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -1
  50. package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
  51. package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -1
  52. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  53. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  54. package/lib/cjs/curve/CurveLocationDetail.d.ts +45 -46
  55. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  56. package/lib/cjs/curve/CurveLocationDetail.js +39 -41
  57. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  58. package/lib/cjs/curve/CurvePrimitive.d.ts +138 -92
  59. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  60. package/lib/cjs/curve/CurvePrimitive.js +115 -75
  61. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  62. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  63. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  64. package/lib/cjs/curve/GeometryQuery.d.ts +26 -20
  65. package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -1
  66. package/lib/cjs/curve/GeometryQuery.js +11 -9
  67. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  68. package/lib/cjs/curve/LineSegment3d.d.ts +38 -27
  69. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  70. package/lib/cjs/curve/LineSegment3d.js +77 -39
  71. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  72. package/lib/cjs/curve/LineString3d.d.ts +70 -51
  73. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  74. package/lib/cjs/curve/LineString3d.js +120 -71
  75. package/lib/cjs/curve/LineString3d.js.map +1 -1
  76. package/lib/cjs/curve/Loop.d.ts +7 -5
  77. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  78. package/lib/cjs/curve/Loop.js +18 -6
  79. package/lib/cjs/curve/Loop.js.map +1 -1
  80. package/lib/cjs/curve/ParityRegion.d.ts +7 -7
  81. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
  82. package/lib/cjs/curve/ParityRegion.js +19 -11
  83. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  84. package/lib/cjs/curve/Path.d.ts +6 -6
  85. package/lib/cjs/curve/Path.d.ts.map +1 -1
  86. package/lib/cjs/curve/Path.js +15 -9
  87. package/lib/cjs/curve/Path.js.map +1 -1
  88. package/lib/cjs/curve/PointString3d.js.map +1 -1
  89. package/lib/cjs/curve/ProxyCurve.d.ts +4 -6
  90. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
  91. package/lib/cjs/curve/ProxyCurve.js +7 -7
  92. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  93. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  94. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  95. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  96. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  97. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  98. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  99. package/lib/cjs/curve/Query/StrokeCountMap.d.ts +14 -13
  100. package/lib/cjs/curve/Query/StrokeCountMap.d.ts.map +1 -1
  101. package/lib/cjs/curve/Query/StrokeCountMap.js +9 -8
  102. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  103. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  104. package/lib/cjs/curve/RegionOps.d.ts +69 -47
  105. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  106. package/lib/cjs/curve/RegionOps.js +70 -47
  107. package/lib/cjs/curve/RegionOps.js.map +1 -1
  108. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  109. package/lib/cjs/curve/StrokeOptions.d.ts +29 -21
  110. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  111. package/lib/cjs/curve/StrokeOptions.js +50 -24
  112. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  113. package/lib/cjs/curve/UnionRegion.d.ts +6 -5
  114. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
  115. package/lib/cjs/curve/UnionRegion.js +17 -8
  116. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  117. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  118. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  119. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  120. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  121. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  122. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  123. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  124. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
  125. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  126. package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
  127. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  128. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +4 -0
  129. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  130. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +5 -2
  131. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  132. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  133. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  134. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  135. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  136. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  137. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +56 -34
  138. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  139. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +152 -87
  140. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  141. package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  142. package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
  143. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  144. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  145. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  146. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  147. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  148. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  149. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  150. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  151. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  152. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  153. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  154. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  155. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  156. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  157. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  158. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  159. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  160. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  161. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  162. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  163. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  164. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  165. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  166. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  167. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  168. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  169. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  170. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  171. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  172. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  173. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  174. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  175. package/lib/cjs/geometry3d/Matrix3d.d.ts +2 -2
  176. package/lib/cjs/geometry3d/Matrix3d.js +2 -2
  177. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  178. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  179. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  180. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  181. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  182. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  183. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +35 -32
  184. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  185. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  186. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  187. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  188. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  189. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  190. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  191. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  192. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  193. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  194. package/lib/cjs/geometry3d/Range.d.ts +133 -93
  195. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  196. package/lib/cjs/geometry3d/Range.js +296 -144
  197. package/lib/cjs/geometry3d/Range.js.map +1 -1
  198. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  199. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  200. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  201. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  202. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  203. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  204. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  205. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  206. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  207. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  208. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  209. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  210. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  211. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  212. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  213. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  214. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  215. package/lib/cjs/numerics/Complex.js.map +1 -1
  216. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  217. package/lib/cjs/numerics/Newton.js.map +1 -1
  218. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  219. package/lib/cjs/numerics/PolarData.js.map +1 -1
  220. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  221. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  222. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  223. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  224. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  225. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  226. package/lib/cjs/polyface/AuxData.js.map +1 -1
  227. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  228. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  229. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  230. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  231. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  232. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  233. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  234. package/lib/cjs/polyface/Polyface.js.map +1 -1
  235. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  236. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  237. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  238. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  239. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  240. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  241. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  242. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  243. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  244. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  245. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  246. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  247. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  248. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  249. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  250. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  251. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  252. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  253. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  254. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  255. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  256. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  257. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  258. package/lib/cjs/solid/Box.js.map +1 -1
  259. package/lib/cjs/solid/Cone.js.map +1 -1
  260. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  261. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  262. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  263. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  264. package/lib/cjs/solid/Sphere.js.map +1 -1
  265. package/lib/cjs/solid/SweepContour.js.map +1 -1
  266. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  267. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  268. package/lib/cjs/topology/Graph.js.map +1 -1
  269. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  270. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  271. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  272. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  273. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  274. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  275. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  276. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  277. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  278. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  279. package/lib/cjs/topology/MaskManager.js.map +1 -1
  280. package/lib/cjs/topology/Merging.js.map +1 -1
  281. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  282. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  283. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  284. package/lib/cjs/topology/Triangulation.js.map +1 -1
  285. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  286. package/lib/esm/Constant.js.map +1 -1
  287. package/lib/esm/Geometry.js.map +1 -1
  288. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  289. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  290. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  291. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  292. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  293. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  294. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  295. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  296. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  297. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  298. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  299. package/lib/esm/bspline/KnotVector.js.map +1 -1
  300. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  301. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  302. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  303. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  304. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  305. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  306. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  307. package/lib/esm/clipping/ClipVector.js.map +1 -1
  308. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  309. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  310. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  311. package/lib/esm/core-geometry.d.ts +1 -0
  312. package/lib/esm/core-geometry.d.ts.map +1 -1
  313. package/lib/esm/core-geometry.js +2 -0
  314. package/lib/esm/core-geometry.js.map +1 -1
  315. package/lib/esm/curve/Arc3d.d.ts +71 -86
  316. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  317. package/lib/esm/curve/Arc3d.js +110 -96
  318. package/lib/esm/curve/Arc3d.js.map +1 -1
  319. package/lib/esm/curve/ChainCollectorContext.js.map +1 -1
  320. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  321. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  322. package/lib/esm/curve/CurveChain.js.map +1 -1
  323. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +61 -41
  324. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  325. package/lib/esm/curve/CurveChainWithDistanceIndex.js +69 -46
  326. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  327. package/lib/esm/curve/CurveCollection.d.ts +73 -46
  328. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  329. package/lib/esm/curve/CurveCollection.js +100 -64
  330. package/lib/esm/curve/CurveCollection.js.map +1 -1
  331. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  332. package/lib/esm/curve/CurveCurve.js.map +1 -1
  333. package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -1
  334. package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
  335. package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -1
  336. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  337. package/lib/esm/curve/CurveFactory.js.map +1 -1
  338. package/lib/esm/curve/CurveLocationDetail.d.ts +45 -46
  339. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  340. package/lib/esm/curve/CurveLocationDetail.js +39 -41
  341. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  342. package/lib/esm/curve/CurvePrimitive.d.ts +138 -92
  343. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  344. package/lib/esm/curve/CurvePrimitive.js +115 -75
  345. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  346. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  347. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  348. package/lib/esm/curve/GeometryQuery.d.ts +26 -20
  349. package/lib/esm/curve/GeometryQuery.d.ts.map +1 -1
  350. package/lib/esm/curve/GeometryQuery.js +11 -9
  351. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  352. package/lib/esm/curve/LineSegment3d.d.ts +38 -27
  353. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  354. package/lib/esm/curve/LineSegment3d.js +77 -39
  355. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  356. package/lib/esm/curve/LineString3d.d.ts +70 -51
  357. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  358. package/lib/esm/curve/LineString3d.js +120 -71
  359. package/lib/esm/curve/LineString3d.js.map +1 -1
  360. package/lib/esm/curve/Loop.d.ts +7 -5
  361. package/lib/esm/curve/Loop.d.ts.map +1 -1
  362. package/lib/esm/curve/Loop.js +18 -6
  363. package/lib/esm/curve/Loop.js.map +1 -1
  364. package/lib/esm/curve/ParityRegion.d.ts +7 -7
  365. package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
  366. package/lib/esm/curve/ParityRegion.js +19 -11
  367. package/lib/esm/curve/ParityRegion.js.map +1 -1
  368. package/lib/esm/curve/Path.d.ts +6 -6
  369. package/lib/esm/curve/Path.d.ts.map +1 -1
  370. package/lib/esm/curve/Path.js +15 -9
  371. package/lib/esm/curve/Path.js.map +1 -1
  372. package/lib/esm/curve/PointString3d.js.map +1 -1
  373. package/lib/esm/curve/ProxyCurve.d.ts +4 -6
  374. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
  375. package/lib/esm/curve/ProxyCurve.js +7 -7
  376. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  377. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  378. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  379. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  380. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  381. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  382. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  383. package/lib/esm/curve/Query/StrokeCountMap.d.ts +14 -13
  384. package/lib/esm/curve/Query/StrokeCountMap.d.ts.map +1 -1
  385. package/lib/esm/curve/Query/StrokeCountMap.js +9 -8
  386. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  387. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  388. package/lib/esm/curve/RegionOps.d.ts +69 -47
  389. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  390. package/lib/esm/curve/RegionOps.js +70 -47
  391. package/lib/esm/curve/RegionOps.js.map +1 -1
  392. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  393. package/lib/esm/curve/StrokeOptions.d.ts +29 -21
  394. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  395. package/lib/esm/curve/StrokeOptions.js +50 -24
  396. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  397. package/lib/esm/curve/UnionRegion.d.ts +6 -5
  398. package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
  399. package/lib/esm/curve/UnionRegion.js +17 -8
  400. package/lib/esm/curve/UnionRegion.js.map +1 -1
  401. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  402. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  403. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  404. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  405. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  406. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  407. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  408. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
  409. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  410. package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
  411. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  412. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +4 -0
  413. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  414. package/lib/esm/curve/internalContexts/MultiChainCollector.js +5 -2
  415. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  416. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  417. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  418. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  419. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  420. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  421. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +56 -34
  422. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  423. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +152 -87
  424. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  425. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  426. package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
  427. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  428. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  429. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  430. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  431. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  432. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  433. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  434. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  435. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  436. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  437. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  438. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  439. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  440. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  441. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  442. package/lib/esm/geometry3d/Angle.js.map +1 -1
  443. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  444. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  445. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  446. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  447. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  448. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  449. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  450. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  451. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  452. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  453. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  454. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  455. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  456. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  457. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  458. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  459. package/lib/esm/geometry3d/Matrix3d.d.ts +2 -2
  460. package/lib/esm/geometry3d/Matrix3d.js +2 -2
  461. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  462. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  463. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  464. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  465. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  466. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  467. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +35 -32
  468. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  469. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  470. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  471. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  472. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  473. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  474. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  475. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  476. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  477. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  478. package/lib/esm/geometry3d/Range.d.ts +133 -93
  479. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  480. package/lib/esm/geometry3d/Range.js +296 -144
  481. package/lib/esm/geometry3d/Range.js.map +1 -1
  482. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  483. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  484. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  485. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  486. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  487. package/lib/esm/geometry3d/Transform.js.map +1 -1
  488. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  489. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  490. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  491. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  492. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  493. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  494. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  495. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  496. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  497. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  498. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  499. package/lib/esm/numerics/Complex.js.map +1 -1
  500. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  501. package/lib/esm/numerics/Newton.js.map +1 -1
  502. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  503. package/lib/esm/numerics/PolarData.js.map +1 -1
  504. package/lib/esm/numerics/Polynomials.js.map +1 -1
  505. package/lib/esm/numerics/Quadrature.js.map +1 -1
  506. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  507. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  508. package/lib/esm/numerics/UnionFind.js.map +1 -1
  509. package/lib/esm/numerics/UsageSums.js.map +1 -1
  510. package/lib/esm/polyface/AuxData.js.map +1 -1
  511. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  512. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  513. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  514. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  515. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  516. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  517. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  518. package/lib/esm/polyface/Polyface.js.map +1 -1
  519. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  520. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  521. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  522. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  523. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  524. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  525. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  526. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  527. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  528. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  529. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  530. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  531. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  532. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  533. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  534. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  535. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  536. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  537. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  538. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  539. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  540. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  541. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  542. package/lib/esm/solid/Box.js.map +1 -1
  543. package/lib/esm/solid/Cone.js.map +1 -1
  544. package/lib/esm/solid/LinearSweep.js.map +1 -1
  545. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  546. package/lib/esm/solid/RuledSweep.js.map +1 -1
  547. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  548. package/lib/esm/solid/Sphere.js.map +1 -1
  549. package/lib/esm/solid/SweepContour.js.map +1 -1
  550. package/lib/esm/solid/TorusPipe.js.map +1 -1
  551. package/lib/esm/topology/ChainMerge.js.map +1 -1
  552. package/lib/esm/topology/Graph.js.map +1 -1
  553. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  554. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  555. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  556. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  557. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  558. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  559. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  560. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  561. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  562. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  563. package/lib/esm/topology/MaskManager.js.map +1 -1
  564. package/lib/esm/topology/Merging.js.map +1 -1
  565. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  566. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  567. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  568. package/lib/esm/topology/Triangulation.js.map +1 -1
  569. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  570. package/package.json +3 -3
@@ -22,20 +22,21 @@ const AppendPlaneIntersectionStrokeHandler_1 = require("./internalContexts/Appen
22
22
  const ClosestPointStrokeHandler_1 = require("./internalContexts/ClosestPointStrokeHandler");
23
23
  const CurveLengthContext_1 = require("./internalContexts/CurveLengthContext");
24
24
  /**
25
- * A curve primitive is bounded
25
+ * A curve primitive is bounded.
26
26
  * A curve primitive maps fractions in 0..1 to points in space.
27
27
  * As the fraction proceeds from 0 towards 1, the point moves "forward" along the curve.
28
28
  * True distance along the curve is not always strictly proportional to fraction.
29
- * * LineSegment3d always has proportional fraction and distance
30
- * * an Arc3d which is true circular has proportional fraction and distance
31
- * * A LineString3d is not proportional (except for special case of all segments of equal length)
32
- * * A Spiral3d is proportional
29
+ * * A LineSegment3d always has proportional fraction and distance.
30
+ * * An Arc3d which is true circular has proportional fraction and distance.
31
+ * * A LineString3d is not proportional (except for special case of all segments of equal length).
32
+ * * A Spiral3d is proportional.
33
33
  * * A BsplineCurve3d is only proportional for special cases.
34
- *
35
- * For fractions outside 0..1, the curve primitive class may either (a) return the near endpoint or (b) evaluate an extended curve.
34
+ * For fractions outside 0..1, the curve primitive class may either (a) return the near endpoint or (b) evaluate
35
+ * an extended curve.
36
36
  * @public
37
37
  */
38
38
  class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
39
+ /** Constructor */
39
40
  constructor() {
40
41
  super();
41
42
  /** String name for schema properties */
@@ -63,30 +64,35 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
63
64
  const b = data.vectorU.magnitude();
64
65
  return Geometry_1.Geometry.conditionalDivideFraction(a, b * b * b);
65
66
  }
66
- /** Construct a frenet frame:
67
+ /**
68
+ * Construct a frenet frame:
67
69
  * * origin at the point on the curve
68
70
  * * x axis is unit vector along the curve (tangent)
69
- * * y axis is perpendicular and in the plane of the osculating circle.
70
- * * z axis perpendicular to those.
71
+ * * y axis is perpendicular and in the plane of the osculating circle. y axis is called "main normal"
72
+ * * z axis perpendicular to those. z axis is called "bi-normal"
71
73
  */
72
74
  fractionToFrenetFrame(fraction, result) {
73
75
  const plane = this.fractionToPointAnd2Derivatives(fraction);
74
76
  if (!plane)
75
77
  return undefined;
78
+ // first derivative (plane.vectorU) and second derivative (plane.vectorV) are not essentially
79
+ // perpendicular so we use createRigidFromColumns to make 3 perpendicular vectors.
76
80
  let axes = Matrix3d_1.Matrix3d.createRigidFromColumns(plane.vectorU, plane.vectorV, Geometry_1.AxisOrder.XYZ);
77
81
  if (axes)
78
82
  return Transform_1.Transform.createRefs(plane.origin, axes, result);
79
- // 2nd derivative not distinct -- do arbitrary headsUP ...
83
+ // 2nd derivative not distinct. for example if curve is linear at fraction so second derivative is 0.
84
+ // in this case we find perpendicular vector to plane.vectorU and pass it to createRigidFromColumns.
80
85
  const perpVector = Matrix3d_1.Matrix3d.createPerpendicularVectorFavorXYPlane(plane.vectorU, plane.vectorV);
81
86
  axes = Matrix3d_1.Matrix3d.createRigidFromColumns(plane.vectorU, perpVector, Geometry_1.AxisOrder.XYZ);
82
87
  if (axes)
83
88
  return Transform_1.Transform.createRefs(plane.origin, axes, result);
84
89
  return undefined;
85
90
  }
86
- /** Construct signed distance from a point on the curve to its center of curvature (in xy only).
87
- * * Positive is to the left of the xy tangent.
88
- * * negative is to the right of the xy tangent.
89
- * * linear curve is 0.
91
+ /**
92
+ * Construct signed distance from a point on the planar curve to its center of curvature (in xy only).
93
+ * * Positive distance means the center is to the left of the curve at fraction.
94
+ * * Negative distance means the center is to the right of the curve at fraction.
95
+ * * Zero distance means curve is linear at fraction.
90
96
  */
91
97
  fractionToSignedXYRadiusOfCurvature(fraction) {
92
98
  const plane = this.fractionToPointAnd2Derivatives(fraction);
@@ -111,7 +117,7 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
111
117
  return ray.fractionToPoint(distance);
112
118
  }
113
119
  /**
114
- * return the length of the curve.
120
+ * Return the length of the curve.
115
121
  * * Curve length is always positive.
116
122
  */
117
123
  curveLength() {
@@ -120,9 +126,9 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
120
126
  return context.getSum();
121
127
  }
122
128
  /**
123
- * Returns a (high accuracy) length of the curve between fractional positions
129
+ * Returns a (high accuracy) length of the curve between fractional positions.
124
130
  * * Curve length is always positive.
125
- * * Default implementation applies a generic gaussian integration.
131
+ * * Default implementation applies a generic Gaussian integration.
126
132
  * * Most curve classes (certainly LineSegment, LineString, Arc) are expected to provide efficient implementations.
127
133
  */
128
134
  curveLengthBetweenFractions(fraction0, fraction1) {
@@ -130,7 +136,7 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
130
136
  return 0.0;
131
137
  const scale = this.getFractionToDistanceScale();
132
138
  if (scale !== undefined) {
133
- // We are in luck! simple proportions determine it all !!!
139
+ // We are in luck! simple proportions determine it all !!!
134
140
  // (for example, a LineSegment3d or a circular arc)
135
141
  const totalLength = this.curveLength();
136
142
  return Math.abs((fraction1 - fraction0) * totalLength);
@@ -141,14 +147,14 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
141
147
  }
142
148
  /**
143
149
  * Returns a (high accuracy) range of the curve between fractional positions
144
- * * Default implementation returns teh range of the curve from clonePartialCurve
150
+ * * Default implementation returns the range of the curve from clonePartialCurve.
145
151
  */
146
152
  rangeBetweenFractions(fraction0, fraction1, transform) {
147
153
  return this.rangeBetweenFractionsByClone(fraction0, fraction1, transform);
148
154
  }
149
155
  /**
150
156
  * Returns a (high accuracy) range of the curve between fractional positions
151
- * * Default implementation returns teh range of the curve from clonePartialCurve
157
+ * * Default implementation returns the range of the curve from clonePartialCurve
152
158
  */
153
159
  rangeBetweenFractionsByClone(fraction0, fraction1, transform) {
154
160
  if (fraction0 === fraction1)
@@ -162,12 +168,17 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
162
168
  * Returns an approximate range based on a fixed number of evaluations
163
169
  * * Default implementation returns a range determined by evaluating a specified number of points on the curve.
164
170
  * * Optional evaluate again at interval midpoints and extrapolate any increase
165
- * * For a smooth curve, Richardson extrapolation suggests each subdivision moves 3/4 of the way to final. So extrapolationFactor
166
- * of 1/3 gets speculatively moves closer to the tight range, and larger multipliers increase confidence in being safely larger.
171
+ * * For a smooth curve, Richardson extrapolation suggests each subdivision moves 3/4 of the way to final. So
172
+ * extrapolationFactor of 1/3 gets speculatively moves closer to the tight range, and larger multipliers increase
173
+ * confidence in being safely larger.
174
+ * * This function is faster version to compute the range of a portion of a curve (because some curves can be
175
+ * expensive to compute the partial curve and/or to compute the partial curve's range.
167
176
  * @param fraction0 start fraction for evaluation
168
177
  * @param fraction1 end fraction for evaluation
169
178
  * @param count number of points to evaluate
170
- * @param extrapolationFactor if positive, evaluate again at interval midpoints and apply this fraction multiplier to any increase in size.
179
+ * @param transform optional transform to be applied to the curve
180
+ * @param extrapolationFactor if positive, evaluate again at interval midpoints and apply this fraction multiplier
181
+ * to any increase in size.
171
182
  */
172
183
  rangeBetweenFractionsByCount(fraction0, fraction1, count, transform, extrapolationFactor = 0.0) {
173
184
  const range = Range_1.Range3d.createNull();
@@ -192,8 +203,8 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
192
203
  evaluateSteps(fraction0 + globalFractionStep, globalFractionStep, interiorCount);
193
204
  }
194
205
  if (extrapolationFactor > 0.0) {
195
- // Evaluate at midpoints. Where this makes the range larger, apply extrapolationFactor to move it to safer excess value.
196
- // same interior step, but shift to interval midpoints:.
206
+ // Evaluate at midpoints. Where this makes the range larger, apply extrapolationFactor to move it to safer
207
+ // excess value. same interior step, but shift to interval midpoints.
197
208
  const baseRange = range.clone();
198
209
  const interiorCount1 = interiorCount + 1;
199
210
  const localFraction0 = 0.5 / interiorCount1; // we only evaluate at new midpoints.
@@ -204,13 +215,13 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
204
215
  return range;
205
216
  }
206
217
  /**
207
- *
208
- * * Run an integration (with a default gaussian quadrature) with a fixed fractional step
218
+ * Run an integration (with a default Gaussian quadrature) with a fixed fractional step
209
219
  * * This is typically called by specific curve type implementations of curveLengthBetweenFractions.
210
- * * For example, in Arc3d implementation of curveLengthBetweenFractions:
220
+ * * For example, in Arc3d implementation of curveLengthBetweenFractions:
211
221
  * * If the Arc3d is true circular, it the arc is true circular, use the direct `arcLength = radius * sweepRadians`
212
- * * If the Arc3d is not true circular, call this method with an interval count appropriate to eccentricity and sweepRadians.
213
- * @returns Returns an integral estimated by numerical quadrature between the fractional positions.
222
+ * * If the Arc3d is not true circular, call this method with an interval count appropriate to eccentricity and
223
+ * sweepRadians.
224
+ * @returns Returns the curve length via an integral estimated by numerical quadrature between the fractional positions.
214
225
  * @param fraction0 start fraction for integration
215
226
  * @param fraction1 end fraction for integration
216
227
  * @param numInterval number of quadrature intervals
@@ -226,33 +237,39 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
226
237
  return Math.abs(context.getSum());
227
238
  }
228
239
  /**
229
- *
230
- * * (Attempt to) find a position on the curve at a signed distance from start fraction.
240
+ * (Attempt to) find a position on the curve at a signed distance from start fraction.
231
241
  * * Return the position as a CurveLocationDetail.
232
242
  * * In the `CurveLocationDetail`, record:
233
243
  * * `fraction` = fractional position
234
244
  * * `point` = coordinates of the point
235
- * * `a` = (signed!) distance moved. If `allowExtension` is false and the move reached the start or end of the curve, this distance is smaller than the requested signedDistance.
245
+ * * `a` = (signed!) distance moved. If `allowExtension` is false and the move reached the start or end of the
246
+ * curve, this distance is smaller than the requested signedDistance.
236
247
  * * `curveSearchStatus` indicates one of:
237
248
  * * `error` (unusual) computation failed not supported for this curve.
238
249
  * * `success` full movement completed
239
250
  * * `stoppedAtBoundary` partial movement completed. This can be due to either
240
251
  * * `allowExtension` parameter sent as `false`
241
252
  * * the curve type (e.g. bspline) does not support extended range.
242
- * * if `allowExtension` is true, movement may still end at the startPoint or end point for curves that do not support extended geometry (specifically bsplines)
243
- * * if the curve returns a value (i.e. not `undefined`) for `curve.getFractionToDistanceScale()`, the base class carries out the computation
253
+ * * if `allowExtension` is true, movement may still end at the startPoint or end point for curves that do not support
254
+ * extended geometry (specifically bsplines)
255
+ * * if the curve returns a value (i.e. not `undefined`) for `curve.getFractionToDistanceScale()`, the base class
256
+ * carries out the computation
244
257
  * and returns a final location.
245
258
  * * LineSegment3d relies on this.
246
- * * If the curve does not implement the computation or the curve has zero length, the returned `CurveLocationDetail` has
259
+ * * If the curve does not implement the computation or the curve has zero length, the returned `CurveLocationDetail`
260
+ * has
247
261
  * * `fraction` = the value of `startFraction`
248
262
  * * `point` = result of `curve.fractionToPoint(startFraction)`
249
263
  * * `a` = 0
250
264
  * * `curveStartState` = `CurveSearchStatus.error`
251
265
  * @param startFraction fractional position where the move starts
252
266
  * @param signedDistance distance to move. Negative distance is backwards in the fraction space
253
- * @param allowExtension if true, all the move to go beyond the startPoint or endpoint of the curve. If false, do not allow movement beyond the startPoint or endpoint
267
+ * @param allowExtension if true, allow the move to go beyond the startPoint or endpoint of the curve. If false,
268
+ * do not allow movement beyond the startPoint or endpoint
254
269
  * @param result optional result.
255
- * @returns A CurveLocationDetail annotated as above. Note that if the curve does not support the calculation, there is still a result which contains the point at the input startFraction, with failure indicated in the `curveStartState` member
270
+ * @returns A CurveLocationDetail annotated as above. Note that if the curve does not support the calculation, there is
271
+ * still a result which contains the point at the input startFraction, with failure indicated in the `curveStartState`
272
+ * member
256
273
  */
257
274
  moveSignedDistanceFromFraction(startFraction, signedDistance, allowExtension, result) {
258
275
  const scale = this.getFractionToDistanceScale();
@@ -272,13 +289,14 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
272
289
  * Generic algorithm to search for point at signed distance from a fractional startPoint.
273
290
  * * This will work for well for smooth curves.
274
291
  * * Curves with tangent or other low-order-derivative discontinuities may need to implement specialized algorithms.
275
- * * We need to find an endFraction which is the end-of-interval (usually upper) limit of integration of the tangent magnitude from startFraction to endFraction
292
+ * * We need to find an endFraction which is the end-of-interval (usually upper) limit of integration of the tangent
293
+ * magnitude from startFraction to endFraction
276
294
  * * That integral is a function of endFraction.
277
295
  * * The derivative of that integral with respect to end fraction is the tangent magnitude at end fraction.
278
296
  * * Use that function and (easily evaluated!) derivative for a Newton iteration
279
- * * TO ALL WHO HAVE FUZZY MEMORIES OF CALCULUS CLASS: "The derivative of the integral wrt upper limit is the value of the integrand there" is the
280
- * fundamental theorem of integral calculus !!! The fundamental theorem is not just an abstraction !!! It is being used
281
- * here in its barest possible form !!!
297
+ * * TO ALL WHO HAVE FUZZY MEMORIES OF CALCULUS CLASS: "The derivative of the integral wrt upper limit is the value
298
+ * of the integrand there" is the fundamental theorem of integral calculus !!! The fundamental theorem is not just
299
+ * an abstraction !!! It is being used here in its barest possible form !!!
282
300
  * * See https://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus
283
301
  * @param startFraction
284
302
  * @param signedDistance
@@ -359,20 +377,25 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
359
377
  return result;
360
378
  }
361
379
  /**
362
- * * Returns true if the curve's fraction queries extend beyond 0..1.
380
+ * * Returns true if the curve can be easily extended past its start/end point (i.e., beyond the usual
381
+ * fraction space [0,1]). Otherwise, returns false.
363
382
  * * Base class default implementation returns false.
364
- * * These class (and perhaps others in the future) will return true:
383
+ * * These classes (and perhaps others in the future) will return true:
365
384
  * * LineSegment3d
366
385
  * * LineString3d
367
386
  * * Arc3d
368
387
  */
369
- get isExtensibleFractionSpace() { return false; }
370
- /** Search for the curve point that is closest to the spacePoint.
371
- *
388
+ get isExtensibleFractionSpace() {
389
+ return false;
390
+ }
391
+ /**
392
+ * Search for a point on the curve that is closest to the spacePoint.
372
393
  * * If the space point is exactly on the curve, this is the reverse of fractionToPoint.
373
- * * Since CurvePrimitive should always have start and end available as candidate points, this method should always succeed
394
+ * * Since CurvePrimitive should always have start and end available as candidate points, this method should always
395
+ * succeed
374
396
  * @param spacePoint point in space
375
- * @param extend true to extend the curve (if possible), false for no extend, single CurveExtendOptions (for both directions), or array of distinct CurveExtendOptions for start and end.
397
+ * @param extend true to extend the curve (if possible), false for no extend, single CurveExtendOptions (for both
398
+ * directions), or array of distinct CurveExtendOptions for start and end.
376
399
  * @returns Returns a CurveLocationDetail structure that holds the details of the close point.
377
400
  */
378
401
  closestPoint(spacePoint, extend) {
@@ -383,14 +406,16 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
383
406
  /**
384
407
  * Find intervals of this curvePrimitive that are interior to a clipper
385
408
  * @param clipper clip structure (e.g. clip planes)
386
- * @param announce (optional) function to be called announcing fractional intervals" ` announce(fraction0, fraction1, curvePrimitive)`
409
+ * @param announce (optional) function to be called announcing fractional intervals
410
+ * `announce(fraction0, fraction1, curvePrimitive)`
387
411
  * @returns true if any "in" segments are announced.
388
412
  */
389
413
  announceClipIntervals(_clipper, _announce) {
390
414
  // DEFAULT IMPLEMENTATION -- no interior parts
391
415
  return false;
392
416
  }
393
- /** Return (if possible) a curve primitive which is a portion of this curve.
417
+ /**
418
+ * Return (if possible) a curve primitive which is a portion of this curve.
394
419
  * @param _fractionA [in] start fraction
395
420
  * @param _fractionB [in] end fraction
396
421
  */
@@ -398,8 +423,8 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
398
423
  return undefined;
399
424
  }
400
425
  /**
401
- * * If the curve primitive has distance-along-curve strictly proportional to curve fraction, return the scale factor.
402
- * * If distance-along-the-curve is not proportional, return undefined.
426
+ * If the curve primitive has distance-along-curve strictly proportional to curve fraction, return the scale factor.
427
+ * If distance-along-the-curve is not proportional, return undefined.
403
428
  * * When defined, the scale factor is always the length of the curve.
404
429
  * * This scale factor is typically available for these curve types:
405
430
  * * * All `LineSegment3d`
@@ -410,12 +435,14 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
410
435
  * * * bspline and bezier curves
411
436
  * @returns scale factor or undefined
412
437
  */
413
- getFractionToDistanceScale() { return undefined; }
438
+ getFractionToDistanceScale() {
439
+ return undefined;
440
+ }
414
441
  /**
415
- * Compute intersections with a plane.
442
+ * Compute intersections of the curve with a plane.
416
443
  * * The intersections are appended to the result array.
417
- * * The base class implementation emits strokes to an AppendPlaneIntersectionStrokeHandler object, which uses a Newton iteration to get
418
- * high-accuracy intersection points within strokes.
444
+ * * The base class implementation emits strokes to an AppendPlaneIntersectionStrokeHandler object, which uses a
445
+ * Newton iteration to get high-accuracy intersection points within strokes.
419
446
  * * Derived classes should override this default implementation if there are easy analytic solutions.
420
447
  * * Derived classes are free to implement extended intersections (e.g. arc!!!)
421
448
  * @param plane The plane to be intersected.
@@ -432,8 +459,8 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
432
459
  * Examine contents of an array of CurveLocationDetail.
433
460
  * Filter the intersections according to the parameters.
434
461
  * @param allowExtend if false, remove points on the extension.
435
- * @param applySnappedCoordinates if true, change the stored fractions and coordinates to exact end values. Otherwise
436
- * use the exact values only for purpose of updating the curveIntervalRole.
462
+ * @param applySnappedCoordinates if true, change the stored fractions and coordinates to exact end values.
463
+ * Otherwise use the exact values only for purpose of updating the curveIntervalRole.
437
464
  * @param startEndFractionTolerance if nonzero, adjust fraction to 0 or 1 with this tolerance.
438
465
  * @param startEndXYZTolerance if nonzero, adjust to endpoint with this tolerance.
439
466
  * @internal
@@ -496,12 +523,16 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
496
523
  if (acceptIndex < n0)
497
524
  details.length = acceptIndex;
498
525
  }
499
- /** return the startPoint of the primitive. The default implementation returns fractionToPoint (0.0) */
500
- startPoint(result) { return this.fractionToPoint(0.0, result); }
501
- /** return the end point of the primitive. The default implementation returns fractionToPoint(1.0) */
502
- endPoint(result) { return this.fractionToPoint(1.0, result); }
526
+ /** Return the startPoint of the primitive. The default implementation returns fractionToPoint(0.0) */
527
+ startPoint(result) {
528
+ return this.fractionToPoint(0.0, result);
529
+ }
530
+ /** Return the end point of the primitive. The default implementation returns fractionToPoint(1.0) */
531
+ endPoint(result) {
532
+ return this.fractionToPoint(1.0, result);
533
+ }
503
534
  /**
504
- * attach StrokeCountMap structure to this primitive (and recursively to any children)
535
+ * Attach StrokeCountMap structure to this primitive (and recursively to any children)
505
536
  * * Base class implementation (here) gets the simple count from computeStrokeCountForOptions and attaches it.
506
537
  * * LineString3d, arc3d, BezierCurve3d, BezierCurve3dH accept that default.
507
538
  * * Subdivided primitives (linestring, bspline curve) implement themselves and attach a StrokeCountMap containing the
@@ -509,7 +540,8 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
509
540
  * * For CurvePrimitiveWithDistanceIndex, the top level gets (only) a total count, and each child gets
510
541
  * its own StrokeCountMap with appropriate structure.
511
542
  * @param options StrokeOptions that determine count
512
- * @param parentStrokeMap optional map from parent. Its count, curveLength, and a1 values are increased with count and distance from this primitive.
543
+ * @param parentStrokeMap optional map from parent. Its count, curveLength, and a1 values are increased with count
544
+ * and distance from this primitive.
513
545
  * @return sum of `a0+this.curveLength()`, for use as `a0` of successor in chain.
514
546
  */
515
547
  computeAndAttachRecursiveStrokeCounts(options, parentMap) {
@@ -518,8 +550,9 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
518
550
  CurvePrimitive.installStrokeCountMap(this, StrokeCountMap_1.StrokeCountMap.createWithCurvePrimitive(this, n, a, 0, a), parentMap);
519
551
  }
520
552
  /**
521
- * * evaluate strokes at fractions indicated in a StrokeCountMap.
522
- * * Base class implementation (here) gets the simple count from computeStrokeCountForOptions and strokes at uniform fractions.
553
+ * Evaluate strokes at fractions indicated in a StrokeCountMap.
554
+ * * Base class implementation (here) gets the simple count from computeStrokeCountForOptions and strokes at
555
+ * uniform fractions.
523
556
  * * LineString3d, arc3d, BezierCurve3d, BezierCurve3dH accept that default.
524
557
  * * Subdivided primitives (linestring, bspline curve) implement themselves and evaluate within components.
525
558
  * * CurvePrimitiveWithDistanceIndex recurses to its children.
@@ -539,7 +572,7 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
539
572
  return linestring.numPoints() - numPoint0;
540
573
  }
541
574
  /**
542
- * final install step to save curveMap in curve. If parentMap is given, update its length, count, and a1 fields
575
+ * Final install step to save curveMap in curve. If parentMap is given, update its length, count, and a1 fields
543
576
  * @param curve curve to receive the annotation
544
577
  * @param map
545
578
  * @param parentMap
@@ -553,8 +586,10 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
553
586
  * Return an array containing only the curve primitives.
554
587
  * * This DEFAULT implementation simply pushes `this` to the collectorArray.
555
588
  * @param collectorArray array to receive primitives (pushed -- the array is not cleared)
556
- * @param smallestPossiblePrimitives if true, a [[CurvePrimitiveWithDistanceIndex]] recurses on its (otherwise hidden) children. If false, it returns only itself.
557
- * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false, push only the [[LineString3d]].
589
+ * @param smallestPossiblePrimitives if true, a [[CurvePrimitiveWithDistanceIndex]] recurses on its (otherwise hidden)
590
+ * children. If false, it returns only itself.
591
+ * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false,
592
+ * push only the [[LineString3d]].
558
593
  */
559
594
  collectCurvePrimitivesGo(collectorArray, _smallestPossiblePrimitives, _explodeLinestrings = false) {
560
595
  collectorArray.push(this);
@@ -562,18 +597,23 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
562
597
  /**
563
598
  * Return an array containing only the curve primitives.
564
599
  * * This DEFAULT implementation captures the optional collector and calls [[collectCurvePrimitivesGo]].
565
- * @param collectorArray optional array to receive primitives. If present, new primitives are ADDED (without clearing the array.)
566
- * @param smallestPossiblePrimitives if false, CurvePrimitiveWithDistanceIndex returns only itself. If true, it recurses to its (otherwise hidden) children.
600
+ * @param collectorArray optional array to receive primitives. If present, new primitives are ADDED (without
601
+ * clearing the array.)
602
+ * @param smallestPossiblePrimitives if false, CurvePrimitiveWithDistanceIndex returns only itself. If true,
603
+ * it recurses to its (otherwise hidden) children.
567
604
  */
568
605
  collectCurvePrimitives(collectorArray, smallestPossiblePrimitives = false, explodeLinestrings = false) {
569
606
  const results = collectorArray === undefined ? [] : collectorArray;
570
607
  this.collectCurvePrimitivesGo(results, smallestPossiblePrimitives, explodeLinestrings);
571
608
  return results;
572
609
  }
573
- /** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
610
+ /**
611
+ * Project instance geometry (via dispatch) onto the line of the given ray, and return the extreme fractional
612
+ * parameters of projection.
574
613
  * @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
575
614
  * @param lowHigh optional receiver for output
576
- * @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
615
+ * @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
616
+ * end of the ray.
577
617
  */
578
618
  projectedParameterRange(_ray, _lowHigh) {
579
619
  return undefined; // common implementation delegated to subclasses to avoid circular dependency