@itwin/core-geometry 4.8.0-dev.9 → 4.9.0-dev.2

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 (468) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/lib/cjs/Constant.d.ts +4 -3
  3. package/lib/cjs/Constant.d.ts.map +1 -1
  4. package/lib/cjs/Constant.js +4 -3
  5. package/lib/cjs/Constant.js.map +1 -1
  6. package/lib/cjs/Geometry.js.map +1 -1
  7. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  8. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  9. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  10. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  11. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  12. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  13. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  14. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  15. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  16. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  17. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  18. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  19. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  20. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  21. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  22. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  23. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  24. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  25. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  26. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  27. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  28. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  29. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  30. package/lib/cjs/core-geometry.js.map +1 -1
  31. package/lib/cjs/curve/Arc3d.js.map +1 -1
  32. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  33. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  34. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  35. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  36. package/lib/cjs/curve/CurveCurve.d.ts +0 -1
  37. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  38. package/lib/cjs/curve/CurveCurve.js +0 -1
  39. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  40. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  41. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  42. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  43. package/lib/cjs/curve/CurveOps.js.map +1 -1
  44. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  45. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  46. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  47. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  48. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  49. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  50. package/lib/cjs/curve/LineString3d.js.map +1 -1
  51. package/lib/cjs/curve/Loop.js.map +1 -1
  52. package/lib/cjs/curve/OffsetOptions.js.map +1 -1
  53. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  54. package/lib/cjs/curve/Path.js.map +1 -1
  55. package/lib/cjs/curve/PointString3d.js.map +1 -1
  56. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  57. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  58. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  59. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  60. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  61. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  62. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  63. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  64. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  65. package/lib/cjs/curve/RegionOps.js.map +1 -1
  66. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  67. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  68. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  69. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  70. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  71. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  72. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  73. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  74. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  75. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  76. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +5 -4
  77. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  78. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  79. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  80. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  81. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  82. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  83. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  84. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  85. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  86. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  87. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  88. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  89. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  90. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  91. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  92. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  93. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  94. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  95. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  96. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  97. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  98. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  99. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  100. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  101. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  102. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  103. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  104. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  105. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  106. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  107. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  108. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  109. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  110. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  111. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  112. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  113. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  114. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  115. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  116. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  117. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  118. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  119. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  120. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  121. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  122. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  123. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  124. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  125. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  126. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  127. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  128. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  129. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  130. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  131. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  132. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  133. package/lib/cjs/geometry3d/Range.js.map +1 -1
  134. package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
  135. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  136. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  137. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  138. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  139. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  140. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  141. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  142. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  143. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  144. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  145. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  146. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  147. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  148. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  149. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  150. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  151. package/lib/cjs/numerics/Complex.js.map +1 -1
  152. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  153. package/lib/cjs/numerics/Newton.js.map +1 -1
  154. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  155. package/lib/cjs/numerics/PolarData.js.map +1 -1
  156. package/lib/cjs/numerics/Polynomials.d.ts +5 -4
  157. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  158. package/lib/cjs/numerics/Polynomials.js +5 -4
  159. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  160. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  161. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  162. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  163. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  164. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  165. package/lib/cjs/polyface/AuxData.js.map +1 -1
  166. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  167. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  168. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  169. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  170. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  171. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  172. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  173. package/lib/cjs/polyface/Polyface.js.map +1 -1
  174. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +219 -200
  175. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  176. package/lib/cjs/polyface/PolyfaceBuilder.js +349 -304
  177. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  178. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  179. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  180. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  181. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  182. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  183. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  184. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  185. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  186. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  187. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  188. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  189. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  190. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  191. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  192. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  193. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  194. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  195. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  196. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  197. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  198. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  199. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  200. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  201. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  202. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  203. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  204. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  205. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  206. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
  207. package/lib/cjs/solid/Box.js.map +1 -1
  208. package/lib/cjs/solid/Cone.js.map +1 -1
  209. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  210. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  211. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  212. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  213. package/lib/cjs/solid/Sphere.js.map +1 -1
  214. package/lib/cjs/solid/SweepContour.js.map +1 -1
  215. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  216. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  217. package/lib/cjs/topology/Graph.js.map +1 -1
  218. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  219. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  220. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  221. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  222. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  223. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  224. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  225. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  226. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  227. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  228. package/lib/cjs/topology/MaskManager.js.map +1 -1
  229. package/lib/cjs/topology/Merging.js.map +1 -1
  230. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  231. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  232. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  233. package/lib/cjs/topology/Triangulation.js.map +1 -1
  234. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  235. package/lib/esm/Constant.d.ts +4 -3
  236. package/lib/esm/Constant.d.ts.map +1 -1
  237. package/lib/esm/Constant.js +4 -3
  238. package/lib/esm/Constant.js.map +1 -1
  239. package/lib/esm/Geometry.js.map +1 -1
  240. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  241. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  242. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  243. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  244. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  245. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  246. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  247. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  248. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  249. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  250. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  251. package/lib/esm/bspline/KnotVector.js.map +1 -1
  252. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  253. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  254. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  255. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  256. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  257. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  258. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  259. package/lib/esm/clipping/ClipVector.js.map +1 -1
  260. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  261. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  262. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  263. package/lib/esm/core-geometry.js.map +1 -1
  264. package/lib/esm/curve/Arc3d.js.map +1 -1
  265. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  266. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  267. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  268. package/lib/esm/curve/CurveCollection.js.map +1 -1
  269. package/lib/esm/curve/CurveCurve.d.ts +0 -1
  270. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  271. package/lib/esm/curve/CurveCurve.js +0 -1
  272. package/lib/esm/curve/CurveCurve.js.map +1 -1
  273. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  274. package/lib/esm/curve/CurveFactory.js.map +1 -1
  275. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  276. package/lib/esm/curve/CurveOps.js.map +1 -1
  277. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  278. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  279. package/lib/esm/curve/CurveTypes.js.map +1 -1
  280. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  281. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  282. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  283. package/lib/esm/curve/LineString3d.js.map +1 -1
  284. package/lib/esm/curve/Loop.js.map +1 -1
  285. package/lib/esm/curve/OffsetOptions.js.map +1 -1
  286. package/lib/esm/curve/ParityRegion.js.map +1 -1
  287. package/lib/esm/curve/Path.js.map +1 -1
  288. package/lib/esm/curve/PointString3d.js.map +1 -1
  289. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  290. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  291. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  292. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  293. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  294. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  295. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  296. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  297. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  298. package/lib/esm/curve/RegionOps.js.map +1 -1
  299. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  300. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  301. package/lib/esm/curve/UnionRegion.js.map +1 -1
  302. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  303. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  304. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  305. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  306. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  307. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  308. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  309. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +5 -4
  310. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  311. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  312. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  313. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  314. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  315. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  316. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  317. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  318. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  319. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  320. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  321. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  322. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  323. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  324. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  325. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  326. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  327. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  328. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  329. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  330. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  331. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  332. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  333. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  334. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  335. package/lib/esm/geometry3d/Angle.js.map +1 -1
  336. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  337. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  338. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  339. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  340. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  341. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  342. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  343. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  344. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  345. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  346. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  347. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  348. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  349. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  350. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  351. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  352. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  353. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  354. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  355. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  356. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  357. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  358. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  359. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  360. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  361. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  362. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  363. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  364. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  365. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  366. package/lib/esm/geometry3d/Range.js.map +1 -1
  367. package/lib/esm/geometry3d/Ray2d.js.map +1 -1
  368. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  369. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  370. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  371. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  372. package/lib/esm/geometry3d/Transform.js.map +1 -1
  373. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  374. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  375. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  376. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  377. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  378. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  379. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  380. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  381. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  382. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  383. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  384. package/lib/esm/numerics/Complex.js.map +1 -1
  385. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  386. package/lib/esm/numerics/Newton.js.map +1 -1
  387. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  388. package/lib/esm/numerics/PolarData.js.map +1 -1
  389. package/lib/esm/numerics/Polynomials.d.ts +5 -4
  390. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  391. package/lib/esm/numerics/Polynomials.js +5 -4
  392. package/lib/esm/numerics/Polynomials.js.map +1 -1
  393. package/lib/esm/numerics/Quadrature.js.map +1 -1
  394. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  395. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  396. package/lib/esm/numerics/UnionFind.js.map +1 -1
  397. package/lib/esm/numerics/UsageSums.js.map +1 -1
  398. package/lib/esm/polyface/AuxData.js.map +1 -1
  399. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  400. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  401. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  402. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  403. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  404. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  405. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  406. package/lib/esm/polyface/Polyface.js.map +1 -1
  407. package/lib/esm/polyface/PolyfaceBuilder.d.ts +219 -200
  408. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  409. package/lib/esm/polyface/PolyfaceBuilder.js +349 -304
  410. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  411. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  412. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  413. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  414. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  415. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  416. package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  417. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  418. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  419. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  420. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  421. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  422. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  423. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  424. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  425. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  426. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  427. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  428. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  429. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  430. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  431. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  432. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  433. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  434. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  435. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  436. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  437. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  438. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  439. package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
  440. package/lib/esm/solid/Box.js.map +1 -1
  441. package/lib/esm/solid/Cone.js.map +1 -1
  442. package/lib/esm/solid/LinearSweep.js.map +1 -1
  443. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  444. package/lib/esm/solid/RuledSweep.js.map +1 -1
  445. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  446. package/lib/esm/solid/Sphere.js.map +1 -1
  447. package/lib/esm/solid/SweepContour.js.map +1 -1
  448. package/lib/esm/solid/TorusPipe.js.map +1 -1
  449. package/lib/esm/topology/ChainMerge.js.map +1 -1
  450. package/lib/esm/topology/Graph.js.map +1 -1
  451. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  452. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  453. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  454. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  455. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  456. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  457. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  458. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  459. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  460. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  461. package/lib/esm/topology/MaskManager.js.map +1 -1
  462. package/lib/esm/topology/Merging.js.map +1 -1
  463. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  464. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  465. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  466. package/lib/esm/topology/Triangulation.js.map +1 -1
  467. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  468. package/package.json +3 -3
