@itwin/core-geometry 4.2.0-dev.9 → 4.3.0-dev.1

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 (478) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/lib/cjs/Geometry.d.ts +4 -4
  3. package/lib/cjs/Geometry.d.ts.map +1 -1
  4. package/lib/cjs/Geometry.js +2 -2
  5. package/lib/cjs/Geometry.js.map +1 -1
  6. package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts +4 -3
  7. package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
  8. package/lib/cjs/clipping/AlternatingConvexClipTree.js +1 -1
  9. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  10. package/lib/cjs/clipping/BooleanClipNode.d.ts +4 -3
  11. package/lib/cjs/clipping/BooleanClipNode.d.ts.map +1 -1
  12. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  13. package/lib/cjs/clipping/ClipPlane.d.ts +2 -1
  14. package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
  15. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  16. package/lib/cjs/clipping/ClipUtils.d.ts +17 -11
  17. package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
  18. package/lib/cjs/clipping/ClipUtils.js +14 -8
  19. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  20. package/lib/cjs/clipping/ClipVector.d.ts +6 -5
  21. package/lib/cjs/clipping/ClipVector.d.ts.map +1 -1
  22. package/lib/cjs/clipping/ClipVector.js +1 -1
  23. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  24. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts +3 -2
  25. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  26. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  27. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts +2 -1
  28. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
  29. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  30. package/lib/cjs/core-geometry.d.ts +1 -3
  31. package/lib/cjs/core-geometry.d.ts.map +1 -1
  32. package/lib/cjs/core-geometry.js +1 -3
  33. package/lib/cjs/core-geometry.js.map +1 -1
  34. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  35. package/lib/cjs/curve/Arc3d.js +4 -4
  36. package/lib/cjs/curve/Arc3d.js.map +1 -1
  37. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +93 -91
  38. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  39. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +171 -152
  40. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  41. package/lib/cjs/curve/CurveCollection.d.ts +19 -19
  42. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  43. package/lib/cjs/curve/CurveCollection.js +20 -22
  44. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  45. package/lib/cjs/curve/CurveCurve.d.ts +47 -30
  46. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  47. package/lib/cjs/curve/CurveCurve.js +81 -46
  48. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  49. package/lib/cjs/curve/CurveFactory.d.ts +1 -1
  50. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  51. package/lib/cjs/curve/CurveLocationDetail.d.ts +17 -5
  52. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  53. package/lib/cjs/curve/CurveLocationDetail.js +14 -2
  54. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  55. package/lib/cjs/curve/CurveOps.d.ts +1 -1
  56. package/lib/cjs/curve/CurveOps.js.map +1 -1
  57. package/lib/cjs/curve/CurvePrimitive.d.ts +1 -2
  58. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  59. package/lib/cjs/curve/CurvePrimitive.js +2 -2
  60. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  61. package/lib/cjs/curve/CurveProcessor.d.ts +1 -1
  62. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  63. package/lib/cjs/curve/{CurveChain.d.ts → CurveTypes.d.ts} +6 -6
  64. package/lib/cjs/curve/CurveTypes.d.ts.map +1 -0
  65. package/lib/cjs/curve/{CurveChain.js → CurveTypes.js} +1 -1
  66. package/lib/cjs/curve/CurveTypes.js.map +1 -0
  67. package/lib/cjs/curve/CurveWireMomentsXYZ.d.ts +1 -1
  68. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  69. package/lib/cjs/curve/ParityRegion.d.ts +3 -3
  70. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
  71. package/lib/cjs/curve/ParityRegion.js +2 -2
  72. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  73. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts +3 -2
  74. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  75. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js +2 -2
  76. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  77. package/lib/cjs/curve/Query/CurveSplitContext.d.ts +1 -1
  78. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  79. package/lib/cjs/curve/Query/CylindricalRange.d.ts +1 -1
  80. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  81. package/lib/cjs/curve/Query/InOutTests.d.ts +1 -1
  82. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  83. package/lib/cjs/curve/Query/StrokeCountChain.d.ts +1 -1
  84. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  85. package/lib/cjs/curve/RegionOps.d.ts +54 -5
  86. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  87. package/lib/cjs/curve/RegionOps.js +154 -3
  88. package/lib/cjs/curve/RegionOps.js.map +1 -1
  89. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts +1 -1
  90. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  91. package/lib/cjs/curve/StrokeOptions.d.ts +20 -11
  92. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  93. package/lib/cjs/curve/StrokeOptions.js +22 -11
  94. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  95. package/lib/cjs/curve/UnionRegion.d.ts +3 -3
  96. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
  97. package/lib/cjs/curve/UnionRegion.js +2 -2
  98. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  99. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts +1 -1
  100. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  101. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js +2 -2
  102. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  103. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +233 -0
  104. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -0
  105. package/lib/cjs/curve/{CurveCurveCloseApproachXY.js → internalContexts/CurveCurveCloseApproachXY.js} +299 -202
  106. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -0
  107. package/lib/{esm/curve → cjs/curve/internalContexts}/CurveCurveIntersectXY.d.ts +45 -51
  108. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -0
  109. package/lib/cjs/curve/{CurveCurveIntersectXY.js → internalContexts/CurveCurveIntersectXY.js} +104 -115
  110. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -0
  111. package/lib/cjs/curve/{CurveCurveIntersectXYZ.d.ts → internalContexts/CurveCurveIntersectXYZ.d.ts} +18 -18
  112. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -0
  113. package/lib/cjs/curve/{CurveCurveIntersectXYZ.js → internalContexts/CurveCurveIntersectXYZ.js} +134 -108
  114. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -0
  115. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.d.ts +2 -2
  116. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.d.ts.map +1 -1
  117. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js +9 -5
  118. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  119. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +1 -1
  120. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  121. package/lib/cjs/geometry3d/BarycentricTriangle.d.ts +1 -0
  122. package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -1
  123. package/lib/cjs/geometry3d/BarycentricTriangle.js +1 -0
  124. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  125. package/lib/cjs/geometry3d/FrameBuilder.d.ts +28 -11
  126. package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
  127. package/lib/cjs/geometry3d/FrameBuilder.js +57 -45
  128. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  129. package/lib/cjs/geometry3d/GeometryHandler.d.ts +15 -26
  130. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
  131. package/lib/cjs/geometry3d/GeometryHandler.js +23 -32
  132. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  133. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +0 -8
  134. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  135. package/lib/cjs/geometry3d/GrowableXYZArray.js +0 -16
  136. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  137. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +4 -4
  138. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  139. package/lib/cjs/geometry3d/IndexedXYZCollection.js +12 -0
  140. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  141. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  142. package/lib/cjs/geometry3d/Matrix3d.js +3 -6
  143. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  144. package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
  145. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  146. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +1 -2
  147. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  148. package/lib/cjs/geometry3d/Point3dVector3d.js +0 -1
  149. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  150. package/lib/cjs/geometry3d/PolygonOps.d.ts +2 -2
  151. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  152. package/lib/cjs/geometry3d/PolygonOps.js +2 -3
  153. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  154. package/lib/cjs/geometry3d/Range.d.ts +1 -1
  155. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  156. package/lib/cjs/geometry3d/Range.js +1 -1
  157. package/lib/cjs/geometry3d/Range.js.map +1 -1
  158. package/lib/cjs/geometry3d/Ray3d.d.ts +3 -1
  159. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  160. package/lib/cjs/geometry3d/Ray3d.js +4 -3
  161. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  162. package/lib/cjs/geometry3d/ReusableObjectCache.d.ts +2 -1
  163. package/lib/cjs/geometry3d/ReusableObjectCache.d.ts.map +1 -1
  164. package/lib/cjs/geometry3d/ReusableObjectCache.js +1 -1
  165. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  166. package/lib/cjs/geometry3d/SortablePolygon.d.ts +1 -1
  167. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  168. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  169. package/lib/cjs/geometry3d/Transform.js +4 -6
  170. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  171. package/lib/cjs/geometry3d/YawPitchRollAngles.js +1 -1
  172. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  173. package/lib/cjs/geometry4d/Map4d.d.ts +14 -8
  174. package/lib/cjs/geometry4d/Map4d.d.ts.map +1 -1
  175. package/lib/cjs/geometry4d/Map4d.js +38 -16
  176. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  177. package/lib/cjs/geometry4d/Matrix4d.d.ts.map +1 -1
  178. package/lib/cjs/geometry4d/Matrix4d.js +4 -2
  179. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  180. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  181. package/lib/cjs/numerics/Polynomials.d.ts +2 -2
  182. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  183. package/lib/cjs/numerics/Polynomials.js +2 -2
  184. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  185. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +18 -6
  186. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  187. package/lib/cjs/polyface/PolyfaceBuilder.js +55 -25
  188. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  189. package/lib/cjs/polyface/PolyfaceClip.d.ts +16 -7
  190. package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
  191. package/lib/cjs/polyface/PolyfaceClip.js +38 -7
  192. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  193. package/lib/cjs/polyface/PolyfaceData.d.ts +5 -39
  194. package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
  195. package/lib/cjs/polyface/PolyfaceData.js +7 -41
  196. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  197. package/lib/cjs/polyface/PolyfaceQuery.d.ts +10 -8
  198. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  199. package/lib/cjs/polyface/PolyfaceQuery.js +64 -18
  200. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  201. package/lib/cjs/serialization/GeometrySamples.d.ts +6 -0
  202. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  203. package/lib/cjs/serialization/GeometrySamples.js +68 -2
  204. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  205. package/lib/cjs/solid/LinearSweep.d.ts +1 -1
  206. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  207. package/lib/cjs/solid/RotationalSweep.d.ts +1 -1
  208. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  209. package/lib/cjs/solid/RuledSweep.d.ts +1 -1
  210. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  211. package/lib/cjs/solid/SweepContour.d.ts +35 -26
  212. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  213. package/lib/cjs/solid/SweepContour.js +84 -100
  214. package/lib/cjs/solid/SweepContour.js.map +1 -1
  215. package/lib/cjs/topology/Graph.d.ts +29 -11
  216. package/lib/cjs/topology/Graph.d.ts.map +1 -1
  217. package/lib/cjs/topology/Graph.js +45 -26
  218. package/lib/cjs/topology/Graph.js.map +1 -1
  219. package/lib/cjs/topology/HalfEdgeMarkSet.d.ts +2 -2
  220. package/lib/cjs/topology/HalfEdgeMarkSet.d.ts.map +1 -1
  221. package/lib/cjs/topology/HalfEdgeMarkSet.js +4 -4
  222. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  223. package/lib/cjs/topology/Merging.d.ts +3 -0
  224. package/lib/cjs/topology/Merging.d.ts.map +1 -1
  225. package/lib/cjs/topology/Merging.js +19 -5
  226. package/lib/cjs/topology/Merging.js.map +1 -1
  227. package/lib/cjs/topology/Triangulation.d.ts +15 -7
  228. package/lib/cjs/topology/Triangulation.d.ts.map +1 -1
  229. package/lib/cjs/topology/Triangulation.js +89 -47
  230. package/lib/cjs/topology/Triangulation.js.map +1 -1
  231. package/lib/esm/Geometry.d.ts +4 -4
  232. package/lib/esm/Geometry.d.ts.map +1 -1
  233. package/lib/esm/Geometry.js +2 -2
  234. package/lib/esm/Geometry.js.map +1 -1
  235. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +4 -3
  236. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
  237. package/lib/esm/clipping/AlternatingConvexClipTree.js +1 -1
  238. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  239. package/lib/esm/clipping/BooleanClipNode.d.ts +4 -3
  240. package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -1
  241. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  242. package/lib/esm/clipping/ClipPlane.d.ts +2 -1
  243. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
  244. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  245. package/lib/esm/clipping/ClipUtils.d.ts +17 -11
  246. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  247. package/lib/esm/clipping/ClipUtils.js +14 -8
  248. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  249. package/lib/esm/clipping/ClipVector.d.ts +6 -5
  250. package/lib/esm/clipping/ClipVector.d.ts.map +1 -1
  251. package/lib/esm/clipping/ClipVector.js +1 -1
  252. package/lib/esm/clipping/ClipVector.js.map +1 -1
  253. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +3 -2
  254. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  255. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  256. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +2 -1
  257. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
  258. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  259. package/lib/esm/core-geometry.d.ts +1 -3
  260. package/lib/esm/core-geometry.d.ts.map +1 -1
  261. package/lib/esm/core-geometry.js +1 -3
  262. package/lib/esm/core-geometry.js.map +1 -1
  263. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  264. package/lib/esm/curve/Arc3d.js +4 -4
  265. package/lib/esm/curve/Arc3d.js.map +1 -1
  266. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +93 -91
  267. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  268. package/lib/esm/curve/CurveChainWithDistanceIndex.js +171 -152
  269. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  270. package/lib/esm/curve/CurveCollection.d.ts +19 -19
  271. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  272. package/lib/esm/curve/CurveCollection.js +19 -20
  273. package/lib/esm/curve/CurveCollection.js.map +1 -1
  274. package/lib/esm/curve/CurveCurve.d.ts +47 -30
  275. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  276. package/lib/esm/curve/CurveCurve.js +81 -46
  277. package/lib/esm/curve/CurveCurve.js.map +1 -1
  278. package/lib/esm/curve/CurveFactory.d.ts +1 -1
  279. package/lib/esm/curve/CurveFactory.js.map +1 -1
  280. package/lib/esm/curve/CurveLocationDetail.d.ts +17 -5
  281. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  282. package/lib/esm/curve/CurveLocationDetail.js +12 -1
  283. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  284. package/lib/esm/curve/CurveOps.d.ts +1 -1
  285. package/lib/esm/curve/CurveOps.js.map +1 -1
  286. package/lib/esm/curve/CurvePrimitive.d.ts +1 -2
  287. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  288. package/lib/esm/curve/CurvePrimitive.js +2 -2
  289. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  290. package/lib/esm/curve/CurveProcessor.d.ts +1 -1
  291. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  292. package/lib/esm/curve/{CurveChain.d.ts → CurveTypes.d.ts} +6 -6
  293. package/lib/esm/curve/CurveTypes.d.ts.map +1 -0
  294. package/lib/esm/curve/{CurveChain.js → CurveTypes.js} +1 -1
  295. package/lib/esm/curve/CurveTypes.js.map +1 -0
  296. package/lib/esm/curve/CurveWireMomentsXYZ.d.ts +1 -1
  297. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  298. package/lib/esm/curve/ParityRegion.d.ts +3 -3
  299. package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
  300. package/lib/esm/curve/ParityRegion.js +2 -2
  301. package/lib/esm/curve/ParityRegion.js.map +1 -1
  302. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts +3 -2
  303. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  304. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +1 -1
  305. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  306. package/lib/esm/curve/Query/CurveSplitContext.d.ts +1 -1
  307. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  308. package/lib/esm/curve/Query/CylindricalRange.d.ts +1 -1
  309. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  310. package/lib/esm/curve/Query/InOutTests.d.ts +1 -1
  311. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  312. package/lib/esm/curve/Query/StrokeCountChain.d.ts +1 -1
  313. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  314. package/lib/esm/curve/RegionOps.d.ts +54 -5
  315. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  316. package/lib/esm/curve/RegionOps.js +153 -3
  317. package/lib/esm/curve/RegionOps.js.map +1 -1
  318. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +1 -1
  319. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  320. package/lib/esm/curve/StrokeOptions.d.ts +20 -11
  321. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  322. package/lib/esm/curve/StrokeOptions.js +22 -11
  323. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  324. package/lib/esm/curve/UnionRegion.d.ts +3 -3
  325. package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
  326. package/lib/esm/curve/UnionRegion.js +2 -2
  327. package/lib/esm/curve/UnionRegion.js.map +1 -1
  328. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts +1 -1
  329. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  330. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js +2 -2
  331. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  332. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +233 -0
  333. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -0
  334. package/lib/esm/curve/{CurveCurveCloseApproachXY.js → internalContexts/CurveCurveCloseApproachXY.js} +299 -202
  335. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -0
  336. package/lib/{cjs/curve → esm/curve/internalContexts}/CurveCurveIntersectXY.d.ts +45 -51
  337. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -0
  338. package/lib/esm/curve/{CurveCurveIntersectXY.js → internalContexts/CurveCurveIntersectXY.js} +103 -113
  339. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -0
  340. package/lib/esm/curve/{CurveCurveIntersectXYZ.d.ts → internalContexts/CurveCurveIntersectXYZ.d.ts} +18 -18
  341. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -0
  342. package/lib/esm/curve/{CurveCurveIntersectXYZ.js → internalContexts/CurveCurveIntersectXYZ.js} +134 -108
  343. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -0
  344. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.d.ts +2 -2
  345. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.d.ts.map +1 -1
  346. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js +9 -5
  347. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  348. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +1 -1
  349. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  350. package/lib/esm/geometry3d/BarycentricTriangle.d.ts +1 -0
  351. package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -1
  352. package/lib/esm/geometry3d/BarycentricTriangle.js +1 -0
  353. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  354. package/lib/esm/geometry3d/FrameBuilder.d.ts +28 -11
  355. package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
  356. package/lib/esm/geometry3d/FrameBuilder.js +57 -45
  357. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  358. package/lib/esm/geometry3d/GeometryHandler.d.ts +15 -26
  359. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
  360. package/lib/esm/geometry3d/GeometryHandler.js +23 -32
  361. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  362. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +0 -8
  363. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  364. package/lib/esm/geometry3d/GrowableXYZArray.js +0 -16
  365. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  366. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +4 -4
  367. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  368. package/lib/esm/geometry3d/IndexedXYZCollection.js +12 -0
  369. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  370. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  371. package/lib/esm/geometry3d/Matrix3d.js +3 -6
  372. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  373. package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
  374. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  375. package/lib/esm/geometry3d/Point3dVector3d.d.ts +1 -2
  376. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  377. package/lib/esm/geometry3d/Point3dVector3d.js +0 -1
  378. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  379. package/lib/esm/geometry3d/PolygonOps.d.ts +2 -2
  380. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  381. package/lib/esm/geometry3d/PolygonOps.js +2 -3
  382. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  383. package/lib/esm/geometry3d/Range.d.ts +1 -1
  384. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  385. package/lib/esm/geometry3d/Range.js +1 -1
  386. package/lib/esm/geometry3d/Range.js.map +1 -1
  387. package/lib/esm/geometry3d/Ray3d.d.ts +3 -1
  388. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  389. package/lib/esm/geometry3d/Ray3d.js +4 -3
  390. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  391. package/lib/esm/geometry3d/ReusableObjectCache.d.ts +2 -1
  392. package/lib/esm/geometry3d/ReusableObjectCache.d.ts.map +1 -1
  393. package/lib/esm/geometry3d/ReusableObjectCache.js +1 -1
  394. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  395. package/lib/esm/geometry3d/SortablePolygon.d.ts +1 -1
  396. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  397. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  398. package/lib/esm/geometry3d/Transform.js +4 -6
  399. package/lib/esm/geometry3d/Transform.js.map +1 -1
  400. package/lib/esm/geometry3d/YawPitchRollAngles.js +1 -1
  401. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  402. package/lib/esm/geometry4d/Map4d.d.ts +14 -8
  403. package/lib/esm/geometry4d/Map4d.d.ts.map +1 -1
  404. package/lib/esm/geometry4d/Map4d.js +38 -16
  405. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  406. package/lib/esm/geometry4d/Matrix4d.d.ts.map +1 -1
  407. package/lib/esm/geometry4d/Matrix4d.js +4 -2
  408. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  409. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  410. package/lib/esm/numerics/Polynomials.d.ts +2 -2
  411. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  412. package/lib/esm/numerics/Polynomials.js +2 -2
  413. package/lib/esm/numerics/Polynomials.js.map +1 -1
  414. package/lib/esm/polyface/PolyfaceBuilder.d.ts +18 -6
  415. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  416. package/lib/esm/polyface/PolyfaceBuilder.js +55 -25
  417. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  418. package/lib/esm/polyface/PolyfaceClip.d.ts +16 -7
  419. package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
  420. package/lib/esm/polyface/PolyfaceClip.js +38 -7
  421. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  422. package/lib/esm/polyface/PolyfaceData.d.ts +5 -39
  423. package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
  424. package/lib/esm/polyface/PolyfaceData.js +7 -41
  425. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  426. package/lib/esm/polyface/PolyfaceQuery.d.ts +10 -8
  427. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  428. package/lib/esm/polyface/PolyfaceQuery.js +64 -18
  429. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  430. package/lib/esm/serialization/GeometrySamples.d.ts +6 -0
  431. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  432. package/lib/esm/serialization/GeometrySamples.js +68 -2
  433. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  434. package/lib/esm/solid/LinearSweep.d.ts +1 -1
  435. package/lib/esm/solid/LinearSweep.js.map +1 -1
  436. package/lib/esm/solid/RotationalSweep.d.ts +1 -1
  437. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  438. package/lib/esm/solid/RuledSweep.d.ts +1 -1
  439. package/lib/esm/solid/RuledSweep.js.map +1 -1
  440. package/lib/esm/solid/SweepContour.d.ts +35 -26
  441. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  442. package/lib/esm/solid/SweepContour.js +84 -100
  443. package/lib/esm/solid/SweepContour.js.map +1 -1
  444. package/lib/esm/topology/Graph.d.ts +29 -11
  445. package/lib/esm/topology/Graph.d.ts.map +1 -1
  446. package/lib/esm/topology/Graph.js +45 -26
  447. package/lib/esm/topology/Graph.js.map +1 -1
  448. package/lib/esm/topology/HalfEdgeMarkSet.d.ts +2 -2
  449. package/lib/esm/topology/HalfEdgeMarkSet.d.ts.map +1 -1
  450. package/lib/esm/topology/HalfEdgeMarkSet.js +2 -2
  451. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  452. package/lib/esm/topology/Merging.d.ts +3 -0
  453. package/lib/esm/topology/Merging.d.ts.map +1 -1
  454. package/lib/esm/topology/Merging.js +19 -5
  455. package/lib/esm/topology/Merging.js.map +1 -1
  456. package/lib/esm/topology/Triangulation.d.ts +15 -7
  457. package/lib/esm/topology/Triangulation.d.ts.map +1 -1
  458. package/lib/esm/topology/Triangulation.js +89 -47
  459. package/lib/esm/topology/Triangulation.js.map +1 -1
  460. package/package.json +4 -4
  461. package/lib/cjs/curve/CurveChain.d.ts.map +0 -1
  462. package/lib/cjs/curve/CurveChain.js.map +0 -1
  463. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts +0 -175
  464. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +0 -1
  465. package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +0 -1
  466. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +0 -1
  467. package/lib/cjs/curve/CurveCurveIntersectXY.js.map +0 -1
  468. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +0 -1
  469. package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +0 -1
  470. package/lib/esm/curve/CurveChain.d.ts.map +0 -1
  471. package/lib/esm/curve/CurveChain.js.map +0 -1
  472. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +0 -175
  473. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +0 -1
  474. package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +0 -1
  475. package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +0 -1
  476. package/lib/esm/curve/CurveCurveIntersectXY.js.map +0 -1
  477. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +0 -1
  478. package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * @module Polyface
