@itwin/core-geometry 5.0.0-dev.113 → 5.0.0-dev.115

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 (320) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/bspline/BSplineSurface.d.ts +2 -1
  3. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  4. package/lib/cjs/bspline/BSplineSurface.js +2 -1
  5. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  6. package/lib/cjs/clipping/ClipPlane.d.ts +7 -5
  7. package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
  8. package/lib/cjs/clipping/ClipPlane.js +9 -5
  9. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  10. package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
  11. package/lib/cjs/clipping/ClipUtils.js +5 -3
  12. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  13. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  14. package/lib/cjs/clipping/ConvexClipPlaneSet.js +12 -23
  15. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  16. package/lib/cjs/core-geometry.d.ts +1 -0
  17. package/lib/cjs/core-geometry.d.ts.map +1 -1
  18. package/lib/cjs/core-geometry.js +1 -0
  19. package/lib/cjs/core-geometry.js.map +1 -1
  20. package/lib/cjs/curve/Arc3d.d.ts +53 -31
  21. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  22. package/lib/cjs/curve/Arc3d.js +55 -36
  23. package/lib/cjs/curve/Arc3d.js.map +1 -1
  24. package/lib/cjs/curve/CurveCollection.d.ts +2 -0
  25. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  26. package/lib/cjs/curve/CurveCollection.js +14 -0
  27. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  28. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  29. package/lib/cjs/curve/LineSegment3d.js +1 -0
  30. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  31. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  32. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js +10 -5
  33. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  34. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  35. package/lib/cjs/curve/Query/PlanarSubdivision.js +7 -2
  36. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  37. package/lib/cjs/curve/RegionMomentsXY.d.ts +15 -21
  38. package/lib/cjs/curve/RegionMomentsXY.d.ts.map +1 -1
  39. package/lib/cjs/curve/RegionMomentsXY.js +38 -58
  40. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  41. package/lib/cjs/curve/RegionOps.d.ts +70 -38
  42. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  43. package/lib/cjs/curve/RegionOps.js +115 -45
  44. package/lib/cjs/curve/RegionOps.js.map +1 -1
  45. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts +12 -13
  46. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  47. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +23 -23
  48. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  49. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  50. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +36 -12
  51. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  52. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.d.ts +14 -0
  53. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.d.ts.map +1 -0
  54. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.js +34 -0
  55. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.js.map +1 -0
  56. package/lib/cjs/geometry3d/AngleSweep.d.ts +24 -17
  57. package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
  58. package/lib/cjs/geometry3d/AngleSweep.js +31 -17
  59. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  60. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +7 -2
  61. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  62. package/lib/cjs/geometry3d/GrowableXYZArray.js +20 -2
  63. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  64. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +2 -1
  65. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  66. package/lib/cjs/geometry3d/IndexedXYZCollection.js +7 -3
  67. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  68. package/lib/cjs/geometry3d/Plane3d.d.ts +2 -0
  69. package/lib/cjs/geometry3d/Plane3d.d.ts.map +1 -1
  70. package/lib/cjs/geometry3d/Plane3d.js +6 -1
  71. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  72. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +2 -0
  73. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  74. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +6 -1
  75. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  76. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +8 -2
  77. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  78. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +18 -10
  79. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  80. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +4 -4
  81. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  82. package/lib/cjs/geometry3d/Point3dVector3d.js +6 -6
  83. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  84. package/lib/cjs/geometry3d/PointHelpers.d.ts +7 -7
  85. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  86. package/lib/cjs/geometry3d/PointHelpers.js +66 -26
  87. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  88. package/lib/cjs/geometry3d/PolygonOps.d.ts +57 -9
  89. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  90. package/lib/cjs/geometry3d/PolygonOps.js +57 -17
  91. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  92. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts +13 -6
  93. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -1
  94. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js +16 -9
  95. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  96. package/lib/cjs/geometry3d/PolylineOps.d.ts +5 -4
  97. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  98. package/lib/cjs/geometry3d/PolylineOps.js +5 -4
  99. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  100. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  101. package/lib/cjs/geometry3d/Ray3d.js +11 -23
  102. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  103. package/lib/cjs/geometry3d/Transform.d.ts +21 -2
  104. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  105. package/lib/cjs/geometry3d/Transform.js +32 -13
  106. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  107. package/lib/cjs/geometry4d/Matrix4d.d.ts +7 -7
  108. package/lib/cjs/geometry4d/Matrix4d.d.ts.map +1 -1
  109. package/lib/cjs/geometry4d/Matrix4d.js +9 -9
  110. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  111. package/lib/cjs/geometry4d/MomentData.d.ts +32 -34
  112. package/lib/cjs/geometry4d/MomentData.d.ts.map +1 -1
  113. package/lib/cjs/geometry4d/MomentData.js +56 -57
  114. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  115. package/lib/cjs/geometry4d/Point4d.d.ts +7 -4
  116. package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
  117. package/lib/cjs/geometry4d/Point4d.js +26 -15
  118. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  119. package/lib/cjs/polyface/FacetOrientation.d.ts +1 -1
  120. package/lib/cjs/polyface/FacetOrientation.js +1 -1
  121. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  122. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts +55 -40
  123. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  124. package/lib/cjs/polyface/IndexedEdgeMatcher.js +83 -75
  125. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  126. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts +15 -14
  127. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  128. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js +47 -38
  129. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  130. package/lib/cjs/polyface/IndexedPolyfaceWalker.d.ts +26 -19
  131. package/lib/cjs/polyface/IndexedPolyfaceWalker.d.ts.map +1 -1
  132. package/lib/cjs/polyface/IndexedPolyfaceWalker.js +47 -32
  133. package/lib/cjs/polyface/IndexedPolyfaceWalker.js.map +1 -1
  134. package/lib/cjs/polyface/Polyface.d.ts +17 -3
  135. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  136. package/lib/cjs/polyface/Polyface.js +16 -0
  137. package/lib/cjs/polyface/Polyface.js.map +1 -1
  138. package/lib/cjs/polyface/PolyfaceBuilder.js +2 -2
  139. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  140. package/lib/cjs/polyface/PolyfaceClip.d.ts +19 -18
  141. package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
  142. package/lib/cjs/polyface/PolyfaceClip.js +39 -42
  143. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  144. package/lib/cjs/polyface/PolyfaceQuery.d.ts +116 -75
  145. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  146. package/lib/cjs/polyface/PolyfaceQuery.js +312 -228
  147. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  148. package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts +3 -3
  149. package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts.map +1 -1
  150. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js +3 -3
  151. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  152. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +7 -6
  153. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  154. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +8 -9
  155. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  156. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  157. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  158. package/lib/cjs/topology/ChainMerge.d.ts +1 -1
  159. package/lib/cjs/topology/ChainMerge.js +1 -1
  160. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  161. package/lib/esm/bspline/BSplineSurface.d.ts +2 -1
  162. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  163. package/lib/esm/bspline/BSplineSurface.js +2 -1
  164. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  165. package/lib/esm/clipping/ClipPlane.d.ts +7 -5
  166. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
  167. package/lib/esm/clipping/ClipPlane.js +9 -5
  168. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  169. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  170. package/lib/esm/clipping/ClipUtils.js +5 -3
  171. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  172. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  173. package/lib/esm/clipping/ConvexClipPlaneSet.js +12 -23
  174. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  175. package/lib/esm/core-geometry.d.ts +1 -0
  176. package/lib/esm/core-geometry.d.ts.map +1 -1
  177. package/lib/esm/core-geometry.js +1 -0
  178. package/lib/esm/core-geometry.js.map +1 -1
  179. package/lib/esm/curve/Arc3d.d.ts +53 -31
  180. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  181. package/lib/esm/curve/Arc3d.js +55 -36
  182. package/lib/esm/curve/Arc3d.js.map +1 -1
  183. package/lib/esm/curve/CurveCollection.d.ts +2 -0
  184. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  185. package/lib/esm/curve/CurveCollection.js +14 -0
  186. package/lib/esm/curve/CurveCollection.js.map +1 -1
  187. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  188. package/lib/esm/curve/LineSegment3d.js +1 -0
  189. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  190. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  191. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +10 -5
  192. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  193. package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  194. package/lib/esm/curve/Query/PlanarSubdivision.js +7 -2
  195. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  196. package/lib/esm/curve/RegionMomentsXY.d.ts +15 -21
  197. package/lib/esm/curve/RegionMomentsXY.d.ts.map +1 -1
  198. package/lib/esm/curve/RegionMomentsXY.js +38 -58
  199. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  200. package/lib/esm/curve/RegionOps.d.ts +70 -38
  201. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  202. package/lib/esm/curve/RegionOps.js +116 -46
  203. package/lib/esm/curve/RegionOps.js.map +1 -1
  204. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +12 -13
  205. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  206. package/lib/esm/curve/RegionOpsClassificationSweeps.js +23 -23
  207. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  208. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  209. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +36 -12
  210. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  211. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.d.ts +14 -0
  212. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.d.ts.map +1 -0
  213. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.js +30 -0
  214. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.js.map +1 -0
  215. package/lib/esm/geometry3d/AngleSweep.d.ts +24 -17
  216. package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
  217. package/lib/esm/geometry3d/AngleSweep.js +31 -17
  218. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  219. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +7 -2
  220. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  221. package/lib/esm/geometry3d/GrowableXYZArray.js +20 -2
  222. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  223. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +2 -1
  224. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  225. package/lib/esm/geometry3d/IndexedXYZCollection.js +7 -3
  226. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  227. package/lib/esm/geometry3d/Plane3d.d.ts +2 -0
  228. package/lib/esm/geometry3d/Plane3d.d.ts.map +1 -1
  229. package/lib/esm/geometry3d/Plane3d.js +6 -1
  230. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  231. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +2 -0
  232. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  233. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +6 -1
  234. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  235. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +8 -2
  236. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  237. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +18 -10
  238. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  239. package/lib/esm/geometry3d/Point3dVector3d.d.ts +4 -4
  240. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  241. package/lib/esm/geometry3d/Point3dVector3d.js +6 -6
  242. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  243. package/lib/esm/geometry3d/PointHelpers.d.ts +7 -7
  244. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  245. package/lib/esm/geometry3d/PointHelpers.js +66 -26
  246. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  247. package/lib/esm/geometry3d/PolygonOps.d.ts +57 -9
  248. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  249. package/lib/esm/geometry3d/PolygonOps.js +57 -17
  250. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  251. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts +13 -6
  252. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -1
  253. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +16 -9
  254. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  255. package/lib/esm/geometry3d/PolylineOps.d.ts +5 -4
  256. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  257. package/lib/esm/geometry3d/PolylineOps.js +5 -4
  258. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  259. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  260. package/lib/esm/geometry3d/Ray3d.js +11 -23
  261. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  262. package/lib/esm/geometry3d/Transform.d.ts +21 -2
  263. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  264. package/lib/esm/geometry3d/Transform.js +32 -13
  265. package/lib/esm/geometry3d/Transform.js.map +1 -1
  266. package/lib/esm/geometry4d/Matrix4d.d.ts +7 -7
  267. package/lib/esm/geometry4d/Matrix4d.d.ts.map +1 -1
  268. package/lib/esm/geometry4d/Matrix4d.js +9 -9
  269. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  270. package/lib/esm/geometry4d/MomentData.d.ts +32 -34
  271. package/lib/esm/geometry4d/MomentData.d.ts.map +1 -1
  272. package/lib/esm/geometry4d/MomentData.js +56 -57
  273. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  274. package/lib/esm/geometry4d/Point4d.d.ts +7 -4
  275. package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
  276. package/lib/esm/geometry4d/Point4d.js +26 -15
  277. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  278. package/lib/esm/polyface/FacetOrientation.d.ts +1 -1
  279. package/lib/esm/polyface/FacetOrientation.js +1 -1
  280. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  281. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +55 -40
  282. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  283. package/lib/esm/polyface/IndexedEdgeMatcher.js +83 -75
  284. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  285. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +15 -14
  286. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  287. package/lib/esm/polyface/IndexedPolyfaceVisitor.js +47 -38
  288. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  289. package/lib/esm/polyface/IndexedPolyfaceWalker.d.ts +26 -19
  290. package/lib/esm/polyface/IndexedPolyfaceWalker.d.ts.map +1 -1
  291. package/lib/esm/polyface/IndexedPolyfaceWalker.js +47 -32
  292. package/lib/esm/polyface/IndexedPolyfaceWalker.js.map +1 -1
  293. package/lib/esm/polyface/Polyface.d.ts +17 -3
  294. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  295. package/lib/esm/polyface/Polyface.js +16 -0
  296. package/lib/esm/polyface/Polyface.js.map +1 -1
  297. package/lib/esm/polyface/PolyfaceBuilder.js +2 -2
  298. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  299. package/lib/esm/polyface/PolyfaceClip.d.ts +19 -18
  300. package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
  301. package/lib/esm/polyface/PolyfaceClip.js +39 -42
  302. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  303. package/lib/esm/polyface/PolyfaceQuery.d.ts +116 -75
  304. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  305. package/lib/esm/polyface/PolyfaceQuery.js +313 -229
  306. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  307. package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts +3 -3
  308. package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts.map +1 -1
  309. package/lib/esm/polyface/RangeTree/RangeTreeNode.js +3 -3
  310. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  311. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +7 -6
  312. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  313. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +8 -9
  314. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  315. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  316. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  317. package/lib/esm/topology/ChainMerge.d.ts +1 -1
  318. package/lib/esm/topology/ChainMerge.js +1 -1
  319. package/lib/esm/topology/ChainMerge.js.map +1 -1
  320. package/package.json +3 -3