@@ -30,12 +30,10 @@ import { TorusPipe } from "../solid/TorusPipe";
30
30
  import { HalfEdge, HalfEdgeGraph, HalfEdgeToBooleanFunction } from "../topology/Graph";
31
31
  import { IndexedPolyface, PolyfaceVisitor } from "./Polyface";
32
32
  /**
33
- *
34
33
  * * Simple construction for strongly typed GeometryQuery objects:
35
34
  *
36
35
  * * Create a builder with `builder = PolyfaceBuilder.create()`
37
36
  * * Add GeometryQuery objects:
38
- *
39
37
  * * `builder.addGeometryQuery(g: GeometryQuery)`
40
38
  * * `builder.addCone(cone: Cone)`
41
39
  * * `builder.addTorusPipe(surface: TorusPipe)`
@@ -46,7 +44,7 @@ import { IndexedPolyface, PolyfaceVisitor } from "./Polyface";
46
44
  * * `builder.addSphere(sphere: Sphere)`
47
45
  * * `builder.addBox(box: Box)`
48
46
  * * `builder.addIndexedPolyface(polyface)`
49
- * * Extract with `builder.claimPolyface(true)`
47
+ * * Extract with `builder.claimPolyface(true)`
50
48
  *
51
49
  * * Simple construction for ephemeral constructive data:
52
50
  *
@@ -62,9 +60,10 @@ import { IndexedPolyface, PolyfaceVisitor } from "./Polyface";
62
60
  * * `builder.addTrianglesInUncheckedConvexPolygon(linestring, toggle)`
63
61
  * * `builder.addUVGridBody(surface,numU, numV, createFanInCaps)`
64
62
  * * `builder.addGraph(Graph, acceptFaceFunction)`
65
- * * Extract with `builder.claimPolyface(true)`
63
+ * * Extract with `builder.claimPolyface(true)`
64
+ *
65
+ * * Low-level detail construction -- direct use of indices:
66
66
  *
67
- * * Low-level detail construction -- direct use of indices
68
67
  * * Create a builder with `builder = PolyfaceBuilder.create()`
69
68
  * * Add GeometryQuery objects
70
69
  * * `builder.addPoint(point)`
@@ -72,67 +71,67 @@ import { IndexedPolyface, PolyfaceVisitor } from "./Polyface";
72
71
  * * `builder.addPointXYZ(x,y,z)`
73
72
  * * `builder.addTriangleFacet(points)`
74
73
  * * `builder.addQuadFacet(points)`
75
- * @public
74
+ * @public
76
75
  */