3
3
  */
4
4
  import { Arc3d } from "../curve/Arc3d";
5
- import { AnyCurve, AnyRegion } from "../curve/CurveChain";
5
+ import { AnyCurve, AnyRegion } from "../curve/CurveTypes";
6
6
  import { CurvePrimitive } from "../curve/CurvePrimitive";
7
7
  import { GeometryQuery } from "../curve/GeometryQuery";
8
8
  import { LineString3d } from "../curve/LineString3d";
@@ -82,8 +82,12 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
82
82
  private _reversed;
83
83
  /** Ask if this builder is reversing vertex order as loops are received. */
84
84
  get reversedFlag(): boolean;
85
- /** extract the polyface. */
86
- claimPolyface(compress?: boolean): IndexedPolyface;
85
+ /**
86
+ * Extract the polyface.
87
+ * @param compress whether to cluster vertices (default true)
88
+ * @param tolerance compression tolerance (default Geometry.smallMetricDistance)
89
+ */
90
+ claimPolyface(compress?: boolean, tolerance?: number): IndexedPolyface;
87
91
  /** Toggle (reverse) the flag controlling orientation flips for newly added facets. */
88
92
  toggleReversedFacetFlag(): void;
89
93
  private constructor();
@@ -337,8 +341,16 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
337
341
  * * indices are added (in reverse order if indicated by the builder state)