@@ -35,9 +35,9 @@ export declare class NumberArray {
35
35
  */
36
36
  static maxAbsDiffFloat64(dataA: Float64Array, dataB: Float64Array): number;
37
37
  /**
38
- * Return an array with indicated start and end points, maximum step size internally
39
- * @param low low value
40
- * @param high high value
38
+ * Return an array with indicated start and end points, and maximum step size.
39
+ * @param low first value in returned array
40
+ * @param high last value in returned array
41
41
  * @param step max permitted step
42
42
  */
43
43
  static createArrayWithMaxStepSize(low: number, high: number, step: number): number[];
@@ -91,7 +91,7 @@ export declare class NumberArray {
91
91
  */
92
92
  export declare class Point2dArray {
93
93
  /** Return true if arrays have same length and matching coordinates. */
94
- static isAlmostEqual(dataA: undefined | Point2d[], dataB: undefined | Point2d[]): boolean;
94
+ static isAlmostEqual(dataA: Point2d[] | Float64Array | undefined, dataB: Point2d[] | Float64Array | undefined, tolerance?: number): boolean;
95
95
  /**
96
96
  * Return an array containing clones of the Point3d data[]
97
97
  * @param data source data
@@ -109,7 +109,7 @@ export declare class Point2dArray {
109
109
  */
110
110
  export declare class Vector3dArray {
111
111
  /** Return true if arrays have same length and matching coordinates. */
112
- static isAlmostEqual(dataA: undefined | Vector3d[], dataB: undefined | Vector3d[]): boolean;
112
+ static isAlmostEqual(dataA: Vector3d[] | Float64Array | undefined, dataB: Vector3d[] | Float64Array | undefined, tolerance?: number): boolean;
113
113
  /**
114
114
  * Return an array containing clones of the Vector3d data[]
115
115
  * @param data source data
@@ -155,7 +155,7 @@ export declare class Point4dArray {
155
155
  */
156
156
  static multiplyInPlace(transform: Transform, xyzw: Float64Array): void;
157
157
  /** Test arrays for near equality of all corresponding numeric values, treated as coordinates. */
158
- static isAlmostEqual(dataA: Point4d[] | Float64Array | undefined, dataB: Point4d[] | Float64Array | undefined): boolean;
158
+ static isAlmostEqual(dataA: Point4d[] | Float64Array | undefined, dataB: Point4d[] | Float64Array | undefined, tolerance?: number): boolean;
159
159
  /** return true iff all xyzw points' altitudes are within tolerance of the plane.*/
160
160
  static isCloseToPlane(data: Point4d[] | Float64Array, plane: Plane3dByOriginAndUnitNormal, tolerance?: number): boolean;
161
161
  }
@@ -250,7 +250,7 @@ export declare class Point3dArray {
250
250
  /** multiply a transform times each x,y,z triple and replace the x,y,z in the packed array */
251
251
  static multiplyInPlace(transform: Transform, xyz: Float64Array): void;
252
252
  /** Test arrays for near equality of all corresponding numeric values, treated as coordinates. */
253
- static isAlmostEqual(dataA: Point3d[] | Float64Array | undefined, dataB: Point3d[] | Float64Array | undefined): boolean;
253
+ static isAlmostEqual(dataA: Point3d[] | Float64Array | undefined, dataB: Point3d[] | Float64Array | undefined, tolerance?: number): boolean;
254
254
  /** return simple average of all coordinates. (000 if empty array) */
255
255
  static centroid(points: IndexedXYZCollection | Point3d[], result?: Point3d): Point3d;
256
256
  /** Return the index of the point most distant from spacePoint */
@@ -1 +1 @@
1
- {"version":3,"file":"PointHelpers.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/PointHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PointHelpers.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/PointHelpers.ts"],"names":[],"mappings":"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"}
@@ -140,9 +140,9 @@ class NumberArray {
140
140
  return a;
141
141
  }
142
142
  /**
143
- * Return an array with indicated start and end points, maximum step size internally
144
- * @param low low value
145
- * @param high high value
143
+ * Return an array with indicated start and end points, and maximum step size.
144
+ * @param low first value in returned array
145
+ * @param high last value in returned array
146
146
  * @param step max permitted step
147
147
  */
148
148
  static createArrayWithMaxStepSize(low, high, step) {
@@ -334,13 +334,32 @@ exports.NumberArray = NumberArray;
334
334
  */
335
335
  class Point2dArray {
336
336
  /** Return true if arrays have same length and matching coordinates. */
337
- static isAlmostEqual(dataA, dataB) {
337
+ static isAlmostEqual(dataA, dataB, tolerance = Geometry_1.Geometry.smallMetricDistance) {
338
338
  if (dataA && dataB) {
339
- if (dataA.length !== dataB.length)
340
- return false;
341
- for (let i = 0; i < dataA.length; i++) {
342
- if (!dataA[i].isAlmostEqual(dataB[i]))
339
+ if (dataA instanceof Float64Array && dataB instanceof Float64Array) {
340
+ if (dataA.length !== dataB.length)
341
+ return false;
342
+ for (let i = 0; i < dataA.length; i++)
343
+ if (!Geometry_1.Geometry.isSameCoordinate(dataA[i], dataB[i], tolerance))
344
+ return false;
345
+ }
346
+ else if (Array.isArray(dataA) && Array.isArray(dataB)) {
347
+ if (dataA.length !== dataB.length)
348
+ return false;
349
+ for (let i = 0; i < dataA.length; i++)
350
+ if (!dataA[i].isAlmostEqual(dataB[i], tolerance))
351
+ return false;
352
+ }
353
+ else { // different types
354
+ const points = dataA instanceof Float64Array ? dataB : dataA;
355
+ const numbers = dataA instanceof Float64Array ? dataA : dataB;
356
+ if (numbers.length !== points.length * 2)
343
357
  return false;
358
+ for (let iPoint = 0; iPoint < points.length; ++iPoint) {
359
+ if (!Geometry_1.Geometry.isSameCoordinate(points[iPoint].x, numbers[2 * iPoint], tolerance) ||
360
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].y, numbers[2 * iPoint + 1], tolerance))
361
+ return false;
362
+ }
344
363
  }
345
364
  return true;
346
365
  }
@@ -378,13 +397,34 @@ exports.Point2dArray = Point2dArray;
378
397
  */
379
398
  class Vector3dArray {
380
399
  /** Return true if arrays have same length and matching coordinates. */
381
- static isAlmostEqual(dataA, dataB) {
400
+ static isAlmostEqual(dataA, dataB, tolerance = Geometry_1.Geometry.smallMetricDistance) {
382
401
  if (dataA && dataB) {
383
- if (dataA.length !== dataB.length)
384
- return false;
385
- for (let i = 0; i < dataA.length; i++)
386
- if (!dataA[i].isAlmostEqual(dataB[i]))
402
+ if (dataA instanceof Float64Array && dataB instanceof Float64Array) {
403
+ if (dataA.length !== dataB.length)
404
+ return false;
405
+ for (let i = 0; i < dataA.length; i++)
406
+ if (!Geometry_1.Geometry.isSameCoordinate(dataA[i], dataB[i], tolerance))
407
+ return false;
408
+ }
409
+ else if (Array.isArray(dataA) && Array.isArray(dataB)) {
410
+ if (dataA.length !== dataB.length)
387
411
  return false;
412
+ for (let i = 0; i < dataA.length; i++)
413
+ if (!dataA[i].isAlmostEqual(dataB[i], tolerance))
414
+ return false;
415
+ }
416
+ else { // different types
417
+ const points = dataA instanceof Float64Array ? dataB : dataA;
418
+ const numbers = dataA instanceof Float64Array ? dataA : dataB;
419
+ if (numbers.length !== points.length * 3)
420
+ return false;
421
+ for (let iPoint = 0; iPoint < points.length; ++iPoint) {
422
+ if (!Geometry_1.Geometry.isSameCoordinate(points[iPoint].x, numbers[3 * iPoint], tolerance) ||
423
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].y, numbers[3 * iPoint + 1], tolerance) ||
424
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].z, numbers[3 * iPoint + 2], tolerance))
425
+ return false;
426
+ }
427
+ }
388
428
  return true;
389
429
  }
390
430
  return (dataA === undefined && dataB === undefined);
@@ -504,20 +544,20 @@ class Point4dArray {
504
544
  }
505
545
  }
506
546
  /** Test arrays for near equality of all corresponding numeric values, treated as coordinates. */
507
- static isAlmostEqual(dataA, dataB) {
547
+ static isAlmostEqual(dataA, dataB, tolerance = Geometry_1.Geometry.smallMetricDistance) {
508
548
  if (dataA && dataB) {
509
549
  if (dataA instanceof Float64Array && dataB instanceof Float64Array) {
510
550
  if (dataA.length !== dataB.length)
511
551
  return false;
512
552
  for (let i = 0; i < dataA.length; i++)
513
- if (!Geometry_1.Geometry.isSameCoordinate(dataA[i], dataB[i]))
553
+ if (!Geometry_1.Geometry.isSameCoordinate(dataA[i], dataB[i], tolerance))
514
554
  return false;
515
555
  }
516
556
  else if (Array.isArray(dataA) && Array.isArray(dataB)) {
517
557
  if (dataA.length !== dataB.length)
518
558
  return false;
519
559
  for (let i = 0; i < dataA.length; i++)
520
- if (!dataA[i].isAlmostEqual(dataB[i]))
560
+ if (!dataA[i].isAlmostEqual(dataB[i], tolerance))
521
561
  return false;
522
562
  }
523
563
  else { // different types
@@ -526,10 +566,10 @@ class Point4dArray {
526
566
  if (numbers.length !== points.length * 4)
527
567
  return false;
528
568
  for (let iPoint = 0; iPoint < points.length; ++iPoint) {
529
- if (!Geometry_1.Geometry.isSameCoordinate(points[iPoint].x, numbers[4 * iPoint]) ||
530
- !Geometry_1.Geometry.isSameCoordinate(points[iPoint].y, numbers[4 * iPoint + 1]) ||
531
- !Geometry_1.Geometry.isSameCoordinate(points[iPoint].z, numbers[4 * iPoint + 2]) ||
532
- !Geometry_1.Geometry.isSameCoordinate(points[iPoint].w, numbers[4 * iPoint + 3]))
569
+ if (!Geometry_1.Geometry.isSameCoordinate(points[iPoint].x, numbers[4 * iPoint], tolerance) ||
570
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].y, numbers[4 * iPoint + 1], tolerance) ||
571
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].z, numbers[4 * iPoint + 2], tolerance) ||
572
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].w, numbers[4 * iPoint + 3], tolerance))
533
573
  return false;
534
574
  }
535
575
  }
@@ -770,20 +810,20 @@ class Point3dArray {
770
810
  }
771
811
  }
772
812
  /** Test arrays for near equality of all corresponding numeric values, treated as coordinates. */
773
- static isAlmostEqual(dataA, dataB) {
813
+ static isAlmostEqual(dataA, dataB, tolerance = Geometry_1.Geometry.smallMetricDistance) {
774
814
  if (dataA && dataB) {
775
815
  if (dataA instanceof Float64Array && dataB instanceof Float64Array) {
776
816
  if (dataA.length !== dataB.length)
777
817
  return false;
778
818
  for (let i = 0; i < dataA.length; i++)
779
- if (!Geometry_1.Geometry.isSameCoordinate(dataA[i], dataB[i]))
819
+ if (!Geometry_1.Geometry.isSameCoordinate(dataA[i], dataB[i], tolerance))
780
820
  return false;
781
821
  }
782
822
  else if (Array.isArray(dataA) && Array.isArray(dataB)) {
783
823
  if (dataA.length !== dataB.length)
784
824
  return false;
785
825
  for (let i = 0; i < dataA.length; i++)
786
- if (!dataA[i].isAlmostEqual(dataB[i]))
826
+ if (!dataA[i].isAlmostEqual(dataB[i], tolerance))
787
827
  return false;
788
828
  }
789
829
  else { // different types
@@ -792,9 +832,9 @@ class Point3dArray {
792
832
  if (numbers.length !== points.length * 3)
793
833
  return false;
794
834
  for (let iPoint = 0; iPoint < points.length; ++iPoint) {
795
- if (!Geometry_1.Geometry.isSameCoordinate(points[iPoint].x, numbers[3 * iPoint]) ||
796
- !Geometry_1.Geometry.isSameCoordinate(points[iPoint].y, numbers[3 * iPoint + 1]) ||
797
- !Geometry_1.Geometry.isSameCoordinate(points[iPoint].z, numbers[3 * iPoint + 2]))
835
+ if (!Geometry_1.Geometry.isSameCoordinate(points[iPoint].x, numbers[3 * iPoint], tolerance) ||
836
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].y, numbers[3 * iPoint + 1], tolerance) ||
837
+ !Geometry_1.Geometry.isSameCoordinate(points[iPoint].z, numbers[3 * iPoint + 2], tolerance))
798
838
  return false;
799
839
  }
800
840
  }