@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.
- package/CHANGELOG.md +36 -1
- package/lib/cjs/Constant.d.ts +4 -3
- package/lib/cjs/Constant.d.ts.map +1 -1
- package/lib/cjs/Constant.js +4 -3
- package/lib/cjs/Constant.js.map +1 -1
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
- package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/cjs/bspline/KnotVector.js.map +1 -1
- package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
- package/lib/cjs/clipping/ClipPlane.js.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/clipping/ClipVector.js.map +1 -1
- package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/cjs/core-geometry.js.map +1 -1
- package/lib/cjs/curve/Arc3d.js.map +1 -1
- package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
- package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.d.ts +0 -1
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurve.js +0 -1
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurveOps.js.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
- package/lib/cjs/curve/CurveProcessor.js.map +1 -1
- package/lib/cjs/curve/CurveTypes.js.map +1 -1
- package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/cjs/curve/GeometryQuery.js.map +1 -1
- package/lib/cjs/curve/LineSegment3d.js.map +1 -1
- package/lib/cjs/curve/LineString3d.js.map +1 -1
- package/lib/cjs/curve/Loop.js.map +1 -1
- package/lib/cjs/curve/OffsetOptions.js.map +1 -1
- package/lib/cjs/curve/ParityRegion.js.map +1 -1
- package/lib/cjs/curve/Path.js.map +1 -1
- package/lib/cjs/curve/PointString3d.js.map +1 -1
- package/lib/cjs/curve/ProxyCurve.js.map +1 -1
- package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
- package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
- package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
- package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
- package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/UnionRegion.js.map +1 -1
- package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
- package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +5 -4
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/cjs/geometry3d/Angle.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
- package/lib/cjs/geometry3d/Range.js.map +1 -1
- package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
- package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
- package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
- package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/cjs/geometry4d/Map4d.js.map +1 -1
- package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
- package/lib/cjs/geometry4d/MomentData.js.map +1 -1
- package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
- package/lib/cjs/geometry4d/Point4d.js.map +1 -1
- package/lib/cjs/numerics/BandedSystem.js.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
- package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
- package/lib/cjs/numerics/Complex.js.map +1 -1
- package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/cjs/numerics/Newton.js.map +1 -1
- package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
- package/lib/cjs/numerics/PolarData.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.d.ts +5 -4
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/Polynomials.js +5 -4
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/numerics/Quadrature.js.map +1 -1
- package/lib/cjs/numerics/Range1dArray.js.map +1 -1
- package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
- package/lib/cjs/numerics/UnionFind.js.map +1 -1
- package/lib/cjs/numerics/UsageSums.js.map +1 -1
- package/lib/cjs/polyface/AuxData.js.map +1 -1
- package/lib/cjs/polyface/BoxTopology.js.map +1 -1
- package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
- package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
- package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/cjs/polyface/Polyface.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts +219 -200
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js +349 -304
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
- package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
- package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
- package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
- package/lib/cjs/serialization/DeepCompare.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
- package/lib/cjs/solid/Box.js.map +1 -1
- package/lib/cjs/solid/Cone.js.map +1 -1
- package/lib/cjs/solid/LinearSweep.js.map +1 -1
- package/lib/cjs/solid/RotationalSweep.js.map +1 -1
- package/lib/cjs/solid/RuledSweep.js.map +1 -1
- package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
- package/lib/cjs/solid/Sphere.js.map +1 -1
- package/lib/cjs/solid/SweepContour.js.map +1 -1
- package/lib/cjs/solid/TorusPipe.js.map +1 -1
- package/lib/cjs/topology/ChainMerge.js.map +1 -1
- package/lib/cjs/topology/Graph.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/cjs/topology/MaskManager.js.map +1 -1
- package/lib/cjs/topology/Merging.js.map +1 -1
- package/lib/cjs/topology/RegularizeFace.js.map +1 -1
- package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
- package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
- package/lib/cjs/topology/Triangulation.js.map +1 -1
- package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
- package/lib/esm/Constant.d.ts +4 -3
- package/lib/esm/Constant.d.ts.map +1 -1
- package/lib/esm/Constant.js +4 -3
- package/lib/esm/Constant.js.map +1 -1
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/esm/bspline/BSplineSurface.js.map +1 -1
- package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/esm/bspline/KnotVector.js.map +1 -1
- package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
- package/lib/esm/clipping/ClipPlane.js.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/clipping/ClipVector.js.map +1 -1
- package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/esm/core-geometry.js.map +1 -1
- package/lib/esm/curve/Arc3d.js.map +1 -1
- package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
- package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.d.ts +0 -1
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurve.js +0 -1
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveExtendMode.js.map +1 -1
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurveOps.js.map +1 -1
- package/lib/esm/curve/CurvePrimitive.js.map +1 -1
- package/lib/esm/curve/CurveProcessor.js.map +1 -1
- package/lib/esm/curve/CurveTypes.js.map +1 -1
- package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/esm/curve/GeometryQuery.js.map +1 -1
- package/lib/esm/curve/LineSegment3d.js.map +1 -1
- package/lib/esm/curve/LineString3d.js.map +1 -1
- package/lib/esm/curve/Loop.js.map +1 -1
- package/lib/esm/curve/OffsetOptions.js.map +1 -1
- package/lib/esm/curve/ParityRegion.js.map +1 -1
- package/lib/esm/curve/Path.js.map +1 -1
- package/lib/esm/curve/PointString3d.js.map +1 -1
- package/lib/esm/curve/ProxyCurve.js.map +1 -1
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
- package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
- package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
- package/lib/esm/curve/Query/InOutTests.js.map +1 -1
- package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/UnionRegion.js.map +1 -1
- package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
- package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +5 -4
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/esm/geometry3d/Angle.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/esm/geometry3d/Plane3d.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
- package/lib/esm/geometry3d/Range.js.map +1 -1
- package/lib/esm/geometry3d/Ray2d.js.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
- package/lib/esm/geometry3d/Segment1d.js.map +1 -1
- package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
- package/lib/esm/geometry3d/XYZProps.js.map +1 -1
- package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/esm/geometry4d/Map4d.js.map +1 -1
- package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
- package/lib/esm/geometry4d/MomentData.js.map +1 -1
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
- package/lib/esm/geometry4d/Point4d.js.map +1 -1
- package/lib/esm/numerics/BandedSystem.js.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
- package/lib/esm/numerics/ClusterableArray.js.map +1 -1
- package/lib/esm/numerics/Complex.js.map +1 -1
- package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/esm/numerics/Newton.js.map +1 -1
- package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
- package/lib/esm/numerics/PolarData.js.map +1 -1
- package/lib/esm/numerics/Polynomials.d.ts +5 -4
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
- package/lib/esm/numerics/Polynomials.js +5 -4
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/numerics/Quadrature.js.map +1 -1
- package/lib/esm/numerics/Range1dArray.js.map +1 -1
- package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
- package/lib/esm/numerics/UnionFind.js.map +1 -1
- package/lib/esm/numerics/UsageSums.js.map +1 -1
- package/lib/esm/polyface/AuxData.js.map +1 -1
- package/lib/esm/polyface/BoxTopology.js.map +1 -1
- package/lib/esm/polyface/FacetFaceData.js.map +1 -1
- package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
- package/lib/esm/polyface/FacetOrientation.js.map +1 -1
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/esm/polyface/Polyface.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.d.ts +219 -200
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js +349 -304
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceData.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/RangeLengthData.js.map +1 -1
- package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
- package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
- package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
- package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/BGFBWriter.js.map +1 -1
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
- package/lib/esm/serialization/DeepCompare.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
- package/lib/esm/solid/Box.js.map +1 -1
- package/lib/esm/solid/Cone.js.map +1 -1
- package/lib/esm/solid/LinearSweep.js.map +1 -1
- package/lib/esm/solid/RotationalSweep.js.map +1 -1
- package/lib/esm/solid/RuledSweep.js.map +1 -1
- package/lib/esm/solid/SolidPrimitive.js.map +1 -1
- package/lib/esm/solid/Sphere.js.map +1 -1
- package/lib/esm/solid/SweepContour.js.map +1 -1
- package/lib/esm/solid/TorusPipe.js.map +1 -1
- package/lib/esm/topology/ChainMerge.js.map +1 -1
- package/lib/esm/topology/Graph.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
- package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
- package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/esm/topology/MaskManager.js.map +1 -1
- package/lib/esm/topology/Merging.js.map +1 -1
- package/lib/esm/topology/RegularizeFace.js.map +1 -1
- package/lib/esm/topology/SignedDataSummary.js.map +1 -1
- package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
- package/lib/esm/topology/Triangulation.js.map +1 -1
- package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
- 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
|
-
* *
|
|
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
|
-
* *
|
|
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
|
-
|
|
74
|
+
* @public
|
|
76
75
|
*/
|
|
77
76
|
export declare class PolyfaceBuilder extends NullGeometryHandler {
|
|
78
77
|
private _polyface;
|
|
79
78
|
private _options;
|
|
80
|
-
/**
|
|
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
|
-
/**
|
|
99
|
+
/** Add facets for a transformed unit box. */
|
|
100
100
|
addTransformedUnitBox(transform: Transform): void;
|
|
101
|
-
/**
|
|
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
|
|
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
|
-
/**
|
|
109
|
-
*
|
|
110
|
-
* @param
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* @param
|
|
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
|
-
*
|
|
150
|
-
*
|
|
151
|
-
* @param
|
|
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
|
-
*
|
|
156
|
-
*
|
|
157
|
-
* @param
|
|
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
|
-
*
|
|
162
|
-
* @
|
|
163
|
-
* @param index
|
|
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
|
-
*
|
|
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
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* @param
|
|
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
|
-
*
|
|
179
|
-
* @
|
|
180
|
-
* @param index Index of the
|
|
181
|
-
* @param
|
|
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
|
-
*
|
|
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
|
|
200
|
-
* @param params optional array of at least four uv parameters (if undefined
|
|
201
|
-
*
|
|
202
|
-
* @param
|
|
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
|
-
/**
|
|
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
|
|
222
|
-
*
|
|
223
|
-
* @param
|
|
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
|
-
/**
|
|
227
|
-
*
|
|
228
|
-
* * The
|
|
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
|
-
/**
|
|
242
|
-
*
|
|
243
|
-
* *
|
|
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
|
-
/**
|
|
248
|
-
*
|
|
249
|
-
* *
|
|
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
|
-
/**
|
|
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
|
-
* *
|
|
286
|
+
* * This recurses through curve chains (loops and paths).
|
|
287
|
+
* * LineStrings are swept.
|
|
272
288
|
* * All other curve types are ignored.
|
|
273
|
-
* @param
|
|
274
|
-
* @param
|
|
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
|
|
288
|
-
* @
|
|
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
|
-
/**
|
|
314
|
-
*
|
|
315
|
-
* * Add points to the polyface
|
|
316
|
-
* *
|
|
317
|
-
* @param points array of points.
|
|
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
|
-
/**
|
|
322
|
-
*
|
|
323
|
+
/**
|
|
324
|
+
* Add a polygon to the evolving facets.
|
|
323
325
|
* * Add points to the polyface
|
|
324
|
-
* *
|
|
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
|
-
/**
|
|
330
|
-
*
|
|
331
|
-
* *
|
|
332
|
-
* *
|
|
333
|
-
* *
|
|
334
|
-
*
|
|
335
|
-
* @param
|
|
336
|
-
* @param
|
|
337
|
-
* @param
|
|
338
|
-
* @param
|
|
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
|
-
/**
|
|
342
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
/**
|
|
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
|
-
* *
|
|
401
|
-
* *
|
|
402
|
-
* * (
|
|
403
|
-
* *
|
|
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
|
|
412
|
-
* @param
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
*
|
|
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
|
-
* *
|
|
440
|
-
* @param surface
|
|
441
|
-
* @param numU number of intervals (edges) in the u direction
|
|
442
|
-
* @param numV number of intervals (edges) in the v direction
|
|
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
|
-
*
|
|
449
|
-
*
|
|
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
|
-
/**
|
|
453
|
-
*
|
|
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
|
|
456
|
-
* * Make near-coplanar facets
|
|
457
|
-
* *
|
|
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
|
-
*
|
|
466
|
-
* * Circular or elliptical pipe cross sections can be specified by supplying either a radius, a pair of semi-axis
|
|
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
|
-
* *
|
|
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
|
-
/**
|
|
477
|
-
*
|
|
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,
|
|
482
|
-
*
|
|
483
|
-
* @param
|
|
484
|
-
* @param
|
|
485
|
-
* @
|
|
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
|
}
|