338
342
  */
339
343
  addFacetFromVisitor(visitor: PolyfaceVisitor): void;
344
+ /**
345
+ * Add the subset of visitor data indexed by the indices.
346
+ * * Ideally, the subset represents a sub-facet of the visited facet.
347
+ * @param visitor data for the currently visited facet
348
+ * @param indices local indices into the visitor data arrays
349
+ * @returns whether the data was added successfully. Encountering an invalid index returns false.
350
+ */
351
+ addFacetFromIndexedVisitor(visitor: PolyfaceVisitor, indices: number[]): boolean;
340
352
  /** Add a polyface, with optional reverse and transform. */
341
- addIndexedPolyface(source: IndexedPolyface, reversed: boolean, transform?: Transform): void;
353
+ addIndexedPolyface(source: IndexedPolyface, reversed?: boolean, transform?: Transform): void;
342
354
  /**
343
355
  * Produce a new FacetFaceData for all terminated facets since construction of the previous face.
344
356
  * Each facet number/index is mapped to the FacetFaceData through the faceToFaceData array.
@@ -375,7 +387,7 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
375
387
  * * Rely on the builder's compress step to find common vertex coordinates
376
388
  * @internal
377
389
  */
378
- addGraph(graph: HalfEdgeGraph, needParams: boolean, acceptFaceFunction?: HalfEdgeToBooleanFunction, isEdgeVisibleFunction?: HalfEdgeToBooleanFunction | undefined): void;
390
+ addGraph(graph: HalfEdgeGraph, acceptFaceFunction?: HalfEdgeToBooleanFunction, isEdgeVisibleFunction?: HalfEdgeToBooleanFunction | undefined): void;
379
391
  /**
380
392
  *
381
393
  * * For each node in `faces`
@@ -425,7 +437,7 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
425
437
  * Triangulate the points as viewed in xy.
426
438
  * @param points
427
439
  */
