@itwin/core-geometry 3.5.0-dev.7 → 3.5.0

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 (334) hide show
  1. package/CHANGELOG.md +78 -1
  2. package/lib/cjs/Geometry.d.ts +21 -5
  3. package/lib/cjs/Geometry.d.ts.map +1 -1
  4. package/lib/cjs/Geometry.js +17 -8
  5. package/lib/cjs/Geometry.js.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve.d.ts +11 -5
  7. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  8. package/lib/cjs/bspline/BSplineCurve.js +47 -18
  9. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  10. package/lib/cjs/bspline/BezierCurveBase.d.ts +10 -3
  11. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
  12. package/lib/cjs/bspline/BezierCurveBase.js +12 -4
  13. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  14. package/lib/cjs/bspline/InterpolationCurve3d.d.ts.map +1 -1
  15. package/lib/cjs/bspline/InterpolationCurve3d.js +4 -1
  16. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  17. package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
  18. package/lib/cjs/bspline/KnotVector.js +3 -0
  19. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  20. package/lib/cjs/curve/Arc3d.d.ts +8 -2
  21. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  22. package/lib/cjs/curve/Arc3d.js +15 -3
  23. package/lib/cjs/curve/Arc3d.js.map +1 -1
  24. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +15 -7
  25. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  26. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +46 -29
  27. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  28. package/lib/cjs/curve/CurveCollection.d.ts +13 -4
  29. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  30. package/lib/cjs/curve/CurveCollection.js +23 -2
  31. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  32. package/lib/cjs/curve/CurveCurveIntersectXY.js +1 -1
  33. package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
  34. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts +4 -3
  35. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  36. package/lib/cjs/curve/CurveCurveIntersectXYZ.js +8 -6
  37. package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -1
  38. package/lib/cjs/curve/CurvePrimitive.d.ts +20 -18
  39. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  40. package/lib/cjs/curve/CurvePrimitive.js +58 -339
  41. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  42. package/lib/cjs/curve/LineSegment3d.d.ts +8 -2
  43. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  44. package/lib/cjs/curve/LineSegment3d.js +9 -0
  45. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  46. package/lib/cjs/curve/LineString3d.d.ts +18 -2
  47. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  48. package/lib/cjs/curve/LineString3d.js +39 -23
  49. package/lib/cjs/curve/LineString3d.js.map +1 -1
  50. package/lib/cjs/curve/ProxyCurve.d.ts +9 -7
  51. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
  52. package/lib/cjs/curve/ProxyCurve.js +4 -0
  53. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  54. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts +2 -1
  55. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  56. package/lib/cjs/curve/Query/PlanarSubdivision.js +5 -4
  57. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  58. package/lib/cjs/curve/RegionOps.d.ts +5 -0
  59. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  60. package/lib/cjs/curve/RegionOps.js +17 -3
  61. package/lib/cjs/curve/RegionOps.js.map +1 -1
  62. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts +9 -6
  63. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  64. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +55 -47
  65. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  66. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.d.ts +55 -0
  67. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.d.ts.map +1 -0
  68. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js +143 -0
  69. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -0
  70. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts +43 -0
  71. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -0
  72. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js +146 -0
  73. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -0
  74. package/lib/cjs/curve/internalContexts/CurveLengthContext.d.ts +33 -0
  75. package/lib/cjs/curve/internalContexts/CurveLengthContext.d.ts.map +1 -0
  76. package/lib/cjs/curve/internalContexts/CurveLengthContext.js +91 -0
  77. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -0
  78. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts +21 -0
  79. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts.map +1 -0
  80. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js +34 -0
  81. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -0
  82. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +31 -8
  83. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  84. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +77 -12
  85. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  86. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +2 -2
  87. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
  88. package/lib/cjs/curve/spiral/DirectSpiral3d.js +15 -8
  89. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  90. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +12 -7
  91. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  92. package/lib/cjs/curve/spiral/TransitionSpiral3d.js +12 -3
  93. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  94. package/lib/cjs/geometry3d/Angle.d.ts +20 -10
  95. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  96. package/lib/cjs/geometry3d/Angle.js +30 -15
  97. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  98. package/lib/cjs/geometry3d/Matrix3d.d.ts +25 -8
  99. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  100. package/lib/cjs/geometry3d/Matrix3d.js +67 -15
  101. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  102. package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts +1 -0
  103. package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
  104. package/lib/cjs/geometry3d/Point2dArrayCarrier.js +2 -1
  105. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  106. package/lib/cjs/geometry3d/Point2dVector2d.d.ts +86 -25
  107. package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -1
  108. package/lib/cjs/geometry3d/Point2dVector2d.js +230 -81
  109. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  110. package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts +14 -4
  111. package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
  112. package/lib/cjs/geometry3d/Point3dArrayCarrier.js +15 -5
  113. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  114. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +121 -67
  115. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  116. package/lib/cjs/geometry3d/Point3dVector3d.js +318 -137
  117. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  118. package/lib/cjs/geometry3d/Range.d.ts +1 -2
  119. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  120. package/lib/cjs/geometry3d/Range.js +1 -2
  121. package/lib/cjs/geometry3d/Range.js.map +1 -1
  122. package/lib/cjs/geometry3d/Ray3d.d.ts +5 -5
  123. package/lib/cjs/geometry3d/Ray3d.js +5 -5
  124. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  125. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  126. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  127. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  128. package/lib/cjs/numerics/Polynomials.js +0 -1
  129. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  130. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts +4 -4
  131. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  132. package/lib/cjs/polyface/IndexedEdgeMatcher.js +3 -3
  133. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  134. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  135. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  136. package/lib/cjs/polyface/Polyface.d.ts +7 -2
  137. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  138. package/lib/cjs/polyface/Polyface.js +8 -1
  139. package/lib/cjs/polyface/Polyface.js.map +1 -1
  140. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  141. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  142. package/lib/cjs/polyface/PolyfaceQuery.d.ts +36 -8
  143. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  144. package/lib/cjs/polyface/PolyfaceQuery.js +112 -31
  145. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  146. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  147. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  148. package/lib/cjs/serialization/IModelJsonSchema.d.ts +1 -1
  149. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  150. package/lib/cjs/serialization/IModelJsonSchema.js +4 -3
  151. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  152. package/lib/cjs/solid/Sphere.d.ts +1 -1
  153. package/lib/cjs/solid/Sphere.js +3 -3
  154. package/lib/cjs/solid/Sphere.js.map +1 -1
  155. package/lib/cjs/solid/TorusPipe.d.ts +17 -13
  156. package/lib/cjs/solid/TorusPipe.d.ts.map +1 -1
  157. package/lib/cjs/solid/TorusPipe.js +67 -38
  158. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  159. package/lib/cjs/topology/Graph.d.ts +1 -1
  160. package/lib/cjs/topology/Graph.js +1 -1
  161. package/lib/cjs/topology/Graph.js.map +1 -1
  162. package/lib/cjs/topology/Merging.d.ts.map +1 -1
  163. package/lib/cjs/topology/Merging.js +9 -1
  164. package/lib/cjs/topology/Merging.js.map +1 -1
  165. package/lib/cjs/topology/Triangulation.d.ts +1 -1
  166. package/lib/cjs/topology/Triangulation.js +1 -1
  167. package/lib/cjs/topology/Triangulation.js.map +1 -1
  168. package/lib/esm/Geometry.d.ts +21 -5
  169. package/lib/esm/Geometry.d.ts.map +1 -1
  170. package/lib/esm/Geometry.js +17 -8
  171. package/lib/esm/Geometry.js.map +1 -1
  172. package/lib/esm/bspline/BSplineCurve.d.ts +11 -5
  173. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  174. package/lib/esm/bspline/BSplineCurve.js +47 -18
  175. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  176. package/lib/esm/bspline/BezierCurveBase.d.ts +10 -3
  177. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  178. package/lib/esm/bspline/BezierCurveBase.js +12 -4
  179. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  180. package/lib/esm/bspline/InterpolationCurve3d.d.ts.map +1 -1
  181. package/lib/esm/bspline/InterpolationCurve3d.js +4 -1
  182. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  183. package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
  184. package/lib/esm/bspline/KnotVector.js +3 -0
  185. package/lib/esm/bspline/KnotVector.js.map +1 -1
  186. package/lib/esm/curve/Arc3d.d.ts +8 -2
  187. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  188. package/lib/esm/curve/Arc3d.js +15 -3
  189. package/lib/esm/curve/Arc3d.js.map +1 -1
  190. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +15 -7
  191. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  192. package/lib/esm/curve/CurveChainWithDistanceIndex.js +46 -29
  193. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  194. package/lib/esm/curve/CurveCollection.d.ts +13 -4
  195. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  196. package/lib/esm/curve/CurveCollection.js +23 -2
  197. package/lib/esm/curve/CurveCollection.js.map +1 -1
  198. package/lib/esm/curve/CurveCurveIntersectXY.js +1 -1
  199. package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
  200. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +4 -3
  201. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  202. package/lib/esm/curve/CurveCurveIntersectXYZ.js +8 -6
  203. package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -1
  204. package/lib/esm/curve/CurvePrimitive.d.ts +20 -18
  205. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  206. package/lib/esm/curve/CurvePrimitive.js +52 -333
  207. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  208. package/lib/esm/curve/LineSegment3d.d.ts +8 -2
  209. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  210. package/lib/esm/curve/LineSegment3d.js +9 -0
  211. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  212. package/lib/esm/curve/LineString3d.d.ts +18 -2
  213. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  214. package/lib/esm/curve/LineString3d.js +39 -23
  215. package/lib/esm/curve/LineString3d.js.map +1 -1
  216. package/lib/esm/curve/ProxyCurve.d.ts +9 -7
  217. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
  218. package/lib/esm/curve/ProxyCurve.js +4 -0
  219. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  220. package/lib/esm/curve/Query/PlanarSubdivision.d.ts +2 -1
  221. package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  222. package/lib/esm/curve/Query/PlanarSubdivision.js +5 -4
  223. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  224. package/lib/esm/curve/RegionOps.d.ts +5 -0
  225. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  226. package/lib/esm/curve/RegionOps.js +17 -3
  227. package/lib/esm/curve/RegionOps.js.map +1 -1
  228. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +9 -6
  229. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  230. package/lib/esm/curve/RegionOpsClassificationSweeps.js +56 -48
  231. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  232. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.d.ts +55 -0
  233. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.d.ts.map +1 -0
  234. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js +139 -0
  235. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -0
  236. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts +43 -0
  237. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -0
  238. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js +142 -0
  239. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -0
  240. package/lib/esm/curve/internalContexts/CurveLengthContext.d.ts +33 -0
  241. package/lib/esm/curve/internalContexts/CurveLengthContext.d.ts.map +1 -0
  242. package/lib/esm/curve/internalContexts/CurveLengthContext.js +87 -0
  243. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -0
  244. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts +21 -0
  245. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts.map +1 -0
  246. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js +30 -0
  247. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -0
  248. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +31 -8
  249. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  250. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +77 -12
  251. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  252. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +2 -2
  253. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
  254. package/lib/esm/curve/spiral/DirectSpiral3d.js +15 -8
  255. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  256. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +12 -7
  257. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  258. package/lib/esm/curve/spiral/TransitionSpiral3d.js +12 -3
  259. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  260. package/lib/esm/geometry3d/Angle.d.ts +20 -10
  261. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  262. package/lib/esm/geometry3d/Angle.js +30 -15
  263. package/lib/esm/geometry3d/Angle.js.map +1 -1
  264. package/lib/esm/geometry3d/Matrix3d.d.ts +25 -8
  265. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  266. package/lib/esm/geometry3d/Matrix3d.js +67 -15
  267. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  268. package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts +1 -0
  269. package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
  270. package/lib/esm/geometry3d/Point2dArrayCarrier.js +2 -1
  271. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  272. package/lib/esm/geometry3d/Point2dVector2d.d.ts +86 -25
  273. package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -1
  274. package/lib/esm/geometry3d/Point2dVector2d.js +230 -81
  275. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  276. package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +14 -4
  277. package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
  278. package/lib/esm/geometry3d/Point3dArrayCarrier.js +15 -5
  279. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  280. package/lib/esm/geometry3d/Point3dVector3d.d.ts +121 -67
  281. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  282. package/lib/esm/geometry3d/Point3dVector3d.js +318 -137
  283. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  284. package/lib/esm/geometry3d/Range.d.ts +1 -2
  285. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  286. package/lib/esm/geometry3d/Range.js +1 -2
  287. package/lib/esm/geometry3d/Range.js.map +1 -1
  288. package/lib/esm/geometry3d/Ray3d.d.ts +5 -5
  289. package/lib/esm/geometry3d/Ray3d.js +5 -5
  290. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  291. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  292. package/lib/esm/geometry3d/Transform.js.map +1 -1
  293. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  294. package/lib/esm/numerics/Polynomials.js +0 -1
  295. package/lib/esm/numerics/Polynomials.js.map +1 -1
  296. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +4 -4
  297. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  298. package/lib/esm/polyface/IndexedEdgeMatcher.js +3 -3
  299. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  300. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  301. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  302. package/lib/esm/polyface/Polyface.d.ts +7 -2
  303. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  304. package/lib/esm/polyface/Polyface.js +8 -1
  305. package/lib/esm/polyface/Polyface.js.map +1 -1
  306. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  307. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  308. package/lib/esm/polyface/PolyfaceQuery.d.ts +36 -8
  309. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  310. package/lib/esm/polyface/PolyfaceQuery.js +113 -32
  311. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  312. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  313. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  314. package/lib/esm/serialization/IModelJsonSchema.d.ts +1 -1
  315. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  316. package/lib/esm/serialization/IModelJsonSchema.js +4 -3
  317. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  318. package/lib/esm/solid/Sphere.d.ts +1 -1
  319. package/lib/esm/solid/Sphere.js +3 -3
  320. package/lib/esm/solid/Sphere.js.map +1 -1
  321. package/lib/esm/solid/TorusPipe.d.ts +17 -13
  322. package/lib/esm/solid/TorusPipe.d.ts.map +1 -1
  323. package/lib/esm/solid/TorusPipe.js +67 -38
  324. package/lib/esm/solid/TorusPipe.js.map +1 -1
  325. package/lib/esm/topology/Graph.d.ts +1 -1
  326. package/lib/esm/topology/Graph.js +1 -1
  327. package/lib/esm/topology/Graph.js.map +1 -1
  328. package/lib/esm/topology/Merging.d.ts.map +1 -1
  329. package/lib/esm/topology/Merging.js +9 -1
  330. package/lib/esm/topology/Merging.js.map +1 -1
  331. package/lib/esm/topology/Triangulation.d.ts +1 -1
  332. package/lib/esm/topology/Triangulation.js +1 -1
  333. package/lib/esm/topology/Triangulation.js.map +1 -1
  334. package/package.json +5 -5
