@itwin/core-geometry 4.1.0-dev.7 → 4.1.0-dev.70

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 (542) hide show
  1. package/CHANGELOG.md +82 -1
  2. package/lib/cjs/Geometry.js.map +1 -1
  3. package/lib/cjs/bspline/BSplineCurve.d.ts +1 -1
  4. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  5. package/lib/cjs/bspline/BSplineCurve.js +2 -2
  6. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  7. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  8. package/lib/cjs/bspline/BSplineSurface.js +1 -1
  9. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  10. package/lib/cjs/bspline/BezierCurveBase.d.ts +1 -1
  11. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
  12. package/lib/cjs/bspline/BezierCurveBase.js +2 -2
  13. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  14. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  15. package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
  16. package/lib/cjs/clipping/ClipPrimitive.js +2 -0
  17. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  18. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  19. package/lib/cjs/core-geometry.d.ts +3 -1
  20. package/lib/cjs/core-geometry.d.ts.map +1 -1
  21. package/lib/cjs/core-geometry.js +3 -1
  22. package/lib/cjs/core-geometry.js.map +1 -1
  23. package/lib/cjs/curve/Arc3d.d.ts +2 -1
  24. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  25. package/lib/cjs/curve/Arc3d.js +3 -2
  26. package/lib/cjs/curve/Arc3d.js.map +1 -1
  27. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +62 -42
  28. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  29. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +71 -48
  30. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  31. package/lib/cjs/curve/CurveCollection.d.ts +36 -26
  32. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  33. package/lib/cjs/curve/CurveCollection.js +46 -39
  34. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  35. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  36. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  37. package/lib/cjs/curve/CurveFactory.d.ts +67 -3
  38. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  39. package/lib/cjs/curve/CurveFactory.js +75 -7
  40. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  41. package/lib/cjs/curve/CurveLocationDetail.d.ts +6 -6
  42. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  43. package/lib/cjs/curve/CurveLocationDetail.js +9 -7
  44. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  45. package/lib/cjs/curve/CurveOps.d.ts +77 -0
  46. package/lib/cjs/curve/CurveOps.d.ts.map +1 -0
  47. package/lib/cjs/curve/CurveOps.js +160 -0
  48. package/lib/cjs/curve/CurveOps.js.map +1 -0
  49. package/lib/cjs/curve/CurvePrimitive.d.ts +17 -16
  50. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  51. package/lib/cjs/curve/CurvePrimitive.js +4 -3
  52. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  53. package/lib/cjs/curve/GeometryQuery.d.ts +2 -2
  54. package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -1
  55. package/lib/cjs/curve/GeometryQuery.js +2 -2
  56. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  57. package/lib/cjs/curve/LineSegment3d.d.ts +7 -5
  58. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  59. package/lib/cjs/curve/LineSegment3d.js +6 -6
  60. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  61. package/lib/cjs/curve/LineString3d.d.ts +2 -2
  62. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  63. package/lib/cjs/curve/LineString3d.js +3 -3
  64. package/lib/cjs/curve/LineString3d.js.map +1 -1
  65. package/lib/cjs/curve/Loop.d.ts +7 -5
  66. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  67. package/lib/cjs/curve/Loop.js +18 -6
  68. package/lib/cjs/curve/Loop.js.map +1 -1
  69. package/lib/cjs/curve/OffsetOptions.d.ts +97 -0
  70. package/lib/cjs/curve/OffsetOptions.d.ts.map +1 -0
  71. package/lib/cjs/curve/OffsetOptions.js +166 -0
  72. package/lib/cjs/curve/OffsetOptions.js.map +1 -0
  73. package/lib/cjs/curve/ParityRegion.d.ts +7 -7
  74. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
  75. package/lib/cjs/curve/ParityRegion.js +19 -11
  76. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  77. package/lib/cjs/curve/Path.d.ts +6 -6
  78. package/lib/cjs/curve/Path.d.ts.map +1 -1
  79. package/lib/cjs/curve/Path.js +15 -9
  80. package/lib/cjs/curve/Path.js.map +1 -1
  81. package/lib/cjs/curve/ProxyCurve.d.ts +5 -7
  82. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
  83. package/lib/cjs/curve/ProxyCurve.js +7 -7
  84. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  85. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  86. package/lib/cjs/curve/RegionOps.d.ts +76 -56
  87. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  88. package/lib/cjs/curve/RegionOps.js +83 -60
  89. package/lib/cjs/curve/RegionOps.js.map +1 -1
  90. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +2 -2
  91. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  92. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  93. package/lib/cjs/curve/StrokeOptions.js +6 -2
  94. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  95. package/lib/cjs/curve/UnionRegion.d.ts +6 -5
  96. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
  97. package/lib/cjs/curve/UnionRegion.js +17 -8
  98. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  99. package/lib/cjs/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  100. package/lib/cjs/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  101. package/lib/cjs/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  102. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  103. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
  104. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  105. package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
  106. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  107. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  108. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  109. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +130 -220
  110. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  111. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  112. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  113. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  114. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  115. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  116. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  117. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +89 -178
  118. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  119. package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  120. package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
  121. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  122. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +1 -1
  123. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  124. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  125. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  126. package/lib/cjs/curve/spiral/TransitionSpiral3d.js +2 -2
  127. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  128. package/lib/cjs/curve/spiral/XYCurveEvaluator.js +1 -1
  129. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  130. package/lib/cjs/geometry3d/Angle.d.ts +9 -0
  131. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  132. package/lib/cjs/geometry3d/Angle.js +13 -0
  133. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  134. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  135. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  136. package/lib/cjs/geometry3d/BilinearPatch.d.ts +43 -48
  137. package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -1
  138. package/lib/cjs/geometry3d/BilinearPatch.js +51 -55
  139. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  140. package/lib/cjs/geometry3d/Ellipsoid.d.ts +1 -1
  141. package/lib/cjs/geometry3d/Ellipsoid.js +1 -1
  142. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  143. package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
  144. package/lib/cjs/geometry3d/FrameBuilder.js +13 -11
  145. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  146. package/lib/cjs/geometry3d/GeometryHandler.d.ts +5 -5
  147. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  148. package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  149. package/lib/cjs/geometry3d/GrowableBlockedArray.js +1 -1
  150. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  151. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  152. package/lib/cjs/geometry3d/GrowableFloat64Array.js +1 -1
  153. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  154. package/lib/cjs/geometry3d/Matrix3d.d.ts +18 -0
  155. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  156. package/lib/cjs/geometry3d/Matrix3d.js +32 -5
  157. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  158. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  159. package/lib/cjs/geometry3d/Plane3d.d.ts +41 -32
  160. package/lib/cjs/geometry3d/Plane3d.d.ts.map +1 -1
  161. package/lib/cjs/geometry3d/Plane3d.js +11 -8
  162. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  163. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  164. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  165. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  166. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  167. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  168. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  169. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  170. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  171. package/lib/cjs/geometry3d/Point2dVector2d.d.ts +8 -9
  172. package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -1
  173. package/lib/cjs/geometry3d/Point2dVector2d.js +9 -10
  174. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  175. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  176. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +12 -4
  177. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  178. package/lib/cjs/geometry3d/Point3dVector3d.js +18 -5
  179. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  180. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  181. package/lib/cjs/geometry3d/PointHelpers.js +5 -5
  182. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  183. package/lib/cjs/geometry3d/PolygonOps.d.ts +1 -2
  184. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  185. package/lib/cjs/geometry3d/PolygonOps.js +2 -3
  186. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  187. package/lib/cjs/geometry3d/PolylineOps.d.ts +16 -1
  188. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  189. package/lib/cjs/geometry3d/PolylineOps.js +55 -0
  190. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  191. package/lib/cjs/geometry3d/Range.d.ts +134 -94
  192. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  193. package/lib/cjs/geometry3d/Range.js +297 -145
  194. package/lib/cjs/geometry3d/Range.js.map +1 -1
  195. package/lib/cjs/geometry3d/Ray2d.d.ts +69 -0
  196. package/lib/cjs/geometry3d/Ray2d.d.ts.map +1 -0
  197. package/lib/cjs/geometry3d/Ray2d.js +146 -0
  198. package/lib/cjs/geometry3d/Ray2d.js.map +1 -0
  199. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  200. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  201. package/lib/cjs/geometry3d/Transform.d.ts +10 -3
  202. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  203. package/lib/cjs/geometry3d/Transform.js +18 -6
  204. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  205. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  206. package/lib/cjs/numerics/ConvexPolygon2d.d.ts +7 -49
  207. package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -1
  208. package/lib/cjs/numerics/ConvexPolygon2d.js +16 -107
  209. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  210. package/lib/cjs/numerics/Newton.js.map +1 -1
  211. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  212. package/lib/cjs/numerics/Polynomials.js +0 -2
  213. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  214. package/lib/cjs/numerics/Quadrature.js +5 -5
  215. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  216. package/lib/cjs/polyface/IndexedEdgeMatcher.js +1 -1
  217. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  218. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  219. package/lib/cjs/polyface/PolyfaceBuilder.js +2 -2
  220. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  221. package/lib/cjs/polyface/PolyfaceQuery.d.ts +73 -12
  222. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  223. package/lib/cjs/polyface/PolyfaceQuery.js +117 -31
  224. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  225. package/lib/cjs/polyface/TaggedNumericData.js +1 -1
  226. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  227. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  228. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  229. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  230. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +11 -0
  231. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  232. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +79 -1
  233. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  234. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  235. package/lib/cjs/serialization/GeometrySamples.d.ts +11 -0
  236. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  237. package/lib/cjs/serialization/GeometrySamples.js +30 -0
  238. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  239. package/lib/cjs/serialization/IModelJsonSchema.d.ts +2 -7
  240. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  241. package/lib/cjs/serialization/IModelJsonSchema.js +2 -7
  242. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  243. package/lib/cjs/solid/LinearSweep.d.ts +2 -1
  244. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
  245. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  246. package/lib/cjs/solid/RotationalSweep.d.ts +2 -1
  247. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
  248. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  249. package/lib/cjs/solid/RuledSweep.d.ts +2 -1
  250. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
  251. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  252. package/lib/cjs/solid/SweepContour.d.ts +2 -2
  253. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  254. package/lib/cjs/solid/SweepContour.js +9 -0
  255. package/lib/cjs/solid/SweepContour.js.map +1 -1
  256. package/lib/cjs/topology/ChainMerge.js +1 -1
  257. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  258. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  259. package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -1
  260. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  261. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js +1 -1
  262. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  263. package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  264. package/lib/cjs/topology/HalfEdgePriorityQueue.js +1 -1
  265. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  266. package/lib/cjs/topology/RegularizeFace.js +3 -3
  267. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  268. package/lib/cjs/topology/Triangulation.js +1 -1
  269. package/lib/cjs/topology/Triangulation.js.map +1 -1
  270. package/lib/esm/Geometry.js.map +1 -1
  271. package/lib/esm/bspline/BSplineCurve.d.ts +1 -1
  272. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  273. package/lib/esm/bspline/BSplineCurve.js +1 -1
  274. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  275. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  276. package/lib/esm/bspline/BSplineSurface.js +1 -1
  277. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  278. package/lib/esm/bspline/BezierCurveBase.d.ts +1 -1
  279. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  280. package/lib/esm/bspline/BezierCurveBase.js +1 -1
  281. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  282. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  283. package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
  284. package/lib/esm/clipping/ClipPrimitive.js +2 -0
  285. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  286. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  287. package/lib/esm/core-geometry.d.ts +3 -1
  288. package/lib/esm/core-geometry.d.ts.map +1 -1
  289. package/lib/esm/core-geometry.js +3 -1
  290. package/lib/esm/core-geometry.js.map +1 -1
  291. package/lib/esm/curve/Arc3d.d.ts +2 -1
  292. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  293. package/lib/esm/curve/Arc3d.js +2 -1
  294. package/lib/esm/curve/Arc3d.js.map +1 -1
  295. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +62 -42
  296. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  297. package/lib/esm/curve/CurveChainWithDistanceIndex.js +70 -47
  298. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  299. package/lib/esm/curve/CurveCollection.d.ts +36 -26
  300. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  301. package/lib/esm/curve/CurveCollection.js +46 -39
  302. package/lib/esm/curve/CurveCollection.js.map +1 -1
  303. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  304. package/lib/esm/curve/CurveCurve.js.map +1 -1
  305. package/lib/esm/curve/CurveFactory.d.ts +67 -3
  306. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  307. package/lib/esm/curve/CurveFactory.js +74 -6
  308. package/lib/esm/curve/CurveFactory.js.map +1 -1
  309. package/lib/esm/curve/CurveLocationDetail.d.ts +6 -6
  310. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  311. package/lib/esm/curve/CurveLocationDetail.js +9 -7
  312. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  313. package/lib/esm/curve/CurveOps.d.ts +77 -0
  314. package/lib/esm/curve/CurveOps.d.ts.map +1 -0
  315. package/lib/esm/curve/CurveOps.js +156 -0
  316. package/lib/esm/curve/CurveOps.js.map +1 -0
  317. package/lib/esm/curve/CurvePrimitive.d.ts +17 -16
  318. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  319. package/lib/esm/curve/CurvePrimitive.js +4 -3
  320. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  321. package/lib/esm/curve/GeometryQuery.d.ts +2 -2
  322. package/lib/esm/curve/GeometryQuery.d.ts.map +1 -1
  323. package/lib/esm/curve/GeometryQuery.js +2 -2
  324. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  325. package/lib/esm/curve/LineSegment3d.d.ts +7 -5
  326. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  327. package/lib/esm/curve/LineSegment3d.js +5 -5
  328. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  329. package/lib/esm/curve/LineString3d.d.ts +2 -2
  330. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  331. package/lib/esm/curve/LineString3d.js +2 -2
  332. package/lib/esm/curve/LineString3d.js.map +1 -1
  333. package/lib/esm/curve/Loop.d.ts +7 -5
  334. package/lib/esm/curve/Loop.d.ts.map +1 -1
  335. package/lib/esm/curve/Loop.js +18 -6
  336. package/lib/esm/curve/Loop.js.map +1 -1
  337. package/lib/esm/curve/OffsetOptions.d.ts +97 -0
  338. package/lib/esm/curve/OffsetOptions.d.ts.map +1 -0
  339. package/lib/esm/curve/OffsetOptions.js +161 -0
  340. package/lib/esm/curve/OffsetOptions.js.map +1 -0
  341. package/lib/esm/curve/ParityRegion.d.ts +7 -7
  342. package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
  343. package/lib/esm/curve/ParityRegion.js +19 -11
  344. package/lib/esm/curve/ParityRegion.js.map +1 -1
  345. package/lib/esm/curve/Path.d.ts +6 -6
  346. package/lib/esm/curve/Path.d.ts.map +1 -1
  347. package/lib/esm/curve/Path.js +15 -9
  348. package/lib/esm/curve/Path.js.map +1 -1
  349. package/lib/esm/curve/ProxyCurve.d.ts +5 -7
  350. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
  351. package/lib/esm/curve/ProxyCurve.js +7 -7
  352. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  353. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  354. package/lib/esm/curve/RegionOps.d.ts +76 -56
  355. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  356. package/lib/esm/curve/RegionOps.js +84 -61
  357. package/lib/esm/curve/RegionOps.js.map +1 -1
  358. package/lib/esm/curve/RegionOpsClassificationSweeps.js +2 -2
  359. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  360. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  361. package/lib/esm/curve/StrokeOptions.js +6 -2
  362. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  363. package/lib/esm/curve/UnionRegion.d.ts +6 -5
  364. package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
  365. package/lib/esm/curve/UnionRegion.js +17 -8
  366. package/lib/esm/curve/UnionRegion.js.map +1 -1
  367. package/lib/esm/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  368. package/lib/esm/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  369. package/lib/esm/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  370. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  371. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
  372. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  373. package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
  374. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  375. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  376. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  377. package/lib/esm/curve/internalContexts/MultiChainCollector.js +129 -218
  378. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  379. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  380. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  381. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  382. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  383. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  384. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  385. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +86 -173
  386. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  387. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  388. package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
  389. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  390. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +1 -1
  391. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  392. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  393. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  394. package/lib/esm/curve/spiral/TransitionSpiral3d.js +1 -1
  395. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  396. package/lib/esm/curve/spiral/XYCurveEvaluator.js +1 -1
  397. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  398. package/lib/esm/geometry3d/Angle.d.ts +9 -0
  399. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  400. package/lib/esm/geometry3d/Angle.js +13 -0
  401. package/lib/esm/geometry3d/Angle.js.map +1 -1
  402. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  403. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  404. package/lib/esm/geometry3d/BilinearPatch.d.ts +43 -48
  405. package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -1
  406. package/lib/esm/geometry3d/BilinearPatch.js +51 -55
  407. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  408. package/lib/esm/geometry3d/Ellipsoid.d.ts +1 -1
  409. package/lib/esm/geometry3d/Ellipsoid.js +1 -1
  410. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  411. package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
  412. package/lib/esm/geometry3d/FrameBuilder.js +13 -11
  413. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  414. package/lib/esm/geometry3d/GeometryHandler.d.ts +5 -5
  415. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  416. package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  417. package/lib/esm/geometry3d/GrowableBlockedArray.js +1 -1
  418. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  419. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  420. package/lib/esm/geometry3d/GrowableFloat64Array.js +1 -1
  421. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  422. package/lib/esm/geometry3d/Matrix3d.d.ts +18 -0
  423. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  424. package/lib/esm/geometry3d/Matrix3d.js +32 -5
  425. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  426. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  427. package/lib/esm/geometry3d/Plane3d.d.ts +41 -32
  428. package/lib/esm/geometry3d/Plane3d.d.ts.map +1 -1
  429. package/lib/esm/geometry3d/Plane3d.js +11 -8
  430. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  431. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  432. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  433. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  434. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  435. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  436. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  437. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  438. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  439. package/lib/esm/geometry3d/Point2dVector2d.d.ts +8 -9
  440. package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -1
  441. package/lib/esm/geometry3d/Point2dVector2d.js +9 -10
  442. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  443. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  444. package/lib/esm/geometry3d/Point3dVector3d.d.ts +12 -4
  445. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  446. package/lib/esm/geometry3d/Point3dVector3d.js +18 -5
  447. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  448. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  449. package/lib/esm/geometry3d/PointHelpers.js +5 -5
  450. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  451. package/lib/esm/geometry3d/PolygonOps.d.ts +1 -2
  452. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  453. package/lib/esm/geometry3d/PolygonOps.js +2 -3
  454. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  455. package/lib/esm/geometry3d/PolylineOps.d.ts +16 -1
  456. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  457. package/lib/esm/geometry3d/PolylineOps.js +56 -1
  458. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  459. package/lib/esm/geometry3d/Range.d.ts +134 -94
  460. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  461. package/lib/esm/geometry3d/Range.js +297 -145
  462. package/lib/esm/geometry3d/Range.js.map +1 -1
  463. package/lib/esm/geometry3d/Ray2d.d.ts +69 -0
  464. package/lib/esm/geometry3d/Ray2d.d.ts.map +1 -0
  465. package/lib/esm/geometry3d/Ray2d.js +142 -0
  466. package/lib/esm/geometry3d/Ray2d.js.map +1 -0
  467. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  468. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  469. package/lib/esm/geometry3d/Transform.d.ts +10 -3
  470. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  471. package/lib/esm/geometry3d/Transform.js +18 -6
  472. package/lib/esm/geometry3d/Transform.js.map +1 -1
  473. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  474. package/lib/esm/numerics/ConvexPolygon2d.d.ts +7 -49
  475. package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -1
  476. package/lib/esm/numerics/ConvexPolygon2d.js +14 -104
  477. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  478. package/lib/esm/numerics/Newton.js.map +1 -1
  479. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  480. package/lib/esm/numerics/Polynomials.js +0 -2
  481. package/lib/esm/numerics/Polynomials.js.map +1 -1
  482. package/lib/esm/numerics/Quadrature.js +5 -5
  483. package/lib/esm/numerics/Quadrature.js.map +1 -1
  484. package/lib/esm/polyface/IndexedEdgeMatcher.js +1 -1
  485. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  486. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  487. package/lib/esm/polyface/PolyfaceBuilder.js +2 -2
  488. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  489. package/lib/esm/polyface/PolyfaceQuery.d.ts +73 -12
  490. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  491. package/lib/esm/polyface/PolyfaceQuery.js +117 -32
  492. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  493. package/lib/esm/polyface/TaggedNumericData.js +1 -1
  494. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  495. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  496. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  497. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  498. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +11 -0
  499. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  500. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +78 -1
  501. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  502. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  503. package/lib/esm/serialization/GeometrySamples.d.ts +11 -0
  504. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  505. package/lib/esm/serialization/GeometrySamples.js +30 -0
  506. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  507. package/lib/esm/serialization/IModelJsonSchema.d.ts +2 -7
  508. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  509. package/lib/esm/serialization/IModelJsonSchema.js +2 -7
  510. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  511. package/lib/esm/solid/LinearSweep.d.ts +2 -1
  512. package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
  513. package/lib/esm/solid/LinearSweep.js.map +1 -1
  514. package/lib/esm/solid/RotationalSweep.d.ts +2 -1
  515. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
  516. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  517. package/lib/esm/solid/RuledSweep.d.ts +2 -1
  518. package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
  519. package/lib/esm/solid/RuledSweep.js.map +1 -1
  520. package/lib/esm/solid/SweepContour.d.ts +2 -2
  521. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  522. package/lib/esm/solid/SweepContour.js +9 -0
  523. package/lib/esm/solid/SweepContour.js.map +1 -1
  524. package/lib/esm/topology/ChainMerge.js +1 -1
  525. package/lib/esm/topology/ChainMerge.js.map +1 -1
  526. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  527. package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -1
  528. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  529. package/lib/esm/topology/HalfEdgeGraphSpineContext.js +1 -1
  530. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  531. package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  532. package/lib/esm/topology/HalfEdgePriorityQueue.js +1 -1
  533. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  534. package/lib/esm/topology/RegularizeFace.js +3 -3
  535. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  536. package/lib/esm/topology/Triangulation.js +1 -1
  537. package/lib/esm/topology/Triangulation.js.map +1 -1
  538. package/package.json +6 -17
  539. package/lib/cjs/curve/ChainCollectorContext.d.ts.map +0 -1
  540. package/lib/cjs/curve/ChainCollectorContext.js.map +0 -1
  541. package/lib/esm/curve/ChainCollectorContext.d.ts.map +0 -1
  542. package/lib/esm/curve/ChainCollectorContext.js.map +0 -1