428
- static pointsToTriangulatedPolyface(points: Point3d[]): IndexedPolyface | undefined;
440
+ static pointsToTriangulatedPolyface(points: Point3d[], options?: StrokeOptions): IndexedPolyface | undefined;
429
441
  /** Create (and add to the builder) triangles that bridge the gap between two linestrings.
430
442
  * * Each triangle will have 1 vertex on one of the linestrings and 2 on the other
431
443
  * * Choice of triangles is heuristic, hence does not have a unique solution.
@@ -1 +1 @@
1
- {"version":3,"file":"PolyfaceBuilder.d.ts","sourceRoot":"","sources":["../../../src/polyface/PolyfaceBuilder.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAO,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAW,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMvF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,qEAAqE;IACrE,IAAW,OAAO,IAAI,aAAa,CAA0B;IAE7D,OAAO,CAAC,SAAS,CAAU;IAC3B,2EAA2E;IAC3E,IAAW,YAAY,IAAI,OAAO,CAA2B;IAC7D,4BAA4B;IACrB,aAAa,CAAC,QAAQ,GAAE,OAAc,GAAG,eAAe;IAK/D,sFAAsF;IAC/E,uBAAuB;IAE9B,OAAO;IAOP;;;OAGG;WACW,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,eAAe;IAG9D,6CAA6C;IACtC,qBAAqB,CAAC,SAAS,EAAE,SAAS;IAIjD;;;;MAIE;IACK,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE;IAuB7F;;;OAGG;IACI,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAkBlF;;;;;;OAMG;IACI,oCAAoC,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IA6CpF;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAGrC;;;OAGG;IACI,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAI3C;;OAEG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAG/C;;;OAGG;IACI,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAoB;IACvD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAqB;IACxD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAoB;IACnD;;;;OAIG;IACI,0BAA0B,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUlI;;;;OAIG;IACI,gCAAgC,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU7I;;;;OAIG;IACI,iCAAiC,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU9I;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAS1F;;;OAGG;IACI,+BAA+B,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhG;;;;OAIG;IACI,0BAA0B,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK7I;;;;;OAKG;IACI,2BAA2B,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAc1J;;OAEG;IACI,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAG3D;;;OAGG;IACI,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjE,+GAA+G;IAC/G,OAAO,CAAC,8BAA8B;IAQtC,gDAAgD;IAChD,OAAO,CAAC,2BAA2B;IASnC;;;;;;OAMG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;IAuGrH;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAgBlC,kFAAkF;IAClF,OAAO,CAAC,0BAA0B;IAclC,oFAAoF;IACpF,OAAO,CAAC,2BAA2B;IAcnC,4EAA4E;IAC5E,OAAO,CAAC,0BAA0B;IAelC;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;IAgEzH;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IActC,gFAAgF;IAChF,OAAO,CAAC,8BAA8B;IAYtC,gFAAgF;IAChF,OAAO,CAAC,+BAA+B;IAYvC,gFAAgF;IAChF,OAAO,CAAC,8BAA8B;IAYtC,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,mBAAmB;IAgB3B;;;;OAIG;IACI,wCAAwC,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe;IA0CzJ;;;;OAIG;IACI,sCAAsC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY;IA8ClG;;;;OAIG;IACI,gCAAgC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAE,OAAe;IA6BnI,OAAO,CAAC,uBAAuB;IAuB/B;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,IAAI;IA6BzB;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAmD1F;;;;;;;OAOG;IACI,gCAAgC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IA0B3E;;OAEG;IACI,kBAAkB,CAAC,OAAO,EAAE,eAAe;IA2BlD;;OAEG;IACI,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAUrD;;;;OAIG;IACI,kCAAkC,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa;IAaxE,OAAO,CAAC,oCAAoC;IAe5C,OAAO,CAAC,yBAAyB;IAyDjC,OAAO,CAAC,2BAA2B;IAqBnC;;;;;OAKG;IACI,cAAc,CAAC,OAAO,EAAE,WAAW;IAmB1C;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO;IAmClD;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAuBrD;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,GAAG;IAsCtB;;;;;;OAMG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM;IAqB5D;;;;;;OAMG;IACI,0BAA0B,CAAC,MAAM,EAAE,gBAAgB;IAkC1D;;;;;;;;;;OAUG;IACI,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,EAC/F,MAAM,EAAE,eAAe,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE;IAwD5F;;OAEG;IACI,mBAAmB,CAAC,OAAO,EAAE,eAAe;IAInD,2DAA2D;IACpD,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS;IAI3F;;;;OAIG;IACI,OAAO,IAAI,OAAO;IAIzB,uCAAuC;IACvB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG;IACxC,4CAA4C;IAC5B,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG;IAClD,yCAAyC;IACzB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG;IAC5C,sCAAsC;IACtB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG;IACtC,8CAA8C;IAC9B,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,GAAG;IACtD,kDAAkD;IAClC,qBAAqB,CAAC,CAAC,EAAE,eAAe,GAAG,GAAG;IAC9D,6CAA6C;IAC7B,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,GAAG;IACpD,uCAAuC;IACvB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG;IACxC,+CAA+C;IAC/B,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,GAAG;IACxD,8CAA8C;IAC9B,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,GAAG;IACtD,iHAAiH;IAC1G,gBAAgB,CAAC,CAAC,EAAE,aAAa;IAExC;;;;;;;OAOG;IACI,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAE,yBAA4E,EACzJ,qBAAqB,GAAE,yBAAyB,GAAG,SAAyD;IA4B9G;;;;;;;;OAQG;IACI,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;IAY7D;;OAEG;WACW,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,kBAAkB,GAAE,yBAA4E,GAAG,eAAe;IAM/L;;OAEG;WACW,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe;IAO5F;;OAEG;WACW,6BAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS;IAkBrH;;;;;;;;;OASG;IACI,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,GAAE,OAAe;IAclI;;;;;;;;;;OAUG;IACI,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS;IAiHvG;;;OAGG;WACW,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,GAAG,SAAS;IAM1F;;;;;;;;;OASG;IACI,wCAAwC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,GAAG,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,GAAG,oBAAoB;IAUlK,OAAO,CAAC,yBAAyB;IAuBjC;;;;;;;;OAQG;IACI,eAAe,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,cAAc,GAAE,MAAW;IAgBtJ,sGAAsG;IACtG,OAAO,CAAC,cAAc;IAWtB;;MAEE;IACF,OAAO,CAAC,YAAY;IAyCpB;;;;;;OAMG;IACI,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,GAAE,OAAe,GAAG,OAAO;CA0C3H"}
1
+ {"version":3,"file":"PolyfaceBuilder.d.ts","sourceRoot":"","sources":["../../../src/polyface/PolyfaceBuilder.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,13 @@ const ParityRegion_1 = require("../curve/ParityRegion");
15
15
  const CylindricalRange_1 = require("../curve/Query/CylindricalRange");
16
16
  const StrokeCountChain_1 = require("../curve/Query/StrokeCountChain");
17
17
  const StrokeOptions_1 = require("../curve/StrokeOptions");
18
- const UnionRegion_1 = require("../curve/UnionRegion");
19
18
  const Geometry_1 = require("../Geometry");
20
19
  const Angle_1 = require("../geometry3d/Angle");
21
20
  const BilinearPatch_1 = require("../geometry3d/BilinearPatch");
22
21
  const FrameBuilder_1 = require("../geometry3d/FrameBuilder");
23
22
  const GeometryHandler_1 = require("../geometry3d/GeometryHandler");
24
23
  const GrowableFloat64Array_1 = require("../geometry3d/GrowableFloat64Array");
24
+ const GrowableXYArray_1 = require("../geometry3d/GrowableXYArray");
25
25
  const GrowableXYZArray_1 = require("../geometry3d/GrowableXYZArray");
26
26
  const IndexedXYZCollection_1 = require("../geometry3d/IndexedXYZCollection");
27
27
  const Matrix3d_1 = require("../geometry3d/Matrix3d");
@@ -43,7 +43,6 @@ const IndexedEdgeMatcher_1 = require("./IndexedEdgeMatcher");
43
43
  const IndexedPolyfaceVisitor_1 = require("./IndexedPolyfaceVisitor");
44
44
  const Polyface_1 = require("./Polyface");
45
45
  const PolyfaceQuery_1 = require("./PolyfaceQuery");
46
- /* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/prefer-for-of */
47
46
  /**
48
47
  * A FacetSector
49
48
  * * initially holds coordinate data for a place where xyz and sectionDerivative are known
@@ -180,10 +179,14 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
180
179
  get options() { return this._options; }
181
180
  /** Ask if this builder is reversing vertex order as loops are received. */