@@ -20,6 +20,7 @@ export declare class Point2dArrayCarrier extends IndexedXYCollection {
20
20
  isValidIndex(index: number): boolean;
21
21
  /**
22
22
  * Access by index, returning strongly typed Point2d
23
+ * * This returns the xy value but NOT reference to the point in the "carried" array.
23
24
  * @param index index of point within the array
24
25
  * @param result caller-allocated destination
25
26
  * @returns undefined if the index is out of bounds
@@ -1 +1 @@
1
- {"version":3,"file":"Point2dArrayCarrier.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Point2dArrayCarrier.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAM,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;EAME;AACF,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,wCAAwC;IACjC,IAAI,EAAE,OAAO,EAAE,CAAC;IACvB,wCAAwC;gBACrB,IAAI,EAAE,OAAO,EAAE;IAIlC,8BAA8B;IACvB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAG3C;;;;;OAKG;IACI,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAO1F;;;;;OAKG;IACI,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAO9F;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAKhG;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAM/F;;;;;;;OAOG;IACI,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKrG;;;;;;;KAOC;IACM,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3G;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;CACF"}
1
+ {"version":3,"file":"Point2dArrayCarrier.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Point2dArrayCarrier.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAM,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;EAME;AACF,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,wCAAwC;IACjC,IAAI,EAAE,OAAO,EAAE,CAAC;IACvB,wCAAwC;gBACrB,IAAI,EAAE,OAAO,EAAE;IAIlC,8BAA8B;IACvB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAG3C;;;;;;OAMG;IACI,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAO1F;;;;;OAKG;IACI,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAO9F;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAKhG;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAM/F;;;;;;;OAOG;IACI,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKrG;;;;;;;KAOC;IACM,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3G;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;CACF"}
@@ -8,8 +8,8 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.Point2dArrayCarrier = void 0;
11
- const IndexedXYCollection_1 = require("./IndexedXYCollection");
12
11
  /* eslint-disable @typescript-eslint/naming-convention, no-empty */
12
+ const IndexedXYCollection_1 = require("./IndexedXYCollection");
13
13
  const Point2dVector2d_1 = require("./Point2dVector2d");
14
14
  /**
15
15
  * Helper object to access members of a Point2d[] in geometric calculations.
@@ -30,6 +30,7 @@ class Point2dArrayCarrier extends IndexedXYCollection_1.IndexedXYCollection {
30
30
  }
31
31
  /**
32
32
  * Access by index, returning strongly typed Point2d
33
+ * * This returns the xy value but NOT reference to the point in the "carried" array.
33
34
  * @param index index of point within the array
34
35
  * @param result caller-allocated destination
35
36
  * @returns undefined if the index is out of bounds
@@ -1 +1 @@
1
- {"version":3,"file":"Point2dArrayCarrier.js","sourceRoot":"","sources":["../../../src/geometry3d/Point2dArrayCarrier.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\n\r\nimport { IndexedXYCollection } from \"./IndexedXYCollection\";\r\n/* eslint-disable @typescript-eslint/naming-convention, no-empty */\r\nimport { Point2d, Vector2d, XY } from \"./Point2dVector2d\";\r\nimport { XAndY } from \"./XYZProps\";\r\n\r\n/**\r\n * Helper object to access members of a Point2d[] in geometric calculations.\r\n * * The collection holds only a reference to the actual array.\r\n * * The actual array may be replaced by the user as needed.\r\n * * When replaced, there is no cached data to be updated.\r\n * @public\r\n*/\r\nexport class Point2dArrayCarrier extends IndexedXYCollection {\r\n /** reference to array being queried. */\r\n public data: Point2d[];\r\n /** CAPTURE caller supplied array ... */\r\n public constructor(data: Point2d[]) {\r\n super();\r\n this.data = data;\r\n }\r\n /** test if index is valid */\r\n public isValidIndex(index: number): boolean {\r\n return index >= 0 && index < this.data.length;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Point2d\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getPoint2dAtCheckedPointIndex(index: number, result?: Point2d): Point2d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Point2d.create(source.x, source.y, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Vector2d\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getVector2dAtCheckedVectorIndex(index: number, result?: Vector2d): Vector2d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Vector2d.create(source.x, source.y, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Return a vector from the point at indexA to the point at indexB\r\n * @param indexA index of point within the array\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public vectorIndexIndex(indexA: number, indexB: number, result?: Vector2d): Vector2d | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector2d.createStartEnd(this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return a vector from given origin to point at indexB\r\n * @param origin origin for vector\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if index is out of bounds\r\n */\r\n public vectorXAndYIndex(origin: XAndY, indexB: number, result?: Vector2d): Vector2d | undefined {\r\n if (this.isValidIndex(indexB))\r\n return Vector2d.createStartEnd(origin, this.data[indexB], result);\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Return the cross product of vectors from origin to points at indexA and indexB\r\n * @param origin origin for vector\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public crossProductXAndYIndexIndex(origin: XAndY, indexA: number, indexB: number): number | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return XY.crossProductToPoints(origin, this.data[indexA], this.data[indexB]);\r\n return undefined;\r\n }\r\n /**\r\n * Return the cross product of vectors from point at originIndex to points at indexA and indexB\r\n * @param originIndex index of origin\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns return true if indexA, indexB both valid\r\n */\r\n public crossProductIndexIndexIndex(originIndex: number, indexA: number, indexB: number): number | undefined {\r\n if (this.isValidIndex(originIndex) && this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return XY.crossProductToPoints(this.data[originIndex], this.data[indexA], this.data[indexB]);\r\n return undefined;\r\n }\r\n /**\r\n * read-only property for number of XYZ in the collection.\r\n */\r\n public get length(): number {\r\n return this.data.length;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Point2dArrayCarrier.js","sourceRoot":"","sources":["../../../src/geometry3d/Point2dArrayCarrier.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention, no-empty */\r\nimport { IndexedXYCollection } from \"./IndexedXYCollection\";\r\nimport { Point2d, Vector2d, XY } from \"./Point2dVector2d\";\r\nimport { XAndY } from \"./XYZProps\";\r\n\r\n/**\r\n * Helper object to access members of a Point2d[] in geometric calculations.\r\n * * The collection holds only a reference to the actual array.\r\n * * The actual array may be replaced by the user as needed.\r\n * * When replaced, there is no cached data to be updated.\r\n * @public\r\n*/\r\nexport class Point2dArrayCarrier extends IndexedXYCollection {\r\n /** reference to array being queried. */\r\n public data: Point2d[];\r\n /** CAPTURE caller supplied array ... */\r\n public constructor(data: Point2d[]) {\r\n super();\r\n this.data = data;\r\n }\r\n /** test if index is valid */\r\n public isValidIndex(index: number): boolean {\r\n return index >= 0 && index < this.data.length;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Point2d\r\n * * This returns the xy value but NOT reference to the point in the \"carried\" array.\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getPoint2dAtCheckedPointIndex(index: number, result?: Point2d): Point2d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Point2d.create(source.x, source.y, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Vector2d\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getVector2dAtCheckedVectorIndex(index: number, result?: Vector2d): Vector2d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Vector2d.create(source.x, source.y, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Return a vector from the point at indexA to the point at indexB\r\n * @param indexA index of point within the array\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public vectorIndexIndex(indexA: number, indexB: number, result?: Vector2d): Vector2d | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector2d.createStartEnd(this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return a vector from given origin to point at indexB\r\n * @param origin origin for vector\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if index is out of bounds\r\n */\r\n public vectorXAndYIndex(origin: XAndY, indexB: number, result?: Vector2d): Vector2d | undefined {\r\n if (this.isValidIndex(indexB))\r\n return Vector2d.createStartEnd(origin, this.data[indexB], result);\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Return the cross product of vectors from origin to points at indexA and indexB\r\n * @param origin origin for vector\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public crossProductXAndYIndexIndex(origin: XAndY, indexA: number, indexB: number): number | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return XY.crossProductToPoints(origin, this.data[indexA], this.data[indexB]);\r\n return undefined;\r\n }\r\n /**\r\n * Return the cross product of vectors from point at originIndex to points at indexA and indexB\r\n * @param originIndex index of origin\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns return true if indexA, indexB both valid\r\n */\r\n public crossProductIndexIndexIndex(originIndex: number, indexA: number, indexB: number): number | undefined {\r\n if (this.isValidIndex(originIndex) && this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return XY.crossProductToPoints(this.data[originIndex], this.data[indexA], this.data[indexB]);\r\n return undefined;\r\n }\r\n /**\r\n * read-only property for number of XYZ in the collection.\r\n */\r\n public get length(): number {\r\n return this.data.length;\r\n }\r\n}\r\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module CartesianGeometry
3
3
  */
4
- import { BeJSONFunctions } from "../Geometry";
4
+ import { BeJSONFunctions, PerpParallelOptions } from "../Geometry";
5
5
  import { Angle } from "./Angle";
6
6
  import { XAndY, XYProps } from "./XYZProps";
7
7
  /** Minimal object containing x,y and operations that are meaningful without change in both point and vector.
@@ -33,7 +33,11 @@ export declare class XY implements XAndY {
33
33
  toJSON(): XYProps;
34
34
  /** return a json object `{x: 1, y:2}` */
35
35
  toJSONXY(): XYProps;
36
- /** Set x and y from a JSON source such as `[1,2]` or `{x:1, y:2}` */
36
+ /**
37
+ * Set x and y from a JSON input such as `[1,2]` or `{x:1, y:2}`
38
+ * * If no JSON input is provided, 0 would be used as default values for x and y.
39
+ * @param json the JSON input
40
+ * */
37
41
  setFromJSON(json?: XYProps): void;
38
42
  /** Return the distance from this point to other */
39
43
  distance(other: XAndY): number;
@@ -41,6 +45,16 @@ export declare class XY implements XAndY {
41
45
  distanceSquared(other: XAndY): number;
42
46
  /** Return the largest absolute distance between corresponding components */
43
47
  maxDiff(other: XAndY): number;
48
+ /**
49
+ * Return the x,y component corresponding to 0,1.
50
+ */
51
+ at(index: number): number;
52
+ /**
53
+ * Set value at index 0 or 1.
54
+ */
55
+ setAt(index: number, value: number): void;
56
+ /** Return the index (0,1) of the x,y component with largest absolute value */
57
+ indexOfMaxAbs(): number;
44
58
  /** returns true if the x,y components are both small by metric metric tolerance */
45
59
  get isAlmostZero(): boolean;
46
60
  /** Return the largest absolute value of any component */
@@ -52,11 +66,11 @@ export declare class XY implements XAndY {
52
66
  /** returns true if the x,y components are exactly equal. */
53
67
  isExactEqual(other: XAndY): boolean;
54
68
  /** returns true if x,y match `other` within metric tolerance */
55
- isAlmostEqualMetric(other: XAndY): boolean;
69
+ isAlmostEqualMetric(other: XAndY, distanceTol?: number): boolean;
56
70
  /** Return a (full length) vector from this point to other */
57
71
  vectorTo(other: XAndY, result?: Vector2d): Vector2d;
58
72
  /** Return a unit vector from this point to other */
59
- unitVectorTo(target: XAndY, result?: Vector2d): Vector2d | undefined;
73
+ unitVectorTo(other: XAndY, result?: Vector2d): Vector2d | undefined;
60
74
  /** cross product of vectors from origin to targets */
61
75
  static crossProductToPoints(origin: XAndY, targetA: XAndY, targetB: XAndY): number;
62
76
  }
@@ -75,20 +89,25 @@ export declare class Point2d extends XY implements BeJSONFunctions {
75
89
  * @param result optional result
76
90
  */
77
91
  static create(x?: number, y?: number, result?: Point2d): Point2d;
78
- /** Convert JSON `[1,2]` or `{x:1, y:2}` to a Point2d instance */
92
+ /**
93
+ * Set x and y from a JSON input such as `[1,2]` or `{x:1, y:2}`
94
+ * * If no JSON input is provided, 0 would be used as default values for x and y.
95
+ * @param json the JSON input
96
+ * */
79
97
  static fromJSON(json?: XYProps): Point2d;
80
98
  /** Create (or optionally reuse) a Point2d from another object with fields x and y */
81
99
  static createFrom(xy: XAndY | undefined, result?: Point2d): Point2d;
82
100
  /** Create a Point2d with both coordinates zero. */
83
101
  static createZero(result?: Point2d): Point2d;
84
- /** Starting at this point, move along vector by tangentFraction of the vector length, and to the left by leftFraction of
85
- * the perpendicular vector length.
102
+ /** Starting at this point, move along vector by tangentFraction of the vector length, and then
103
+ * to the left by leftFraction of the perpendicular vector length.
86
104
  * @param tangentFraction distance to move along the vector, as a fraction of vector
87
105
  * @param leftFraction distance to move perpendicular to the vector, as a fraction of the rotated vector
106
+ * @param vector the other vector
88
107
  */
89
108
  addForwardLeft(tangentFraction: number, leftFraction: number, vector: Vector2d): Point2d;
90
- /** Interpolate at tangentFraction between this instance and point. Move by leftFraction along the xy perpendicular
91
- * of the vector between the points.
109
+ /** Interpolate at tangentFraction between this instance and point, and then Move by leftFraction
110
+ * along the xy perpendicular of the vector between the points.
92
111
  */
93
112
  forwardLeftInterpolate(tangentFraction: number, leftFraction: number, point: XAndY): Point2d;
94
113
  /** Return a point interpolated between this point and the right param. */
@@ -113,9 +132,14 @@ export declare class Point2d extends XY implements BeJSONFunctions {
113
132
  * @param targetB target of second vector
114
133
  */
115
134
  dotVectorsToTargets(targetA: XAndY, targetB: XAndY): number;
116
- /** Returns the (scalar) cross product of two points/vectors, computed from origin to target1 and target2 */
135
+ /**
136
+ * Returns the (scalar) cross product of vector from this to targetA and vector from this to targetB
137
+ * @param target1 target of first vector
138
+ * @param target2 target of second vector
139
+ */
117
140
  crossProductToPoints(target1: XAndY, target2: XAndY): number;
118
- /** Return the fractional coordinate of the projection of this instance x,y onto the line from startPoint to endPoint.
141
+ /** Return the fractional coordinate of the projection of this instance x,y onto the
142
+ * line from startPoint to endPoint.
119
143
  * @param startPoint start point of line
120
144
  * @param endPoint end point of line
121
145
  * @param defaultFraction fraction to return if startPoint and endPoint are equal.
@@ -131,15 +155,25 @@ export declare class Vector2d extends XY implements BeJSONFunctions {
131
155
  clone(result?: Vector2d): Vector2d;
132
156
  /** Return a new Vector2d with given x and y */
133
157
  static create(x?: number, y?: number, result?: Vector2d): Vector2d;
134
- /** Return a (new) Vector2d with components 1,0 */
158
+ /**
159
+ * Return a (new) Vector2d with components scale,0
160
+ * If scale is not given default value 1 is used.
161
+ */
135
162
  static unitX(scale?: number): Vector2d;
136
- /** Return a (new) Vector2d with components 0,1 */
163
+ /**
164
+ * Return a (new) Vector2d with components 0,scale
165
+ * If scale is not given default value 1 is used.
166
+ */
137
167
  static unitY(scale?: number): Vector2d;
138
168
  /** Return a Vector2d with components 0,0 */
139
169
  static createZero(result?: Vector2d): Vector2d;
140
170
  /** copy contents from another Point3d, Point2d, Vector2d, or Vector3d, or leading entries of Float64Array */
141
171
  static createFrom(data: XAndY | Float64Array, result?: Vector2d): Vector2d;
142
- /** Return a new Vector2d from json structured as `[1,2]` or `{x:1,y:2}` */
172
+ /**
173
+ * Set x and y from a JSON input such as `[1,2]` or `{x:1, y:2}`
174
+ * * If no JSON input is provided, 0 would be used as default values for x and y.
175
+ * @param json the JSON input
176
+ * */
143
177
  static fromJSON(json?: XYProps): Vector2d;
144
178
  /** Return a new Vector2d from polar coordinates for radius and Angle from x axis */
145
179
  static createPolar(r: number, theta: Angle): Vector2d;
@@ -147,18 +181,25 @@ export declare class Vector2d extends XY implements BeJSONFunctions {
147
181
  static createStartEnd(point0: XAndY, point1: XAndY, result?: Vector2d): Vector2d;
148
182
  /**
149
183
  * Return a vector that bisects the angle between two normals and extends to the intersection of two offset lines
184
+ * * returns `undefined` if `unitPerpA = -unitPerpB` (i.e., are opposite)
150
185
  * @param unitPerpA unit perpendicular to incoming direction
151
186
  * @param unitPerpB unit perpendicular to outgoing direction
152
187
  * @param offset offset distance
153
188
  */
154
189
  static createOffsetBisector(unitPerpA: Vector2d, unitPerpB: Vector2d, offset: number): Vector2d | undefined;
155
- /** Return a (new or optionally reused) vector which is `this` divided by denominator
190
+ /** Return a (new or optionally reused) vector which is `this` divided by `denominator`
156
191
  * * return undefined if denominator is zero.
157
192
  */
158
193
  safeDivideOrNull(denominator: number, result?: Vector2d): Vector2d | undefined;
159
194
  /** Return a unit vector in direction of this instance (undefined if this instance has near zero length) */
160
195
  normalize(result?: Vector2d): Vector2d | undefined;
161
- /** return the fractional projection of spaceVector onto this */
196
+ /**
197
+ * Return fractional projection of target vector onto this
198
+ * * It's returning the signed projection magnitude divided by the target magnitude. In other words,
199
+ * it's returning the length of the projection as a fraction of the target magnitude.
200
+ * @param target the target vector
201
+ * @param defaultFraction the returned value in case magnitude square of target vector is very small
202
+ * */
162
203
  fractionOfProjectionToVector(target: Vector2d, defaultFraction?: number): number;
163
204
  /** Return a new vector with components negated from this instance. */
164
205
  negate(result?: Vector2d): Vector2d;
@@ -170,8 +211,13 @@ export declare class Vector2d extends XY implements BeJSONFunctions {
170
211
  unitPerpendicularXY(result?: Vector2d): Vector2d;
171
212
  /** return a new Vector2d rotated CCW by given angle */
172
213
  rotateXY(angle: Angle, result?: Vector2d): Vector2d;
173
- /** return the interpolation {this + fraction * (right - this)} */
174
- interpolate(fraction: number, right: Vector2d, result?: Vector2d): Vector2d;
214
+ /** Return a vector computed at fractional position between this vector and vectorB
215
+ * @param fraction fractional position. 0 is at `this`. 1 is at `vectorB`.
216
+ * True fractions are "between", negatives are "before this", beyond 1 is "beyond vectorB".
217
+ * @param vectorB second vector
218
+ * @param result optional preallocated result.
219
+ */
220
+ interpolate(fraction: number, vectorB: Vector2d, result?: Vector2d): Vector2d;
175
221
  /** return {this + vector}. */
176
222
  plus(vector: XAndY, result?: Vector2d): Vector2d;
177
223
  /** return {this - vector}. */
@@ -192,18 +238,33 @@ export declare class Vector2d extends XY implements BeJSONFunctions {
192
238
  dotProductStartEnd(pointA: XAndY, pointB: XAndY): number;
193
239
  /** vector cross product {this CROSS vectorB} */
194
240
  crossProduct(vectorB: XAndY): number;
195
- /** return the (signed) angle from this to vectorB. This is positive if the shortest turn is counterclockwise, negative if clockwise. */
241
+ /**
242
+ * return the radians (as a simple number, not strongly typed Angle) signed angle from this to vectorB.
243
+ * This is positive if the shortest turn is counterclockwise, negative if clockwise.
244
+ */
245
+ radiansTo(vectorB: XAndY): number;
246
+ /**
247
+ * return the (strongly typed) signed angle from this to vectorB.
248
+ * This is positive if the shortest turn is counterclockwise, negative if clockwise.
249
+ */
196
250
  angleTo(vectorB: XAndY): Angle;
197
251
  /**
198
- * Test if `this` and `other` area parallel, with angle tolerance `Geometry.smallAngleRadiansSquared`.
252
+ * Test if this vector is parallel to other.
253
+ * * The input tolerances in `options`, if given, are considered to be squared for efficiency's sake,
254
+ * so if you have a distance or angle tolerance t, you should pass in t * t.
199
255
  * @param other second vector for comparison.
200
- * @param oppositeIsParallel if true, treat vectors 180 opposite as parallel. If false, treat those as non-parallel.
256
+ * @param oppositeIsParallel whether to consider diametrically opposed vectors as parallel.
257
+ * @param options optional radian and distance tolerances.
201
258
  */
202
- isParallelTo(other: Vector2d, oppositeIsParallel?: boolean): boolean;
259
+ isParallelTo(other: Vector2d, oppositeIsParallel?: boolean, returnValueIfAnInputIsZeroLength?: boolean, options?: PerpParallelOptions): boolean;
203
260
  /**
204
- * Returns `true` if `this` vector is perpendicular to `other`.
205
- * @param other second vector.
261
+ * Test if this vector is perpendicular to other.
262
+ * * The input tolerances in `options`, if given, are considered to be squared for efficiency's sake,
263
+ * so if you have a distance or angle tolerance t, you should pass in t * t.
264
+ * @param other second vector in comparison.
265
+ * @param returnValueIfAnInputIsZeroLength if either vector is near zero length, return this value.
266
+ * @param options optional radian and distance tolerances.
206
267
  */
207
- isPerpendicularTo(other: Vector2d): boolean;
268
+ isPerpendicularTo(other: Vector2d, returnValueIfAnInputIsZeroLength?: boolean, options?: PerpParallelOptions): boolean;
208
269
  }
209
270
  //# sourceMappingURL=Point2dVector2d.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Point2dVector2d.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Point2dVector2d.ts"],"names":[],"mappings":"AAKA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAY,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;GAMG;AACH,qBAAa,EAAG,YAAW,KAAK;IAC9B,kBAAkB;IACX,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IACX,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACjB,GAAG,CAAC,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU;IACvC,+BAA+B;IACxB,OAAO;IACd,SAAS,aAAa,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU;IAClD,mCAAmC;IAC5B,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK;IAO5B,8CAA8C;IACvC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC;IAE/B,+FAA+F;IACxF,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO;IAEzD,+FAA+F;IACxF,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO;IAEnE,qCAAqC;IAC9B,MAAM,IAAI,OAAO;IACxB,0CAA0C;IACnC,QAAQ,IAAI,OAAO;IAC1B,qEAAqE;IAC9D,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAYxC,mDAAmD;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAMrC,uDAAuD;IAChD,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAM5C,4EAA4E;IACrE,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAGpC,mFAAmF;IACnF,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,yDAAyD;IAClD,MAAM,IAAI,MAAM;IACvB,yCAAyC;IAClC,SAAS,IAAI,MAAM;IAC1B,mDAAmD;IAC5C,gBAAgB,IAAI,MAAM;IAEjC,4DAA4D;IACrD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAC1C,gEAAgE;IACzD,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAEjD,6DAA6D;IACtD,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAM1D,oDAAoD;IAC7C,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAG3E,sDAAsD;WACxC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM;CAI1F;AACD;;GAEG;AACH,qBAAa,OAAQ,SAAQ,EAAG,YAAW,eAAe;IACxD,8BAA8B;gBAClB,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU;IACxC,2DAA2D;IACpD,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAEvC;;;;;OAKG;WACW,MAAM,CAAC,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAQ7E,iEAAiE;WACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO;IAC/C,qFAAqF;WACvE,UAAU,CAAC,EAAE,EAAE,KAAK,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAK1E,mDAAmD;WACrC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IACnD;;;;OAIG;IACI,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAM/F;;OAEG;IACI,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO;IAQnG,0EAA0E;IACnE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAa7E,oEAAoE;IAC7D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAOnG,qCAAqC;IAC9B,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAOtD,+BAA+B;IACxB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAMrD,+BAA+B;IACxB,MAAM,CAAC,EAAE,GAAE,MAAU,EAAE,EAAE,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAMxE,qCAAqC;IAC9B,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAOhF,2DAA2D;IACpD,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAO/G,+EAA+E;IACxE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAMhJ;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM;IAKlE,4GAA4G;IACrG,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM;IAOnE;;;;OAIG;IACI,0BAA0B,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM;CAM5G;AACD;;GAEG;AACH,qBAAa,QAAS,SAAQ,EAAG,YAAW,eAAe;gBAC7C,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU;IACxC,8CAA8C;IACvC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IACzC,+CAA+C;WACjC,MAAM,CAAC,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAS/E,kDAAkD;WACpC,KAAK,CAAC,KAAK,GAAE,MAAU,GAAG,QAAQ;IAEhD,kDAAkD;WACpC,KAAK,CAAC,KAAK,GAAE,MAAU,GAAG,QAAQ;IAEhD,4CAA4C;WAC9B,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAErD,6GAA6G;WAC/F,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAUjF,2EAA2E;WAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ;IAChD,oFAAoF;WACtE,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ;IAG5D,4DAA4D;WAC9C,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAGvF;;;;;OAKG;WACW,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAUlH;;OAEG;IACI,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAMrF,2GAA2G;IACpG,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAMzD,gEAAgE;IACzD,4BAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM;IAQvF,sEAAsE;IAC/D,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAO1C,mFAAmF;IAC5E,aAAa,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAUjD,2EAA2E;IACpE,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAShD,2DAA2D;IACpD,mBAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAcvD,uDAAuD;IAChD,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAW1D,kEAAkE;IAC3D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAclF,8BAA8B;IACvB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAMvD,8BAA8B;IACvB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAOxD,wCAAwC;IACjC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAOlF,+DAA+D;IACxD,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAOjH,mFAAmF;IAC5E,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAMlJ,4BAA4B;IACrB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAMxD,iEAAiE;IAC1D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAM7E,kDAAkD;IAC3C,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM;IAEzC,oDAAoD;IAC7C,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM;IAK/D,gDAAgD;IACzC,YAAY,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM;IAC3C,0IAA0I;IACnI,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,KAAK;IAWrC;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO;IAkBlF;;;OAGG;IACI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;CAGnD"}
1
+ {"version":3,"file":"Point2dVector2d.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Point2dVector2d.ts"],"names":[],"mappings":"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"}