@@ -14,20 +14,20 @@ import { CurveChain } from "./CurveCollection";
14
14
  import { VariantCurveExtendParameter } from "./CurveExtendMode";
15
15
  import { CurveLocationDetail } from "./CurveLocationDetail";
16
16
  import { GeometryQuery } from "./GeometryQuery";
17
- import { OffsetOptions } from "./internalContexts/PolygonOffsetContext";
18
17
  import { LineString3d } from "./LineString3d";
18
+ import { OffsetOptions } from "./OffsetOptions";
19
19
  import { StrokeOptions } from "./StrokeOptions";
20
20
  /**
21
- * * Annotation of an interval of a curve.
21
+ * Annotation of an interval of a curve.
22
22
  * * The interval is marked with two pairs of numbers:
23
23
  * * * fraction0, fraction1 = fraction parameters along the child curve
24
24
  * * * distance0,distance1 = distances within containing CurveChainWithDistanceIndex
25
25
  * @public
26
26
  */
27
27
  export declare class PathFragment {
28
- /** distance along parent to this fragment start */
28
+ /** Distance along parent to this fragment start */
29
29
  chainDistance0: number;
30
- /** distance along parent to this fragment end */
30
+ /** Distance along parent to this fragment end */
31
31
  chainDistance1: number;
32
32
  /** Fractional position of this fragment start within its curve primitive. */
33
33
  childFraction0: number;
@@ -35,9 +35,9 @@ export declare class PathFragment {
35
35
  childFraction1: number;
36
36
  /** Curve primitive of this fragment, as presented in stroker. Note that this might have become a proxy. */
37
37
  childCurve: CurvePrimitive;
38
- /** optional range */
38
+ /** Optional range */
39
39
  range?: Range3d;
40
- /** working var for use in searches. */
40
+ /** Working var for use in searches. */
41
41
  a: number;
42
42
  /** Create a fragment with complete fraction, distance and child data. */
43
43
  constructor(childFraction0: number, childFraction1: number, distance0: number, distance1: number, childCurve: CurvePrimitive, range?: Range3d);
@@ -46,25 +46,32 @@ export declare class PathFragment {
46
46
  * @param distance
47
47
  */
48
48
  containsChainDistance(distance: number): boolean;
49
+ /** Return a quick distance to the curve. This may be SMALLER than true distance but may not be larger */
49
50
  quickMinDistanceToChildCurve(spacePoint: Point3d): number;
51
+ /**
52
+ * Return an array with (references to) all the path fragments, sorted smallest to largest on the "a" value
53
+ * equal to the quick min distance to the fragment
54
+ */
50
55
  static collectSortedQuickMinDistances(fragments: PathFragment[], spacePoint: Point3d): PathFragment[];
51
56
  /**
52
57
  * Return true if this fragment addresses `curve` and brackets `fraction`
53
58
  * @param distance
54
59
  */
55
60
  containsChildCurveAndChildFraction(curve: CurvePrimitive, fraction: number): boolean;
56
- /** Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
61
+ /**
62
+ * Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
57
63
  * Note that proportional calculation does NOT account for nonuniform parameterization in the child curve.
58
64
  */
59
65
  chainDistanceToInterpolatedChildFraction(distance: number): number;
60
- /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction
61
- */
66
+ /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction */
62
67
  chainDistanceToAccurateChildFraction(chainDistance: number, allowExtrapolation?: boolean): number;
63
- /** Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
68
+ /**
69
+ * Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
64
70
  * @param globalDistance total length of the global curve.
65
71
  */
66
72
  fractionScaleFactor(globalDistance: number): number;
67
- /** Reverse the fraction and distance data.
73
+ /**
74
+ * Reverse the fraction and distance data.
68
75
  * * each child fraction `f` is replaced by `1-f`
69
76
  * * each `chainDistance` is replaced by `totalDistance-chainDistance`
70
77
  */
@@ -72,7 +79,7 @@ export declare class PathFragment {
72
79
  /** @deprecated in 3.x. Use childFractionToChainDistance */
73
80
  childFractionTChainDistance(fraction: number): number;
74
81
  /**
75
- * convert a fractional position on the childCurve to distance in the chain space.
82
+ * Convert a fractional position on the childCurve to distance in the chain space.
76
83
  * * Return value is SIGNED -- will be negative when fraction < this.childFraction0.
77
84
  * @param fraction fraction along the curve within this fragment
78
85
  */
@@ -81,6 +88,8 @@ export declare class PathFragment {
81
88
  /**
82
89
  * `CurveChainWithDistanceIndex` is a CurvePrimitive whose fractional parameterization is proportional to true
83
90
  * distance along a CurveChain.
91
+ * * For example if the total length of the chain is `L`, then the distance along the chain from parameters `t0`
92
+ * to `t1` is easily computed as `L*(t1-t0)`.
84
93
  * * The curve chain can be any type derived from CurveChain.
85
94
  * * * i.e. either a `Path` or a `Loop`
86
95
  * @public
@@ -99,11 +108,13 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
99
108
  * @param transform transform to apply in the clone.
100
109
  */
101
110
  cloneTransformed(transform: Transform): CurveChainWithDistanceIndex | undefined;
102
- /** Reference to the contained path.
111
+ /**
112
+ * Reference to the contained path.
103
113
  * * Do not modify the path. The distance index will be wrong.
104
114
  */
105
115
  get path(): CurveChain;
106
- /** Reference to the fragments array.
116
+ /**
117
+ * Reference to the fragments array.
107
118
  * * Do not modify.
108
119
  */
109
120
  get fragments(): PathFragment[];
@@ -111,22 +122,24 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
111
122
  clone(): CurveChainWithDistanceIndex;
112
123
  /** Return a deep clone */
113
124
  clonePartialCurve(fractionA: number, fractionB: number): CurveChainWithDistanceIndex | undefined;
114
- /** Ask if the curve is within tolerance of a plane.
125
+ /**
126
+ * Ask if the curve is within tolerance of a plane.
115
127
  * @returns Returns true if the curve is completely within tolerance of the plane.
116
128
  */
117
129
  isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean;
118
- /** return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
130
+ /** Return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
119
131
  startPoint(result?: Point3d): Point3d;
120
132
  /** Return the end point of the primitive. The default implementation returns fractionToPoint(1.0) */
121
133
  endPoint(result?: Point3d): Point3d;
122
134
  /** Add strokes to caller-supplied linestring */
123
135
  emitStrokes(dest: LineString3d, options?: StrokeOptions): void;
124
- /** Ask the curve to announce points and simple subcurve fragments for stroking.
136
+ /**
137
+ * Ask the curve to announce points and simple subcurve fragments for stroking.
125
138
  * See IStrokeHandler for description of the sequence of the method calls.
126
139
  */
127
140
  emitStrokableParts(dest: IStrokeHandler, options?: StrokeOptions): void;
128
141
  /**
129
- * return the stroke count required for given options.
142
+ * Return the stroke count required for given options.
130
143
  * @param options StrokeOptions that determine count
131
144
  */
132
145
  computeStrokeCountForOptions(options?: StrokeOptions): number;
@@ -134,25 +147,25 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
134
147
  * Return an array containing only the curve primitives.
135
148
  * @param collectorArray array to receive primitives (pushed -- the array is not cleared)
136
149
  * @param smallestPossiblePrimitives if true, recurse on the (otherwise hidden) children. If false, only push `this`.
137
- * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
150
+ * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
151
+ * segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
138
152
  */
139
153
  collectCurvePrimitivesGo(collectorArray: CurvePrimitive[], smallestPossiblePrimitives?: boolean, explodeLineStrings?: boolean): void;
140
154
  /**
141
- * construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
155
+ * Construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
142
156
  * @param options StrokeOptions that determine count
143
157
  * @param parentStrokeMap evolving parent map.
144
158
  */
145
159
  computeAndAttachRecursiveStrokeCounts(options?: StrokeOptions, parentStrokeMap?: StrokeCountMap): void;
146
- /** Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
160
+ /**
161
+ * Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
147
162
  * * Note that this exposes the children individually to the handler.
148
163
  */
149
164
  dispatchToGeometryHandler(handler: GeometryHandler): any;
150
- /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed)
151
- */
165
+ /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed) */
152
166
  extendRange(rangeToExtend: Range3d, transform?: Transform): void;
153
167
  /**
154
- *
155
- * * Curve length is always positive.
168
+ * Curve length is always positive.
156
169
  * @returns Returns a (high accuracy) length of the curve between fractional positions
157
170
  * @returns Returns the length of the curve.
158
171
  */
@@ -185,9 +198,7 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
185
198
  * @param fraction
186
199
  */
187
200
  curveAndChildFractionToFragment(curve: CurvePrimitive, fraction: number): PathFragment | undefined;
188
- /**
189
- * Returns the total length of curves.
190
- */
201
+ /** Returns the total length of curves. */
191
202
  curveLength(): number;
192
203
  /**
193
204
  * Returns the total length of the path.
@@ -200,8 +211,8 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
200
211
  * @returns Returns a point on the curve.
201
212
  */
202
213
  fractionToPoint(fraction: number, result?: Point3d): Point3d;
203
- /** Return the point (x,y,z) and derivative on the curve at fractional position.
204
- *
214
+ /**
215
+ * Return the point (x,y,z) and derivative on the curve at fractional position.
205
216
  * * Note that this derivative is "derivative of xyz with respect to fraction."
206
217
  * * this derivative shows the speed of the "fractional point" moving along the curve.
207
218
  * * this is not generally a unit vector. use fractionToPointAndUnitTangent for a unit vector.
@@ -216,14 +227,16 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
216
227
  * Returns a ray whose origin is the curve point and direction is the unit tangent.
217
228
  */
218
229
  fractionToPointAndUnitTangent(fraction: number, result?: Ray3d): Ray3d;
219
- /** Return a plane with
220
- *
230
+ /**
231
+ * Return a plane with
221
232
  * * origin at fractional position along the curve
222
- * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to the fraction.
233
+ * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
234
+ * the fraction.
223
235
  * * vectorV is the second derivative, i.e.derivative of vectorU.
224
236
  */
225
237
  fractionToPointAnd2Derivatives(fraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors | undefined;
226
- /** Attempt to transform in place.
238
+ /**
239
+ * Attempt to transform in place.
227
240
  * * Warning: If any child fails, this object becomes invalid. But that should never happen.
228
241
  */
229
242
  tryTransformInPlace(transform: Transform): boolean;
@@ -236,13 +249,14 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
236
249
  * @param other
237
250
  */
238
251
  isAlmostEqual(other: GeometryQuery): boolean;
239
- /** Implement moveSignedDistanceFromFraction.
252
+ /**
253
+ * Implement moveSignedDistanceFromFraction.
240
254
  * * See `CurvePrimitive` for parameter details.
241
- * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
255
+ * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
256
+ * has pointer to an additional detail for the child curve.
242
257
  */
243
258
  moveSignedDistanceFromFraction(startFraction: number, signedDistance: number, allowExtension: boolean, result?: CurveLocationDetail): CurveLocationDetail;
244
259
  /**
245
- *
246
260
  * The returned object has
247
261
  * * numCalls = number of times closestPoint was called.
248
262
  * * numCurvesTested = number of curves tested with full closestPoint
@@ -261,10 +275,12 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
261
275
  private static _numTested;
262
276
  private static _numAssigned;
263
277
  private static _numCandidate;
264
- /** Search for the curve point that is closest to the spacePoint.
278
+ /**
279
+ * Search for the curve point that is closest to the spacePoint.
265
280
  * * The CurveChainWithDistanceIndex invokes the base class CurvePrimitive method, which
266
281
  * (via a handler) determines a CurveLocation detail among the children.
267
- * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
282
+ * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
283
+ * has pointer to an additional detail for the child curve.
268
284
  * @param spacePoint point in space
269
285
  * @param extend true to extend the curve
270
286
  * @returns Returns a CurveLocationDetail structure that holds the details of the close point.
@@ -272,14 +288,18 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
272
288
  closestPoint(spacePoint: Point3d, extend: VariantCurveExtendParameter): CurveLocationDetail | undefined;
273
289
  /**
274
290
  * Construct an offset of each child as viewed in the xy-plane (ignoring z).
275
- * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully joined offset.
291
+ * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
292
+ * joined offset.
276
293
  * @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object
277
294
  */
278
295
  constructOffsetXY(offsetDistanceOrOptions: number | OffsetOptions): CurvePrimitive | CurvePrimitive[] | undefined;
279
- /** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
296
+ /**
297
+ * Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of
298
+ * projection.
280
299
  * @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
281
300
  * @param lowHigh optional receiver for output
282
- * @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.
301
+ * @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
302
+ * end of the ray.
283
303
  */
284
304
  projectedParameterRange(ray: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined;
285
305
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CurveChainWithDistanceIndex.d.ts","sourceRoot":"","sources":["../../../src/curve/CurveChainWithDistanceIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CurveChainWithDistanceIndex.d.ts","sourceRoot":"","sources":["../../../src/curve/CurveChainWithDistanceIndex.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,10 @@ import { CurveChain } from "./CurveCollection";
14
14
  import { CurveExtendMode, CurveExtendOptions } from "./CurveExtendMode";
15
15
  import { CurveLocationDetail } from "./CurveLocationDetail";
16
16
  import { PlaneAltitudeRangeContext } from "./internalContexts/PlaneAltitudeRangeContext";
17
- import { OffsetOptions } from "./internalContexts/PolygonOffsetContext";
17
+ import { OffsetOptions } from "./OffsetOptions";
18
18
  import { Path } from "./Path";
19
19
  /**
20
- * * Annotation of an interval of a curve.
20
+ * Annotation of an interval of a curve.
21
21
  * * The interval is marked with two pairs of numbers:
22
22
  * * * fraction0, fraction1 = fraction parameters along the child curve
23
23
  * * * distance0,distance1 = distances within containing CurveChainWithDistanceIndex
@@ -41,8 +41,7 @@ export class PathFragment {
41
41
  containsChainDistance(distance) {
42
42
  return distance >= this.chainDistance0 && distance <= this.chainDistance1;
43
43
  }
44
- // Return a quick distance to the curve. This may be SMALLER than true distance but may
45
- // not be larger.
44
+ /** Return a quick distance to the curve. This may be SMALLER than true distance but may not be larger */
46
45
  quickMinDistanceToChildCurve(spacePoint) {
47
46
  if (this.range) {
48
47
  return this.range.distanceToPoint(spacePoint);
@@ -53,8 +52,10 @@ export class PathFragment {
53
52
  return detail.a;
54
53
  return 0;
55
54
  }
56
- // Return an array with (references to) all the path fragments, sorted smallest to largest on
57
- // the "a" value equal to the quick min distance to the fragment
55
+ /**
56
+ * Return an array with (references to) all the path fragments, sorted smallest to largest on the "a" value
57
+ * equal to the quick min distance to the fragment
58
+ */
58
59
  static collectSortedQuickMinDistances(fragments, spacePoint) {
59
60
  const sortedFragments = [];
60
61
  for (const f of fragments) {
@@ -71,26 +72,28 @@ export class PathFragment {
71
72
  containsChildCurveAndChildFraction(curve, fraction) {
72
73
  return this.childCurve === curve && fraction >= this.childFraction0 && fraction <= this.childFraction1;
73
74
  }
74
- /** Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
75
+ /**
76
+ * Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
75
77
  * Note that proportional calculation does NOT account for nonuniform parameterization in the child curve.
76
78
  */
77
79
  chainDistanceToInterpolatedChildFraction(distance) {
78
80
  return Geometry.inverseInterpolate(this.childFraction0, this.chainDistance0, this.childFraction1, this.chainDistance1, distance, this.childFraction0); // the interval "must" have nonzero length, division should be safe . ..
79
81
  }
80
- /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction
81
- */
82
+ /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction */
82
83
  chainDistanceToAccurateChildFraction(chainDistance, allowExtrapolation) {
83
84
  // The fragments are really expected to do good mappings in their distance range ...
84
85
  const childDetail = this.childCurve.moveSignedDistanceFromFraction(this.childFraction0, chainDistance - this.chainDistance0, allowExtrapolation ?? false);
85
86
  return childDetail.fraction;
86
87
  }
87
- /** Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
88
+ /**
89
+ * Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
88
90
  * @param globalDistance total length of the global curve.
89
91
  */
90
92
  fractionScaleFactor(globalDistance) {
91
93
  return globalDistance * (this.childFraction1 - this.childFraction0) / (this.chainDistance1 - this.chainDistance0);
92
94
  }
93
- /** Reverse the fraction and distance data.
95
+ /**
96
+ * Reverse the fraction and distance data.
94
97
  * * each child fraction `f` is replaced by `1-f`
95
98
  * * each `chainDistance` is replaced by `totalDistance-chainDistance`
96
99
  */
@@ -109,7 +112,7 @@ export class PathFragment {
109
112
  return this.childFractionToChainDistance(fraction);
110
113
  }
111
114
  /**
112
- * convert a fractional position on the childCurve to distance in the chain space.
115
+ * Convert a fractional position on the childCurve to distance in the chain space.
113
116
  * * Return value is SIGNED -- will be negative when fraction < this.childFraction0.
114
117
  * @param fraction fraction along the curve within this fragment
115
118
  */
@@ -131,7 +134,6 @@ class DistanceIndexConstructionContext {
131
134
  startCurvePrimitive(_cp) { }
132
135
  endParentCurvePrimitive(_cp) { }
133
136
  endCurvePrimitive(_cp) { }
134
- // um .. we need to see curves? how to reject?
135
137
  announcePointTangent(_xyz, _fraction, _tangent) { }
136
138
  /** Announce numPoints interpolated between point0 and point1, with associated fractions */
137
139
  announceSegmentInterval(cp, point0, point1, numStrokes, fraction0, fraction1) {
@@ -178,13 +180,17 @@ class DistanceIndexConstructionContext {
178
180
  /**
179
181
  * `CurveChainWithDistanceIndex` is a CurvePrimitive whose fractional parameterization is proportional to true
180
182
  * distance along a CurveChain.
183
+ * * For example if the total length of the chain is `L`, then the distance along the chain from parameters `t0`
184
+ * to `t1` is easily computed as `L*(t1-t0)`.
181
185
  * * The curve chain can be any type derived from CurveChain.
182
186
  * * * i.e. either a `Path` or a `Loop`
183
187
  * @public
184
188
  */
185
189
  class CurveChainWithDistanceIndex extends CurvePrimitive {
186
190
  /** Test if other is a `CurveChainWithDistanceIndex` */
187
- isSameGeometryClass(other) { return other instanceof CurveChainWithDistanceIndex; }
191
+ isSameGeometryClass(other) {
192
+ return other instanceof CurveChainWithDistanceIndex;
193
+ }
188
194
  // final assembly of CurveChainWithDistanceIndex -- caller must create valid fragment index.
189
195
  constructor(path, fragments) {
190
196
  super();
@@ -204,14 +210,20 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
204
210
  return CurveChainWithDistanceIndex.createCapture(c);
205
211
  return undefined;
206
212
  }
207
- /** Reference to the contained path.
213
+ /**
214
+ * Reference to the contained path.
208
215
  * * Do not modify the path. The distance index will be wrong.
209
216
  */
210
- get path() { return this._path; }
211
- /** Reference to the fragments array.
217
+ get path() {
218
+ return this._path;
219
+ }
220
+ /**
221
+ * Reference to the fragments array.
212
222
  * * Do not modify.
213
223
  */
214
- get fragments() { return this._fragments; }
224
+ get fragments() {
225
+ return this._fragments;
226
+ }
215
227
  /** Return a deep clone */
216
228
  clone() {
217
229
  const c = this._path.clone();
@@ -283,7 +295,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
283
295
  newPath.children.reverse();
284
296
  return CurveChainWithDistanceIndex.createCapture(newPath);
285
297
  }
286
- /** Ask if the curve is within tolerance of a plane.
298
+ /**
299
+ * Ask if the curve is within tolerance of a plane.
287
300
  * @returns Returns true if the curve is completely within tolerance of the plane.
288
301
  */
289
302
  isInPlane(plane) {
@@ -293,7 +306,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
293
306
  }
294
307
  return true;
295
308
  }
296
- /** return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
309
+ /** Return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
297
310
  startPoint(result) {
298
311
  const c = this._path.cyclicCurvePrimitive(0);
299
312
  if (c)
@@ -313,7 +326,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
313
326
  c.emitStrokes(dest, options);
314
327
  }
315
328
  }
316
- /** Ask the curve to announce points and simple subcurve fragments for stroking.
329
+ /**
330
+ * Ask the curve to announce points and simple subcurve fragments for stroking.
317
331
  * See IStrokeHandler for description of the sequence of the method calls.
318
332
  */
319
333
  emitStrokableParts(dest, options) {
@@ -322,7 +336,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
322
336
  }
323
337
  }
324
338
  /**
325
- * return the stroke count required for given options.
339
+ * Return the stroke count required for given options.
326
340
  * @param options StrokeOptions that determine count
327
341
  */
328
342
  computeStrokeCountForOptions(options) {
@@ -336,7 +350,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
336
350
  * Return an array containing only the curve primitives.
337
351
  * @param collectorArray array to receive primitives (pushed -- the array is not cleared)
338
352
  * @param smallestPossiblePrimitives if true, recurse on the (otherwise hidden) children. If false, only push `this`.
339
- * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
353
+ * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
354
+ * segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
340
355
  */
341
356
  collectCurvePrimitivesGo(collectorArray, smallestPossiblePrimitives = false, explodeLineStrings = false) {
342
357
  if (smallestPossiblePrimitives) {
@@ -349,7 +364,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
349
364
  }
350
365
  }
351
366
  /**
352
- * construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
367
+ * Construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
353
368
  * @param options StrokeOptions that determine count
354
369
  * @param parentStrokeMap evolving parent map.
355
370
  */
@@ -360,20 +375,19 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
360
375
  }
361
376
  CurvePrimitive.installStrokeCountMap(this, myMap, parentStrokeMap);
362
377
  }
363
- /** Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
378
+ /**
379
+ * Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
364
380
  * * Note that this exposes the children individually to the handler.
365
381
  */
366
382
  dispatchToGeometryHandler(handler) {
367
383
  return this._path.dispatchToGeometryHandler(handler);
368
384
  }
369
- /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed)
370
- */
385
+ /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed) */
371
386
  extendRange(rangeToExtend, transform) {
372
387
  this._path.extendRange(rangeToExtend, transform);
373
388
  }
374
389
  /**
375
- *
376
- * * Curve length is always positive.
390
+ * Curve length is always positive.
377
391
  * @returns Returns a (high accuracy) length of the curve between fractional positions
378
392
  * @returns Returns the length of the curve.
379
393
  */
@@ -425,7 +439,9 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
425
439
  * Convert distance along the chain to fraction along the chain.
426
440
  * @param distance distance along the chain
427
441
  */
428
- chainDistanceToChainFraction(distance) { return distance / this._totalLength; }
442
+ chainDistanceToChainFraction(distance) {
443
+ return distance / this._totalLength;
444
+ }
429
445
  /**
430
446
  * Resolve a fraction within a specific curve to a fragment.
431
447
  * @param curve
@@ -447,9 +463,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
447
463
  }
448
464
  return undefined;
449
465
  }
450
- /**
451
- * Returns the total length of curves.
452
- */
466
+ /** Returns the total length of curves. */
453
467
  curveLength() {
454
468
  return this._totalLength;
455
469
  }
@@ -476,8 +490,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
476
490
  // fragment = this.chainDistanceToFragment(chainDistance, true);
477
491
  return this._fragments[0].childCurve.fractionToPoint(0.0, result);
478
492
  }
479
- /** Return the point (x,y,z) and derivative on the curve at fractional position.
480
- *
493
+ /**
494
+ * Return the point (x,y,z) and derivative on the curve at fractional position.
481
495
  * * Note that this derivative is "derivative of xyz with respect to fraction."
482
496
  * * this derivative shows the speed of the "fractional point" moving along the curve.
483
497
  * * this is not generally a unit vector. use fractionToPointAndUnitTangent for a unit vector.
@@ -511,10 +525,11 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
511
525
  result.direction.normalizeInPlace();
512
526
  return result;
513
527
  }
514
- /** Return a plane with
515
- *
528
+ /**
529
+ * Return a plane with
516
530
  * * origin at fractional position along the curve
517
- * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to the fraction.
531
+ * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
532
+ * the fraction.
518
533
  * * vectorV is the second derivative, i.e.derivative of vectorU.
519
534
  */
520
535
  fractionToPointAnd2Derivatives(fraction, result) {
@@ -540,7 +555,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
540
555
  result.vectorV.scaleInPlace(scale * scale);
541
556
  return result;
542
557
  }
543
- /** Attempt to transform in place.
558
+ /**
559
+ * Attempt to transform in place.
544
560
  * * Warning: If any child fails, this object becomes invalid. But that should never happen.
545
561
  */
546
562
  tryTransformInPlace(transform) {
@@ -573,9 +589,11 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
573
589
  }
574
590
  return false;
575
591
  }
576
- /** Implement moveSignedDistanceFromFraction.
592
+ /**
593
+ * Implement moveSignedDistanceFromFraction.
577
594
  * * See `CurvePrimitive` for parameter details.
578
- * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
595
+ * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
596
+ * has pointer to an additional detail for the child curve.
579
597
  */
580
598
  moveSignedDistanceFromFraction(startFraction, signedDistance, allowExtension, result) {
581
599
  const distanceA = startFraction * this._totalLength;
@@ -588,7 +606,6 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
588
606
  return chainDetail;
589
607
  }
590
608
  /**
591
- *
592
609
  * The returned object has
593
610
  * * numCalls = number of times closestPoint was called.
594
611
  * * numCurvesTested = number of curves tested with full closestPoint
@@ -609,10 +626,12 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
609
626
  }
610
627
  return a;
611
628
  }
612
- /** Search for the curve point that is closest to the spacePoint.
629
+ /**
630
+ * Search for the curve point that is closest to the spacePoint.
613
631
  * * The CurveChainWithDistanceIndex invokes the base class CurvePrimitive method, which
614
632
  * (via a handler) determines a CurveLocation detail among the children.
615
- * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
633
+ * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
634
+ * has pointer to an additional detail for the child curve.
616
635
  * @param spacePoint point in space
617
636
  * @param extend true to extend the curve
618
637
  * @returns Returns a CurveLocationDetail structure that holds the details of the close point.
@@ -661,7 +680,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
661
680
  }
662
681
  /**
663
682
  * Construct an offset of each child as viewed in the xy-plane (ignoring z).
664
- * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully joined offset.
683
+ * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
684
+ * joined offset.
665
685
  * @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object
666
686
  */
667
687
  constructOffsetXY(offsetDistanceOrOptions) {
@@ -678,10 +698,13 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
678
698
  }
679
699
  return offsets;
680
700
  }
681
- /** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
701
+ /**
702
+ * Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of
703
+ * projection.
682
704
  * @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
683
705
  * @param lowHigh optional receiver for output
684
- * @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.
706
+ * @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
707
+ * end of the ray.
685
708
  */
686
709
  projectedParameterRange(ray, lowHigh) {
687
710
  return PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);