182
181
  get reversedFlag() { return this._reversed; }
183
- /** extract the polyface. */
184
- claimPolyface(compress = true) {
182
+ /**
183
+ * Extract the polyface.
184
+ * @param compress whether to cluster vertices (default true)
185
+ * @param tolerance compression tolerance (default Geometry.smallMetricDistance)
186
+ */
187
+ claimPolyface(compress = true, tolerance = Geometry_1.Geometry.smallMetricDistance) {
185
188
  if (compress)
186
- this._polyface.data.compress();
189
+ this._polyface.data.compress(tolerance);
187
190
  return this._polyface;
188
191
  }
189
192
  /** Toggle (reverse) the flag controlling orientation flips for newly added facets. */
@@ -1082,10 +1085,6 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1082
1085
  * Construct facets for any planar region
1083
1086
  */
1084
1087
  addTriangulatedRegion(region) {
1085
- if (region instanceof UnionRegion_1.UnionRegion) {
1086
- for (const child of region.children)
1087
- this.addTriangulatedRegion(child);
1088
- }
1089
1088
  const contour = SweepContour_1.SweepContour.createForLinearSweep(region);
1090
1089
  if (contour)
1091
1090
  contour.emitFacets(this, this.reversedFlag, undefined);
@@ -1186,16 +1185,14 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1186
1185
  this.addBetweenLineStringsWithStoredIndices(strokeA, strokeB);
1187
1186
  }
1188
1187
  else if (stroke0 instanceof ParityRegion_1.ParityRegion) {
1189
- for (let i = 0; i < stroke0.children.length; i++) { // eslint-disable-line @typescript-eslint/prefer-for-of
1190
- this.addBetweenRotatedStrokeSets(stroke0.children[i], transformA, vA, transformB, vB);
1188
+ for (const child of stroke0.children) {
1189
+ this.addBetweenRotatedStrokeSets(child, transformA, vA, transformB, vB);
1191
1190
  }
1192
1191
  }
1193
1192
  else if (stroke0 instanceof CurveCollection_1.CurveChain) {
1194
- const chainA = stroke0.children;
1195
- for (let i = 0; i < chainA.length; i++) { // eslint-disable-line @typescript-eslint/prefer-for-of
1196
- const cpA = chainA[i];
1197
- if (cpA instanceof LineString3d_1.LineString3d) {
1198
- this.addBetweenRotatedStrokeSets(cpA, transformA, vA, transformB, vB);
1193
+ for (const child of stroke0.children) {
1194
+ if (child instanceof LineString3d_1.LineString3d) {
1195
+ this.addBetweenRotatedStrokeSets(child, transformA, vA, transformB, vB);
1199
1196
  }
1200
1197
  }
1201
1198
  }
@@ -1230,8 +1227,8 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1230
1227
  let stroke0;
1231
1228
  let stroke1;
1232
1229
  const sectionMaps = [];
1233
- for (let i = 0; i < contours.length; i++) { // eslint-disable-line @typescript-eslint/prefer-for-of
1234
- sectionMaps.push(StrokeCountChain_1.StrokeCountSection.createForParityRegionOrChain(contours[i].curves, this._options));
1230
+ for (const contour of contours) {
1231
+ sectionMaps.push(StrokeCountChain_1.StrokeCountSection.createForParityRegionOrChain(contour.curves, this._options));
1235
1232
  }
1236
1233
  if (StrokeCountChain_1.StrokeCountSection.enforceStrokeCountCompatibility(sectionMaps)) {
1237
1234
  StrokeCountChain_1.StrokeCountSection.enforceCompatibleDistanceSums(sectionMaps);
@@ -1456,8 +1453,40 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1456
1453
  addFacetFromVisitor(visitor) {
1457
1454
  this.addFacetFromGrowableArrays(visitor.point, visitor.normal, visitor.param, visitor.color, visitor.edgeVisible);
1458
1455
  }
1456
+ /**
1457
+ * Add the subset of visitor data indexed by the indices.
1458
+ * * Ideally, the subset represents a sub-facet of the visited facet.
1459
+ * @param visitor data for the currently visited facet
1460
+ * @param indices local indices into the visitor data arrays
1461
+ * @returns whether the data was added successfully. Encountering an invalid index returns false.
1462
+ */
1463
+ addFacetFromIndexedVisitor(visitor, indices) {
1464
+ if (indices.length > visitor.pointIndex.length)
1465
+ return false;
1466
+ const xyz = new GrowableXYZArray_1.GrowableXYZArray(indices.length);
1467
+ const normal = visitor.normal ? new GrowableXYZArray_1.GrowableXYZArray(indices.length) : undefined;
1468
+ const param = visitor.param ? new GrowableXYArray_1.GrowableXYArray(indices.length) : undefined;
1469
+ const color = visitor.color ? new Array(indices.length) : undefined;
1470
+ const visible = visitor.edgeVisible ? new Array(indices.length) : undefined;
1471
+ for (let i = 0; i < indices.length; ++i) {
1472
+ const index = indices[i];
1473
+ if (index < 0 || index >= visitor.point.length) // all visitor arrays have the same length
1474
+ return false;
1475
+ xyz.pushXYZ(visitor.point.getXAtUncheckedPointIndex(index), visitor.point.getYAtUncheckedPointIndex(index), visitor.point.getZAtUncheckedPointIndex(index));
1476
+ if (visitor.normal && normal)
1477
+ normal.pushXYZ(visitor.normal.getXAtUncheckedPointIndex(index), visitor.normal.getYAtUncheckedPointIndex(index), visitor.normal.getZAtUncheckedPointIndex(index));
1478
+ if (visitor.param && param)
1479
+ param.pushXY(visitor.param.getXAtUncheckedPointIndex(index), visitor.param.getYAtUncheckedPointIndex(index));
1480
+ if (visitor.color && color)
1481
+ color[i] = visitor.color[index];
1482
+ if (visitor.edgeVisible && visible)
1483
+ visible[i] = visitor.edgeVisible[index];
1484
+ }
1485
+ this.addFacetFromGrowableArrays(xyz, normal, param, color, visible);
1486
+ return true;
1487
+ }
1459
1488
  /** Add a polyface, with optional reverse and transform. */
1460
- addIndexedPolyface(source, reversed, transform) {
1489
+ addIndexedPolyface(source, reversed = false, transform) {
1461
1490
  this._polyface.addIndexedPolyface(source, reversed, transform);
1462
1491
  }
1463
1492
  /**
@@ -1498,12 +1527,13 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1498
1527
  * * Rely on the builder's compress step to find common vertex coordinates
1499
1528
  * @internal
1500
1529
  */
1501
- addGraph(graph, needParams, acceptFaceFunction = (node) => Graph_1.HalfEdge.testNodeMaskNotExterior(node), isEdgeVisibleFunction = (node) => Graph_1.HalfEdge.testMateMaskExterior(node)) {
1530
+ addGraph(graph, acceptFaceFunction = (node) => Graph_1.HalfEdge.testNodeMaskNotExterior(node), isEdgeVisibleFunction = (node) => Graph_1.HalfEdge.testMateMaskExterior(node)) {
1502
1531
  let index = 0;
1503
1532
  const needNormals = this._options.needNormals;
1533
+ const needParams = this._options.needParams;
1504
1534
  let normalIndex = 0;
1505
1535
  if (needNormals)
1506
- normalIndex = this._polyface.addNormalXYZ(0, 0, 1); // big assumption !!!! someday check if that's where the facets actually are!!
1536
+ normalIndex = this._polyface.addNormalXYZ(0, 0, 1); // big assumption!!!! Is each node.z really the same?
1507
1537
  graph.announceFaceLoops((_graph, seed) => {
1508
1538
  if (acceptFaceFunction(seed) && seed.countEdgesAroundFace() > 2) {
1509
1539
  let node = seed;
@@ -1511,7 +1541,7 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1511
1541
  index = this.addPointXYZ(node.x, node.y, node.z);
1512
1542
  this._polyface.addPointIndex(index, isEdgeVisibleFunction === undefined ? true : isEdgeVisibleFunction(node));
1513
1543
  if (needParams) {
1514
- index = this.addParamXY(node.x, node.y);
1544
+ index = this.addParamXY(node.x, node.y); // big assumption!!!!
1515
1545
  this._polyface.addParamIndex(index);
1516
1546
  }
1517
1547
  if (needNormals) {
@@ -1550,7 +1580,7 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1550
1580
  */
1551
1581
  static graphToPolyface(graph, options, acceptFaceFunction = (node) => Graph_1.HalfEdge.testNodeMaskNotExterior(node)) {
1552
1582
  const builder = PolyfaceBuilder.create(options);
1553
- builder.addGraph(graph, builder.options.needParams, acceptFaceFunction);
1583
+ builder.addGraph(graph, acceptFaceFunction);
1554
1584
  builder.endFace();
1555
1585
  return builder.claimPolyface();
1556
1586
  }
@@ -1711,10 +1741,10 @@ class PolyfaceBuilder extends GeometryHandler_1.NullGeometryHandler {
1711
1741
  * Triangulate the points as viewed in xy.
1712
1742
  * @param points
1713
1743
  */
1714
- static pointsToTriangulatedPolyface(points) {
1744
+ static pointsToTriangulatedPolyface(points, options) {
1715
1745
  const graph = Triangulation_1.Triangulator.createTriangulatedGraphFromPoints(points);
1716
1746
  if (graph)
1717
- return PolyfaceBuilder.graphToPolyface(graph);
1747
+ return PolyfaceBuilder.graphToPolyface(graph, options);
1718
1748
  return undefined;
1719
1749
  }
1720
1750
  /** Create (and add to the builder) triangles that bridge the gap between two linestrings.