77
76
  export declare class PolyfaceBuilder extends NullGeometryHandler {
78
77
  private _polyface;
79
78
  private _options;
80
- /** return (pointer to) the `StrokeOptions` in use by the builder. */
79
+ /** Return (pointer to) the `StrokeOptions` in use by the builder. */
81
80
  get options(): StrokeOptions;
81
+ /** State data that affects the current construction. **/
82
82
  private _reversed;
83
83
  /** Ask if this builder is reversing vertex order as loops are received. */
84
84
  get reversedFlag(): boolean;
85
85
  /**
86
86
  * Extract the polyface.
87
- * @param compress whether to cluster vertices (default true)
88
- * @param tolerance compression tolerance (default Geometry.smallMetricDistance)
87
+ * @param compress whether to cluster vertices (default `true`).
88
+ * @param tolerance compression tolerance (default `Geometry.smallMetricDistance`).
89
89
  */
90
90
  claimPolyface(compress?: boolean, tolerance?: number): IndexedPolyface;
91
91
  /** Toggle (reverse) the flag controlling orientation flips for newly added facets. */
92
92
  toggleReversedFacetFlag(): void;
93
93
  private constructor();
94
94
  /**
95
- * Create a builder with given StrokeOptions
96
- * @param options StrokeOptions (captured)
95
+ * Create a builder with given StrokeOptions.
96
+ * @param options StrokeOptions (captured).
97
97
  */
98
98
  static create(options?: StrokeOptions): PolyfaceBuilder;
99
- /** add facets for a transformed unit box. */
99
+ /** Add facets for a transformed unit box. */
100
100
  addTransformedUnitBox(transform: Transform): void;
101
- /** Add facets for a transformed range box.
101
+ /**
102
+ * Add facets for a transformed range box.
102
103
  * * For best results, the transformed range corners should define a nonzero volume or area.
103
- * @param transform applied to the range points before adding to the polyface
104
- * @param range sides become 6 quad polyface facets
105
- * @param faceSelector for each face in the order of BoxTopology.cornerIndexCCW, faceSelector[i]===false skips that facet.
104
+ * @param transform applied to the range points before adding to the polyface.
105
+ * @param range sides become 6 quad polyface facets.
106
+ * @param faceSelector for each face in the order of `BoxTopology.cornerIndexCCW`, `faceSelector[i] === false` skips
107
+ * that facet.
106
108
  */
107
109
  addTransformedRangeMesh(transform: Transform, range: Range3d, faceSelector?: boolean[]): void;
108
- /** Add triangles from points[0] to each far edge.
109
- * @param ls linestring with point coordinates
110
- * @param toggle if true, wrap the triangle creation in toggleReversedFacetFlag.
110
+ /**
111
+ * Add triangles from `conePoint` to each far edge.
112
+ * @param conePoint the common vertex of all triangles.
113
+ * @param ls linestring with point coordinates.
114
+ * @param toggle if `true`, wrap the triangle creation in toggleReversedFacetFlag.
111
115
  */
112
116
  addTriangleFan(conePoint: Point3d, ls: LineString3d, toggle: boolean): void;
113
- /** Add triangles from points[0] to each far edge
114
- * * Assume the polygon is convex.
115
- * * i.e. simple triangulation from point0
116
- * * i.e. simple cross products give a good normal.
117
- * @param ls linestring with point coordinates
118
- * @param reverse if true, wrap the triangle creation in toggleReversedFacetFlag.
119
- */
120
- addTrianglesInUncheckedConvexPolygon(ls: LineString3d, toggle: boolean): void;
121
117
  /**
122
- * Announce point coordinates.
118
+ * Add triangles from the first point of the linestring to the subsequent edges of the linestring.
119
+ * * No checks are made for polygon convexity or edge collinearity, conditions which would ensure positive area triangles.
120
+ * @param ls linestring with point coordinates.
121
+ * @param reverse if `true`, wrap the triangle creation in toggleReversedFacetFlag.
123
122
  */
123
+ addTrianglesInUncheckedConvexPolygon(ls: LineString3d, toggle: boolean): void;
124
+ /** Add a point to the polyface. */
124
125
  addPoint(xyz: Point3d): number;
125
126
  /**
126
- * Announce point coordinates.
127
+ * Add a point to the polyface.
127
128
  * @deprecated in 3.x. Use addPoint instead.
128
129
  */
129
130
  findOrAddPoint(xyz: Point3d): number;
130
- /**
131
- * Announce uv parameter coordinates.
132
- */
131
+ /** Add a uv parameter to the polyface. */
133
132
  addParamXY(x: number, y: number): number;
134
133
  /**
135
- * Announce uv parameter coordinates.
134
+ * Add a uv parameter to the polyface.
136
135
  * @deprecated in 3.x. Use addParamXY instead.
137
136
  */
138
137
  findOrAddParamXY(x: number, y: number): number;
@@ -140,53 +139,72 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
140
139
  private static _workVectorFindOrAdd;
141
140
  private static _workUVFindOrAdd;
142
141
  /**
143
- * Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
144
- * @returns Returns the point index in the Polyface.
145
- * @param index Index of the point in the linestring.
142
+ * Add a point to the polyface. The implementation is free to either create a new point or return the index of a
143
+ * prior point with the same coordinates.
144
+ * @param ls the linestring.
145
+ * @param index index of the point in the linestring.
146
+ * @param transform (optional) transform to be applied.
147
+ * @param priorIndex (optional) index of a prior point to check for possible duplicate value.
148
+ * @returns the point index in the polyface.
146
149
  */
147
150
  findOrAddPointInLineString(ls: LineString3d, index: number, transform?: Transform, priorIndex?: number): number | undefined;
148
151
  /**
149
- * Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
150
- * @returns Returns the point index in the Polyface.
151
- * @param index Index of the point in the linestring.
152
+ * Add a point to the polyface. The implementation is free to either create a new point or return the index of a
153
+ * prior point with the same coordinates.
154
+ * @param xyz the array of points.
155
+ * @param index index of the point in the array.
156
+ * @param transform (optional) transform to be applied.
157
+ * @param priorIndex (optional) index of a prior point to check for possible duplicate value.
158
+ * @returns the point index in the polyface.
152
159
  */
153
160
  findOrAddPointInGrowableXYZArray(xyz: GrowableXYZArray, index: number, transform?: Transform, priorIndex?: number): number | undefined;
154
161
  /**
155
- * Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
156
- * @returns Returns the point index in the Polyface.
157
- * @param index Index of the point in the linestring.
162
+ * Add a normal to the polyface. The implementation is free to either create a new normal or return the index of a
163
+ * prior normal with the same coordinates.
164
+ * @param xyz the array of normals.
165
+ * @param index index of the normal in the array.
166
+ * @param transform (optional) transform to be applied.
167
+ * @param priorIndex (optional) index of a prior point to check for possible duplicate value.
168
+ * @returns the normal index in the polyface.
158
169
  */
159
170
  findOrAddNormalInGrowableXYZArray(xyz: GrowableXYZArray, index: number, transform?: Transform, priorIndex?: number): number | undefined;
160
171
  /**
161
- * Announce uv parameter coordinates.
162
- * @returns Returns the uv parameter index in the Polyface.
163
- * @param index Index of the param in the linestring.
172
+ * Add a uv parameter to the polyface.
173
+ * @param data the array of uv data.
174
+ * @param index index of the param in the array.
175
+ * @returns the uv parameter index in the polyface.
164
176
  */
165
177
  addParamInGrowableXYArray(data: GrowableXYArray, index: number): number | undefined;
166
178
  /**
167
- * Announce uv parameter coordinates.
179
+ * Add a uv parameter to the polyface.
168
180
  * @deprecated in 3.x. Use addParamInGrowableXYArray instead.
169
181
  */
170
182
  findOrAddParamInGrowableXYArray(data: GrowableXYArray, index: number): number | undefined;
171
183
  /**
172
- * Announce param coordinates, taking u from ls.fractions and v from parameter. The implementation is free to either create a new param or (if known) return index of a prior point with the same coordinates.
173
- * @returns Returns the point index in the Polyface.
174
- * @param index Index of the point in the linestring.
184
+ * Add a uv parameter to the polyface, taking `u` from `ls.fractions` and `v` from input. The implementation is
185
+ * free to either create a new param or return the index of a prior param with the same coordinates.
186
+ * @param ls the linestring.
187
+ * @param index index of the point in the linestring.
188
+ * @param v the v parameter.
189
+ * @param priorIndexA (optional) an index of a prior param to check for possible duplicate value.
190
+ * @param priorIndexB (optional) another index of a prior param to check for possible duplicate value.
191
+ * @returns the uv parameter index in the polyface.
175
192
  */
176
193
  findOrAddParamInLineString(ls: LineString3d, index: number, v: number, priorIndexA?: number, priorIndexB?: number): number | undefined;
177
194
  /**
178
- * Announce normal coordinates found at index in the surfaceNormal array stored on the linestring
179
- * @returns Returns the point index in the Polyface.
180
- * @param index Index of the point in the linestring.
181
- * @param priorIndex possible prior normal index to reuse
195
+ * Add a normal to the polyface.
196
+ * @param ls the linestring.
197
+ * @param index Index of the normal in the linestring's surface normal array.
198
+ * @param transform (optional) transform to be applied.
199
+ * @param priorIndexA (optional) an index of a prior normal to check for possible duplicate value.
200
+ * @param priorIndexB (optional) another index of a prior normal to check for possible duplicate value.
201
+ * @returns the normal index in the polyface.
182
202
  */
183
203
  findOrAddNormalInLineString(ls: LineString3d, index: number, transform?: Transform, priorIndexA?: number, priorIndexB?: number): number | undefined;
184
- /**
185
- * Announce point coordinates.
186
- */
204
+ /** Add a point to the polyface. */
187
205
  addPointXYZ(x: number, y: number, z: number): number;
188
206
  /**
189
- * Announce point coordinates.
207
+ * Add a point to the polyface.
190
208
  * @deprecated in 3.x. Use addPointXYZ instead.
191
209
  */
192
210
  findOrAddPointXYZ(x: number, y: number, z: number): number;
@@ -196,17 +214,20 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
196
214
  private getNormalForTriangularFacet;
197
215
  /**
198
216
  * Add a quad to the polyface given its points in order around the edges.
199
- * @param points array of at least three vertices
200
- * @param params optional array of at least four uv parameters (if undefined, params are calculated without reference data)
201
- * @param normals optional array of at least four vectors (if undefined, the quad is assumed to be planar and its normal is calculated)
202
- * @param colors optional array of at least four colors
217
+ * @param points array of at least four vertices.
218
+ * @param params (optional) array of at least four uv parameters (if `undefined`, params are calculated without
219
+ * reference data).
220
+ * @param normals (optional) array of at least four vectors (if `undefined`, the quad is assumed to be planar and its
221
+ * normal is calculated).
222
+ * @param colors (optional) array of at least four colors.
203
223
  */
204
224
  addQuadFacet(points: Point3d[] | GrowableXYZArray, params?: Point2d[], normals?: Vector3d[], colors?: number[]): void;
205
- /** Announce a single quad facet's point indexes.
225
+ /**
226
+ * Add a single quad facet from existing points to the polyface.
206
227
  * * The actual quad may be reversed or triangulated based on builder setup.
207
- * * indexA0 and indexA1 are in the forward order at the "A" end of the quad
208
- * * indexB0 and indexB1 are in the forward order at the "B" end of the quad.
209
- * * This means ccw/cw ordered vertices v[i] should be passed into this function as i=[0,1,3,2]
228
+ * * `indexA0` and `indexA1` are in the forward order at the "A" end of the quad
229
+ * * `indexB0` and `indexB1` are in the forward order at the "B" end of the quad.
230
+ * * This means ccw/cw ordered vertices v[i] should be passed into this function as i=[0,1,3,2].
210
231
  */
211
232
  private addIndexedQuadPointIndexes;
212
233
  /** For a single quad facet, add the indexes of the corresponding param points. */
@@ -217,15 +238,16 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
217
238
  private addIndexedQuadColorIndexes;
218
239
  /**
219
240
  * Add a triangle to the polyface given its points in order around the edges.
220
- * @param points array of at least three vertices
221
- * @param params optional array of at least three uv parameters (if undefined, params are calculated without reference data)
222
- * @param normals optional array of at least three vectors (if undefined, the normal is calculated)
223
- * @param colors optional array of at least three colors
241
+ * @param points array of at least three vertices.
242
+ * @param params (optional) array of at least three uv parameters (if `undefined`, params are calculated without
243
+ * reference data).
244
+ * @param normals (optional) array of at least three vectors (if `undefined`, the normal is calculated).
245
+ * @param colors (optional) array of at least three colors.
224
246
  */
225
247
  addTriangleFacet(points: Point3d[] | GrowableXYZArray, params?: Point2d[], normals?: Vector3d[], colors?: number[]): void;
226
- /** Announce a single triangle facet's point indexes.
227
- *
228
- * * The actual quad may be reversed or triangulated based on builder setup.
248
+ /**
249
+ * Add a single triangular facet from existing points to the polyface.
250
+ * * The added triangle may be reversed based on builder setup.
229
251
  */
230
252
  private addIndexedTrianglePointIndexes;
231
253
  /** For a single triangle facet, add the indexes of the corresponding params. */
@@ -238,223 +260,215 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
238
260
  private setSectorIndices;
239
261
  private addSectorTriangle;
240
262
  private addSectorQuadA01B01;
241
- /** Add facets between lineStrings with matched point counts.
242
- * * surface normals are computed from (a) curve tangents in the linestrings and (b)rule line between linestrings.
243
- * * Facets are announced to addIndexedQuad.
244
- * * addIndexedQuad is free to apply reversal or triangulation options.
263
+ /**
264
+ * Add facets between lineStrings with matched point counts.
265
+ * * Surface normals are computed from (a) curve tangents in the linestrings and (b) rule line between linestrings.
245
266
  */
246
267
  addBetweenLineStringsWithRuleEdgeNormals(lineStringA: LineString3d, vA: number, lineStringB: LineString3d, vB: number, addClosure?: boolean): void;
247
- /** Add facets between lineStrings with matched point counts.
248
- * * point indices pre-stored
249
- * * normal indices pre-stored
250
- * * uv indices pre-stored
268
+ /**
269
+ * Add facets between lineStrings with matched point counts.
270
+ * * Indices of points, normals, and uv parameters are pre-stored in the linestrings.
251
271
  */
252
272
  addBetweenLineStringsWithStoredIndices(lineStringA: LineString3d, lineStringB: LineString3d): void;
253
- /** Add facets between lineStrings with matched point counts.
254
- *
273
+ /**
274
+ * Add facets between lineStrings with matched point counts.
255
275
  * * Facets are announced to addIndexedQuad.
256
276
  * * addIndexedQuad is free to apply reversal or triangulation options.
257
277
  */
258
278
  addBetweenTransformedLineStrings(curves: AnyCurve, transformA: Transform, transformB: Transform, addClosure?: boolean): void;
259
279
  private addBetweenStrokeSetPair;
260
- /**
261
- * Add facets from a Cone
262
- */
280
+ /** Add facets from a Cone. */
263
281
  addCone(cone: Cone): void;
264
- /**
265
- * Add facets for a TorusPipe.
266
- */
282
+ /** Add facets for a TorusPipe. */
267
283
  addTorusPipe(surface: TorusPipe, phiStrokeCount?: number, thetaStrokeCount?: number): void;
268
284
  /**
269
285
  * Add point data (no params, normals) for linestrings.
270
- * * This recurses through curve chains (loops and paths)
271
- * * linestrings are swept
286
+ * * This recurses through curve chains (loops and paths).
287
+ * * LineStrings are swept.
272
288
  * * All other curve types are ignored.
273
- * @param vector sweep vector
274
- * @param contour contour which contains only linestrings
289
+ * @param contour contour which contains only linestrings.
290
+ * @param vector sweep vector.
275
291
  */
276
292
  addLinearSweepLineStringsXYZOnly(contour: AnyCurve, vector: Vector3d): void;
277
- /**
278
- * Construct facets for a rotational sweep.
279
- */
293
+ /** Construct facets for a rotational sweep. */
280
294
  addRotationalSweep(surface: RotationalSweep): void;
281
- /**
282
- * Construct facets for any planar region
283
- */
295
+ /** Construct facets for any planar region. */
284
296
  addTriangulatedRegion(region: AnyRegion): void;
285
297
  /**
298
+ * Apply stroke counts to curve primitives.
286
299
  * * Recursively visit all children of data.
287
- * * At each primitive, invoke the computeStrokeCountForOptions method, with options from the builder.
288
- * @param data
300
+ * * At each primitive, invoke `computeStrokeCountForOptions` method with options from the builder.
301
+ * @deprecated in 4.x. This method does nothing and is unneeded.
289
302
  */
290
303
  applyStrokeCountsToCurvePrimitives(data: AnyCurve | GeometryQuery): void;
291
304
  private addBetweenStrokeSetsWithRuledNormals;
292
305
  private createIndicesInLineString;
293
306
  private addBetweenRotatedStrokeSets;
294
- /**
295
- *
296
- * Add facets from
297
- * * The swept contour
298
- * * each cap.
299
- */
307
+ /** Add facets from the linear sweep. */
300
308
  addLinearSweep(surface: LinearSweep): void;
301
- /**
302
- * Add facets from a ruled sweep.
303
- */
309
+ /** Add facets from a ruled sweep. */
304
310
  addRuledSweep(surface: RuledSweep): boolean;
305
- /**
306
- * Add facets from a Sphere
307
- */
311
+ /** Add facets from a sphere. */
308
312
  addSphere(sphere: Sphere, strokeCount?: number): void;
309
- /**
310
- * Add facets from a Box
311
- */
313
+ /** Add facets from a box. */
312
314
  addBox(box: Box): void;
313
- /** Add a polygon to the evolving facets.
314
- *
315
- * * Add points to the polyface
316
- * * indices are added (in reverse order if indicated by the builder state)
317
- * @param points array of points. This may contain extra points not to be used in the polygon
315
+ /**
316
+ * Add a polygon to the evolving facets.
317
+ * * Add points to the polyface.
318
+ * * Indices are added (in reverse order if indicated by the builder state).
319
+ * @param points array of points. This may contain extra points not to be used in the polygon.
318
320
  * @param numPointsToUse number of points to use.
319
321
  */
320
322
  addPolygon(points: Point3d[], numPointsToUse?: number): void;
321
- /** Add a polygon to the evolving facets.
322
- *
323
+ /**
324
+ * Add a polygon to the evolving facets.
323
325
  * * Add points to the polyface
324
- * * indices are added (in reverse order if indicated by the builder state)
326
+ * * Indices are added (in reverse order if indicated by the builder state).
325
327
  * * Arrays with 2 or fewer points are ignored.
326
328
  * @param points array of points. Trailing closure points are ignored.
327
329
  */
328
330
  addPolygonGrowableXYZArray(points: GrowableXYZArray): void;
329
- /** Add a polygon to the evolving facets.
330
- * * add points to the polyface
331
- * * compute each point index as the point is added
332
- * * all data arrays are parallel to the point array
333
- * * point indices are added in reverse order if indicated by the builder state
334
- * @param points array of vertices in order around the facet
335
- * @param normals optional array of normals, one per vertex
336
- * @param params optional array of uv-parameters, one per vertex
337
- * @param colors optional array of colors, one per vertex
338
- * @param edgeVisible optional array of flags, one per vertex, true iff edge starting at corresponding vertex is visible
331
+ /**
332
+ * Add a polygon to the evolving facets.
333
+ * * Add points to the polyface.
334
+ * * Compute each point index as the point is added.
335
+ * * All data arrays are parallel to the point array.
336
+ * * Point indices are added in reverse order if indicated by the builder state.
337
+ * @param points array of vertices in order around the facet.
338
+ * @param normals (optional) array of normals, one per vertex.
339
+ * @param params (optional) array of uv-parameters, one per vertex.
340
+ * @param colors (optional) array of colors, one per vertex.
341
+ * @param edgeVisible (optional) array of flags, one per vertex, true iff edge starting at corresponding vertex is visible.
339
342
  */
340
343
  addFacetFromGrowableArrays(points: GrowableXYZArray, normals: GrowableXYZArray | undefined, params: GrowableXYArray | undefined, colors: number[] | undefined, edgeVisible?: boolean[]): void;
341
- /** Add the current visitor facet to the evolving polyface.
342
- * * indices are added (in reverse order if indicated by the builder state)
344
+ /**
345
+ * Add the current visitor facet to the evolving polyface.
346
+ * * Indices are added (in reverse order if indicated by the builder state).
343
347
  */
344
348
  addFacetFromVisitor(visitor: PolyfaceVisitor): void;
345
- /** Add all visitor facets to the evolving polyface (in reverse order if indicated by the builder state) */
349
+ /** Add all visitor facets to the evolving polyface (in reverse order if indicated by the builder state). */
346
350
  addFacetsFromVisitor(visitor: PolyfaceVisitor): void;
347
351
  /**
348
352
  * Add the subset of visitor data indexed by the indices.
349
353
  * * Ideally, the subset represents a sub-facet of the visited facet.
350
- * @param visitor data for the currently visited facet
351
- * @param indices local indices into the visitor data arrays
354
+ * @param visitor data for the currently visited facet.
355
+ * @param indices local indices into the visitor data arrays.
352
356
  * @returns whether the data was added successfully. Encountering an invalid index returns false.
353
357
  */
354
358
  addFacetFromIndexedVisitor(visitor: PolyfaceVisitor, indices: number[]): boolean;
355
- /** Add a polyface, with optional reverse and transform. */
359
+ /** Add a polyface with optional reverse and transform. */
356
360
  addIndexedPolyface(source: IndexedPolyface, reversed?: boolean, transform?: Transform): void;
357
361
  /**
358
362
  * Produce a new FacetFaceData for all terminated facets since construction of the previous face.
359
- * Each facet number/index is mapped to the FacetFaceData through the faceToFaceData array.
360
- * Returns true if successful, and false otherwise.
363
+ * * Each facet number/index is mapped to the FacetFaceData through the faceToFaceData array.
364
+ * @returns true if successful, and false otherwise.
361
365
  */
362
366
  endFace(): boolean;
363
- /** Double dispatch handler for Cone */
367
+ /** Double dispatch handler for Cone. */
364
368
  handleCone(g: Cone): any;
365
- /** Double dispatch handler for TorusPipe */
369
+ /** Double dispatch handler for TorusPipe. */
366
370
  handleTorusPipe(g: TorusPipe): any;
367
- /** Double dispatch handler for Sphere */
371
+ /** Double dispatch handler for Sphere. */
368
372
  handleSphere(g: Sphere): any;
369
- /** Double dispatch handler for Box */
373
+ /** Double dispatch handler for Box. */
370
374
  handleBox(g: Box): any;
371
- /** Double dispatch handler for LinearSweep */
375
+ /** Double dispatch handler for LinearSweep. */
372
376
  handleLinearSweep(g: LinearSweep): any;
373
- /** Double dispatch handler for RotationalSweep */
377
+ /** Double dispatch handler for RotationalSweep. */
374
378
  handleRotationalSweep(g: RotationalSweep): any;
375
- /** Double dispatch handler for RuledSweep */
379
+ /** Double dispatch handler for RuledSweep. */
376
380
  handleRuledSweep(g: RuledSweep): any;
377
- /** Double dispatch handler for Loop */
381
+ /** Double dispatch handler for Loop. */
378
382
  handleLoop(g: Loop): any;
379
- /** Double dispatch handler for ParityRegion */
383
+ /** Double dispatch handler for ParityRegion. */
380
384
  handleParityRegion(g: ParityRegion): any;
381
- /** Double dispatch handler for UnionRegion */
385
+ /** Double dispatch handler for UnionRegion. */
382
386
  handleUnionRegion(g: UnionRegion): any;
383
- /** add facets for a GeometryQuery object. This is double dispatch through `dispatchToGeometryHandler(this)` */
387
+ /** Add facets for a GeometryQuery object. This is double dispatch through `dispatchToGeometryHandler(this)` */
384
388
  addGeometryQuery(g: GeometryQuery): void;
385
389
  /**
386
390
  * Add a graph to the builder.
387
- * * Visit one node per face
388
- * * If `acceptFaceFunction(node)` returns true, pass face coordinates to the builder
391
+ * * Visit one node per face.
392
+ * * If `acceptFaceFunction(node)` returns true, pass face coordinates to the builder.
389
393
  * * Accepted face edge visibility is determined by `isEdgeVisibleFunction`.
390
394
  * * Rely on the builder's compress step to find common vertex coordinates.
391
- * @param graph faces to add as facets
392
- * @param acceptFaceFunction optional test for whether to add a given face. Default: ignore exterior faces
393
- * @param isEdgeVisibleFunction optional test for whether to hide an edge. Default: hide interior edges
395
+ * @param graph faces to add as facets.
396
+ * @param acceptFaceFunction optional test for whether to add a given face. Default: ignore exterior faces.
397
+ * @param isEdgeVisibleFunction optional test for whether to hide an edge. Default: hide interior edges.
394
398
  * @internal
395
399
  */
396
400
  addGraph(graph: HalfEdgeGraph, acceptFaceFunction?: HalfEdgeToBooleanFunction, isEdgeVisibleFunction?: HalfEdgeToBooleanFunction): void;
397
401
  /**
398
- *
399
- * * For each node in `faces`
400
- * * add all of its vertices to the polyface
401
- * * add point indices to form a new facet.
402
- * * (Note: no normal or param indices are added)
403
- * * terminate the facet
402
+ * Add a graph's faces to the builder.
403
+ * * For each node in `faces`:
404
+ * * Add all of its vertices to the polyface.
405
+ * * Add point indices to form a new facet.
406
+ * * (note: no normal or param indices are added)
407
+ * * Terminate the facet.
404
408
  * @internal
405
409
  */
406
410
  addGraphFaces(faces: HalfEdge[]): void;
407
411
  /**
408
412
  * Create a polyface containing the faces of a HalfEdgeGraph, with test functions to filter faces and hide edges.
409
413
  * * This is a static wrapper of [[addGraph]].
410
- * @param graph faces to add as facets
411
- * @param acceptFaceFunction optional test for whether to add a given face. Default: ignore exterior faces
412
- * @param isEdgeVisibleFunction optional test for whether to hide an edge. Default: hide interior edges
414
+ * @param graph faces to add as facets.
415
+ * @param options (optional) options for the polyface.
416
+ * @param acceptFaceFunction optional test for whether to add a given face. Default: ignore exterior faces.
417
+ * @param isEdgeVisibleFunction optional test for whether to hide an edge. Default: hide interior edges.
413
418
  * @internal
414
419
  */
415
420
  static graphToPolyface(graph: HalfEdgeGraph, options?: StrokeOptions, acceptFaceFunction?: HalfEdgeToBooleanFunction, isEdgeVisibleFunction?: HalfEdgeToBooleanFunction): IndexedPolyface;
416
- /** Create a polyface containing the faces of a HalfEdgeGraph that are specified by the HalfEdge array.
421
+ /**
422
+ * Create a polyface containing the faces of a HalfEdgeGraph that are specified by the HalfEdge array.
417
423
  * @internal
418
424
  */
419
425
  static graphFacesToPolyface(faces: HalfEdge[]): IndexedPolyface;
420
- /** Create a polyface containing triangles in a (space) polygon.
426
+ /**
427
+ * Create a polyface containing triangles in a (space) polygon.
421
428
  * * The polyface contains only coordinate data (no params or normals).
422
429
  */
423
430
  static polygonToTriangulatedPolyface(points: Point3d[], localToWorld?: Transform): IndexedPolyface | undefined;
424
431
  /**
425
- * Given arrays of coordinates for multiple facets.
426
- * * pointArray[i] is an array of 3 or 4 points
427
- * * paramArray[i] is an array of matching number of params
432
+ * Add facets to the builder given arrays of coordinates for multiple facets.
433
+ * * pointArray[i] is an array of 3 or 4 points.
434
+ * * paramArray[i] is an array of matching number of params.
428
435
  * * normalArray[i] is an array of matching number of normals.
429
- * @param pointArray array of arrays of point coordinates
430
- * @param paramArray array of arrays of uv parameters
431
- * @param normalArray array of arrays of normals
436
+ * @param pointArray array of arrays of point coordinates.
437
+ * @param paramArray (optional) array of arrays of uv parameters.
438
+ * @param normalArray (optional) array of arrays of normals.
432
439
  * @param endFace if true, call this.endFace after adding all the facets.
433
440
  */
434
441
  addCoordinateFacets(pointArray: Point3d[][], paramArray?: Point2d[][], normalArray?: Vector3d[][], endFace?: boolean): void;
435
442
  /**
443
+ * Add facets from the parametric surface.
436
444
  * * Evaluate `(numU + 1) * (numV + 1)` grid points (in 0..1 in both u and v) on a surface.
437
445
  * * Add the facets for `numU * numV` quads.
438
446
  * * uv params are the 0..1 fractions.
439
- * * normals are cross products of u and v direction partial derivatives.
440
- * @param surface
441
- * @param numU number of intervals (edges) in the u direction. (Number of points is `numU + 1`)
442
- * @param numV number of intervals (edges) in the v direction. (Number of points is `numV + 1`)
443
- * @param uMap optional mapping from u fraction to parameter space (such as texture)
444
- * @param vMap optional mapping from v fraction to parameter space (such as texture)
447
+ * * Normals are cross products of u and v direction partial derivatives.
448
+ * @param surface UV surface to evaluate.
449
+ * @param numU number of intervals (edges) in the u direction (number of points is `numU + 1`).
450
+ * @param numV number of intervals (edges) in the v direction (number of points is `numV + 1`).
451
+ * @param uMap optional mapping from u fraction to parameter space (such as texture).
452
+ * @param vMap optional mapping from v fraction to parameter space (such as texture).
445
453
  */
446
454
  addUVGridBody(surface: UVSurface, numU: number, numV: number, uMap?: Segment1d, vMap?: Segment1d): void;
447
455
  /**
448
- * Triangulate the points as viewed in xy.
449
- * @param points
456
+ * Create a polyface from a triangulation of the points.
457
+ * * The triangulation is computed as seen in the top view: z-coordinates are ignored.
458
+ * @param points an array of points.
459
+ * @param options (optional) stroke options. Currently only two options are supported. If `options.needNormals` is
460
+ * true, all facets are assigned the single normal 001. If `options.needParams` is true, all facet vertices are
461
+ * assigned uv-parameters equal to their xy-coordinates. These options are rarely useful.
462
+ * @returns triangulated polyface or `undefined` if triangulation was not possible.
450
463
  */
451
464
  static pointsToTriangulatedPolyface(points: Point3d[], options?: StrokeOptions): IndexedPolyface | undefined;
452
- /** Create (and add to the builder) triangles that bridge the gap between two linestrings.
453
- * * Each triangle will have 1 vertex on one of the linestrings and 2 on the other
465
+ /**
466
+ * Add triangular facets between two linestrings.
467
+ * * Each triangle will have 1 vertex on one of the linestrings and 2 on the other.
454
468
  * * Choice of triangles is heuristic, hence does not have a unique solution.
455
- * * Logic to choice among the various possible triangle orders prefers
456
- * * Make near-coplanar facets
457
- * * make facets with good aspect ratio.
469
+ * * Logic for choosing among the various possible triangles prefers:
470
+ * * Make near-coplanar facets.
471
+ * * Make facets with good aspect ratio.
458
472
  * * This is exercised with a limited number of lookahead points, i.e. greedy to make first-available decision.
459
473
  * @param pointsA points of first linestring.
460
474
  * @param pointsB points of second linestring.
@@ -462,27 +476,32 @@ export declare class PolyfaceBuilder extends NullGeometryHandler {
462
476
  addGreedyTriangulationBetweenLineStrings(pointsA: Point3d[] | LineString3d | IndexedXYZCollection, pointsB: Point3d[] | LineString3d | IndexedXYZCollection): void;
463
477
  private addMiteredPipesFromPoints;
464
478
  /**
465
- * * Create (and add to the builder) quad facets for a mitered pipe that follows a centerline curve.
466
- * * Circular or elliptical pipe cross sections can be specified by supplying either a radius, a pair of semi-axis lengths, or a full Arc3d.
479
+ * Add quad facets along a mitered pipe that follows a centerline curve.
480
+ * * Circular or elliptical pipe cross sections can be specified by supplying either a radius, a pair of semi-axis
481
+ * lengths, or a full Arc3d:
467
482
  * * For semi-axis length input, x corresponds to an ellipse local axis nominally situated parallel to the xy-plane.
468
- * * The center of Arc3d input is translated to the centerline start point to act as initial cross section.
483
+ * * For Arc3d input, the center is translated to the centerline start point to act as initial cross section.
469
484
  * @param centerline centerline of pipe. If curved, it will be stroked using the builder's StrokeOptions.
470
- * @param sectionData circle radius, ellipse semi-axis lengths, or full Arc3d
471
- * @param numFacetAround how many equal parameter-space chords around each section
485
+ * @param sectionData circle radius, ellipse semi-axis lengths, or full Arc3d.
486
+ * @param numFacetAround how many equal parameter-space chords around each section.
472
487
  */
473
488
  addMiteredPipes(centerline: IndexedXYZCollection | Point3d[] | CurvePrimitive, sectionData: number | XAndY | Arc3d, numFacetAround?: number): void;
474
- /** Return the polyface index array indices corresponding to the given edge, or undefined if error. */
489
+ /** Return the polyface index array indices corresponding to the given edge, or `undefined` if error. */
475
490
  private getEdgeIndices;
476
- /** Create a side face between base and swept facets along a base boundary edge.
477
- * * Assumes numBaseFacets base facets were added to this builder, immediately followed by the same number of swept facets with opposite orientation (first index not preserved).
491
+ /**
492
+ * Create a side face between base and swept facets along a base boundary edge.
493
+ * * Assumes numBaseFacets base facets were added to this builder, immediately followed by the same number of swept
494
+ * facets with opposite orientation (first index not preserved).
478
495
  */
479
496
  private addSweptFace;
480
497
  /**
481
- * Add facets from the source polyface, from its translation along the vector, and from its swept boundary edges, to form a polyface that encloses a volume.
482
- * @param source the surface mesh to sweep
483
- * @param sweepVector the direction and length to sweep the surface mesh
484
- * @param triangulateSides whether to triangulate side facets, or leave as quads
485
- * @returns whether the added facets comprise a simple sweep. If false, the resulting mesh may have self-intersections, be non-manifold, have inconsistently oriented facets, etc.
498
+ * Add facets from the source polyface, from its translation along the vector, and from its swept boundary edges,
499
+ * to form a polyface that encloses a volume.
500
+ * @param source the surface mesh to sweep.
501
+ * @param sweepVector the direction and length to sweep the surface mesh.
502
+ * @param triangulateSides whether to triangulate side facets, or leave as quads.
503
+ * @returns whether the added facets comprise a simple sweep. If false, the resulting mesh may have self-intersections,
504
+ * be non-manifold, have inconsistently oriented facets, etc.
486
505
  */
487
506
  addSweptIndexedPolyface(source: IndexedPolyface, sweepVector: Vector3d, triangulateSides?: boolean): boolean;
488
507
  }