@itwin/core-geometry 5.3.0-dev.2 → 5.3.0-dev.23
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 +21 -1
- 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.d.ts +15 -1
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
- package/lib/cjs/curve/Arc3d.js +36 -9
- 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.js.map +1 -1
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.d.ts +25 -8
- package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
- package/lib/cjs/curve/CurveFactory.js +51 -55
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurveOps.d.ts +2 -5
- package/lib/cjs/curve/CurveOps.d.ts.map +1 -1
- package/lib/cjs/curve/CurveOps.js +2 -5
- 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.d.ts +50 -15
- package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
- package/lib/cjs/curve/Query/PlanarSubdivision.js +102 -84
- 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.d.ts +44 -25
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +74 -39
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js +8 -8
- 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/AnnounceTangentStrokeHandler.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.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +102 -92
- 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/EllipticalArcApproximationContext.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/TransferWithSplitArcs.js.map +1 -1
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +10 -13
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js +23 -22
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/ClothoidSeries.d.ts +10 -6
- package/lib/cjs/curve/spiral/ClothoidSeries.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/ClothoidSeries.js +36 -19
- package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/cjs/curve/spiral/CubicEvaluator.d.ts +7 -6
- package/lib/cjs/curve/spiral/CubicEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/CubicEvaluator.js +29 -14
- package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts +34 -44
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js +47 -53
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +2 -2
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js +17 -7
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +112 -104
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js +143 -117
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +71 -53
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +99 -66
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +8 -12
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +11 -13
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/NormalizedTransition.d.ts +36 -29
- package/lib/cjs/curve/spiral/NormalizedTransition.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/NormalizedTransition.js +62 -40
- package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts +13 -18
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js +21 -24
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts +41 -27
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js +50 -33
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +45 -34
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js +56 -38
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts +27 -21
- package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js +23 -18
- 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.d.ts +98 -99
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js +123 -111
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +137 -143
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js +167 -161
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts +51 -34
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js +16 -6
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +87 -93
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js +41 -38
- 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.d.ts +2 -2
- package/lib/cjs/geometry3d/PolylineOps.js +2 -2
- 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.d.ts.map +1 -1
- package/lib/cjs/numerics/ClusterableArray.js +2 -2
- 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.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/SmallSystem.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/IndexedPolyfaceWalker.js.map +1 -1
- package/lib/cjs/polyface/Polyface.js.map +1 -1
- 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.d.ts +15 -7
- package/lib/cjs/topology/Merging.d.ts.map +1 -1
- package/lib/cjs/topology/Merging.js +15 -10
- 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/Voronoi.js.map +1 -1
- package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
- 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.d.ts +15 -1
- package/lib/esm/curve/Arc3d.d.ts.map +1 -1
- package/lib/esm/curve/Arc3d.js +36 -9
- 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.js.map +1 -1
- package/lib/esm/curve/CurveExtendMode.js.map +1 -1
- package/lib/esm/curve/CurveFactory.d.ts +25 -8
- package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
- package/lib/esm/curve/CurveFactory.js +51 -55
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurveOps.d.ts +2 -5
- package/lib/esm/curve/CurveOps.d.ts.map +1 -1
- package/lib/esm/curve/CurveOps.js +2 -5
- 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.d.ts +50 -15
- package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
- package/lib/esm/curve/Query/PlanarSubdivision.js +102 -84
- 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.d.ts +44 -25
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +72 -37
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js +8 -8
- 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/AnnounceTangentStrokeHandler.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.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +102 -92
- 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/EllipticalArcApproximationContext.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/TransferWithSplitArcs.js.map +1 -1
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +10 -13
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js +23 -22
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts +10 -6
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts.map +1 -1
- package/lib/esm/curve/spiral/ClothoidSeries.js +36 -19
- package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts +7 -6
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/CubicEvaluator.js +29 -14
- package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts +34 -44
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js +47 -53
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +2 -2
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js +17 -7
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +112 -104
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js +143 -117
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +71 -53
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +99 -66
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +8 -12
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +11 -13
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts +36 -29
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts.map +1 -1
- package/lib/esm/curve/spiral/NormalizedTransition.js +62 -40
- package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts +13 -18
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js +21 -24
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +41 -27
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js +50 -33
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +45 -34
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.js +56 -38
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts +27 -21
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.js +23 -18
- 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.d.ts +98 -99
- package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js +124 -112
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts +137 -143
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js +167 -161
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts +51 -34
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js +14 -5
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +87 -93
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js +41 -38
- 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.d.ts +2 -2
- package/lib/esm/geometry3d/PolylineOps.js +2 -2
- 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.d.ts.map +1 -1
- package/lib/esm/numerics/ClusterableArray.js +2 -2
- 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.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/SmallSystem.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/IndexedPolyfaceWalker.js.map +1 -1
- package/lib/esm/polyface/Polyface.js.map +1 -1
- 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.d.ts +15 -7
- package/lib/esm/topology/Merging.d.ts.map +1 -1
- package/lib/esm/topology/Merging.js +15 -10
- 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/Voronoi.js.map +1 -1
- package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
- package/package.json +3 -3
|
@@ -12,42 +12,38 @@ import { Point3d, Vector3d } from "./Point3dVector3d";
|
|
|
12
12
|
import { PointStreamGrowableXYZArrayCollector, VariantPointDataStream } from "./PointStreaming";
|
|
13
13
|
import { Range1d, Range3d } from "./Range";
|
|
14
14
|
import { Transform } from "./Transform";
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* `GrowableXYZArray` manages a (possibly growing) Float64Array to pack xyz coordinates.
|
|
16
17
|
* @public
|
|
17
18
|
*/
|
|
18
19
|
export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
19
|
-
/**
|
|
20
|
-
* array of packed xyz xyz xyz components
|
|
21
|
-
*/
|
|
20
|
+
/** Array of packed xyz xyz xyz components. */
|
|
22
21
|
_data;
|
|
23
|
-
/**
|
|
24
|
-
* Number of xyz triples (not floats) in the array
|
|
25
|
-
*/
|
|
22
|
+
/** Number of xyz triples (not floats) in the array. */
|
|
26
23
|
_xyzInUse;
|
|
27
|
-
/**
|
|
28
|
-
* capacity in xyz triples. (not floats)
|
|
29
|
-
*/
|
|
24
|
+
/** Capacity in xyz triples (not floats). */
|
|
30
25
|
_xyzCapacity;
|
|
31
|
-
/**
|
|
32
|
-
* multiplier used by ensureCapacity to expand requested reallocation size
|
|
33
|
-
*/
|
|
26
|
+
/** Multiplier used by ensureCapacity to expand requested reallocation size. */
|
|
34
27
|
_growthFactor;
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
* @param
|
|
28
|
+
/**
|
|
29
|
+
* Construct a new GrowablePoint3d array.
|
|
30
|
+
* @param numPoints initial capacity in xyz triples (default 8).
|
|
31
|
+
* @param growthFactor used by ensureCapacity to expand requested reallocation size (default 1.5).
|
|
32
|
+
* @param data optional pre-existing Float64Array to use as the backing memory. If supplied, numPoints is ignored.
|
|
38
33
|
*/
|
|
39
|
-
constructor(numPoints = 8, growthFactor) {
|
|
34
|
+
constructor(numPoints = 8, growthFactor, data) {
|
|
40
35
|
super();
|
|
41
|
-
this._data = new Float64Array(numPoints * 3); // 3 values per point
|
|
36
|
+
this._data = data || new Float64Array(numPoints * 3); // 3 values per point
|
|
42
37
|
this._xyzInUse = 0;
|
|
43
|
-
this._xyzCapacity = numPoints;
|
|
38
|
+
this._xyzCapacity = data ? data.length / 3 : numPoints;
|
|
44
39
|
this._growthFactor = (undefined !== growthFactor && growthFactor >= 1.0) ? growthFactor : 1.5;
|
|
45
40
|
}
|
|
46
|
-
/**
|
|
47
|
-
*
|
|
48
|
-
* @param
|
|
49
|
-
* @param
|
|
50
|
-
* @
|
|
41
|
+
/**
|
|
42
|
+
* Copy xyz points from source array. Does not reallocate or change active point count.
|
|
43
|
+
* @param source array to copy from.
|
|
44
|
+
* @param sourceCount copy the first sourceCount points; all points if undefined.
|
|
45
|
+
* @param destOffset copy to instance array starting at this point index; zero if undefined.
|
|
46
|
+
* @return count and offset of points copied.
|
|
51
47
|
*/
|
|
52
48
|
copyData(source, sourceCount, destOffset) {
|
|
53
49
|
// validate inputs and convert from points to entries
|
|
@@ -76,30 +72,47 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
76
72
|
return { count: myCount / 3, offset: myOffset / 3 };
|
|
77
73
|
}
|
|
78
74
|
/** The number of points in use. When the length is increased, the array is padded with zeroes. */
|
|
79
|
-
get length() {
|
|
80
|
-
|
|
75
|
+
get length() {
|
|
76
|
+
return this._xyzInUse;
|
|
77
|
+
}
|
|
78
|
+
set length(newLength) {
|
|
79
|
+
this.resize(newLength, true);
|
|
80
|
+
}
|
|
81
81
|
/** Return the number of float64 in use. */
|
|
82
|
-
get float64Length() {
|
|
83
|
-
|
|
82
|
+
get float64Length() {
|
|
83
|
+
return this._xyzInUse * 3;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Return the raw packed data.
|
|
84
87
|
* * Note that the length of the returned Float64Array is a count of doubles, and includes the excess capacity
|
|
85
88
|
*/
|
|
86
|
-
float64Data() {
|
|
87
|
-
|
|
89
|
+
float64Data() {
|
|
90
|
+
return this._data;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* If necessary, increase the capacity to the new number of points. Current coordinates and point count (length) are
|
|
94
|
+
* unchanged.
|
|
95
|
+
*/
|
|
88
96
|
ensureCapacity(pointCapacity, applyGrowthFactor = true) {
|
|
89
97
|
if (pointCapacity > this._xyzCapacity) {
|
|
90
98
|
if (applyGrowthFactor)
|
|
91
|
-
pointCapacity
|
|
99
|
+
pointCapacity = Math.trunc(pointCapacity * this._growthFactor);
|
|
92
100
|
const prevData = this._data;
|
|
93
|
-
this._data
|
|
101
|
+
if (this._data.buffer instanceof ArrayBuffer)
|
|
102
|
+
this._data = new Float64Array(new ArrayBuffer(pointCapacity * 3 * this._data.BYTES_PER_ELEMENT));
|
|
103
|
+
else
|
|
104
|
+
this._data = new Float64Array(new SharedArrayBuffer(pointCapacity * 3 * this._data.BYTES_PER_ELEMENT));
|
|
94
105
|
this.copyData(prevData, this._xyzInUse);
|
|
95
106
|
this._xyzCapacity = pointCapacity;
|
|
96
107
|
}
|
|
97
108
|
}
|
|
98
109
|
/**
|
|
99
|
-
* * If pointCount is less than current length, just reset current length to pointCount, effectively trimming active
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
110
|
+
* * If pointCount is less than current length, just reset current length to pointCount, effectively trimming active
|
|
111
|
+
* points but preserving original capacity.
|
|
112
|
+
* * If pointCount is greater than current length, reallocate to exactly pointCount, copy existing points, and
|
|
113
|
+
* optionally pad excess with zero.
|
|
114
|
+
* @param pointCount new number of active points in array.
|
|
115
|
+
* @param padWithZero when increasing point count, whether to zero out new points (default false).
|
|
103
116
|
*/
|
|
104
117
|
resize(pointCount, padWithZero) {
|
|
105
118
|
if (pointCount >= 0 && pointCount < this._xyzInUse)
|
|
@@ -111,10 +124,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
111
124
|
this._xyzInUse = pointCount;
|
|
112
125
|
}
|
|
113
126
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Make a copy of the (active) points in this array.
|
|
116
|
-
* (The clone does NOT get excess capacity)
|
|
117
|
-
*/
|
|
127
|
+
/** Make a copy of the (active) points in this array (the clone does NOT get excess capacity). */
|
|
118
128
|
clone(result) {
|
|
119
129
|
if (!result)
|
|
120
130
|
result = new GrowableXYZArray(this.length);
|
|
@@ -130,11 +140,11 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
130
140
|
/**
|
|
131
141
|
* Clone the input array with each successive duplicate point removed.
|
|
132
142
|
* * First and last points are always preserved.
|
|
133
|
-
* @param source the source array
|
|
134
|
-
* @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]])
|
|
143
|
+
* @param source the source array.
|
|
144
|
+
* @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]]).
|
|
135
145
|
* @param result optional pre-allocated object to populate and return. Can be a reference to `source`, in
|
|
136
146
|
* which case the array is compressed in place and returned.
|
|
137
|
-
* @see [[cloneCompressed]], [[compressInPlace]], [[PolylineOps.compressShortEdges]]
|
|
147
|
+
* @see [[cloneCompressed]], [[compressInPlace]], [[PolylineOps.compressShortEdges]].
|
|
138
148
|
*/
|
|
139
149
|
static createCompressed(source, tolerance = Geometry.smallMetricDistance, result) {
|
|
140
150
|
const dupIndices = source.findOrderedDuplicates(tolerance, true);
|
|
@@ -168,14 +178,15 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
168
178
|
/**
|
|
169
179
|
* Compress the input array by removing successive duplicate points.
|
|
170
180
|
* * First and last points are always preserved.
|
|
171
|
-
* @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]])
|
|
181
|
+
* @param tolerance optional distance tol for compression (default [[Geometry.smallMetricDistance]]).
|
|
172
182
|
* @returns the instance array.
|
|
173
|
-
* @see [[createCompressed]], [[cloneCompressed]], [[PolylineOps.compressShortEdges]]
|
|
183
|
+
* @see [[createCompressed]], [[cloneCompressed]], [[PolylineOps.compressShortEdges]].
|
|
174
184
|
*/
|
|
175
185
|
compressInPlace(tolerance = Geometry.smallMetricDistance) {
|
|
176
186
|
return GrowableXYZArray.createCompressed(this, tolerance, this);
|
|
177
187
|
}
|
|
178
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Create an array by copying data from various point formats.
|
|
179
190
|
* Valid inputs are:
|
|
180
191
|
* * Point2d
|
|
181
192
|
* * Point3d
|
|
@@ -200,23 +211,32 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
200
211
|
result.pushFrom(data);
|
|
201
212
|
return result;
|
|
202
213
|
}
|
|
203
|
-
/**
|
|
214
|
+
/**
|
|
215
|
+
* Create a new GrowableXYZArray capturing the provided data. The data is not copied, just referenced.
|
|
216
|
+
* @param data source data to capture.
|
|
217
|
+
* @returns a new GrowableXYZArray object that references the provided data.
|
|
218
|
+
*/
|
|
219
|
+
static createCapture(data) {
|
|
220
|
+
return new GrowableXYZArray(0, undefined, data);
|
|
221
|
+
}
|
|
222
|
+
/** Restructure MultiLineStringDataVariant as array of GrowableXYZArray. */
|
|
204
223
|
static createArrayOfGrowableXYZArray(data) {
|
|
205
224
|
const collector = new PointStreamGrowableXYZArrayCollector();
|
|
206
225
|
VariantPointDataStream.streamXYZ(data, collector);
|
|
207
226
|
return collector.claimArrayOfGrowableXYZArray();
|
|
208
227
|
}
|
|
209
|
-
/**
|
|
228
|
+
/** Push a point to the end of the array. */
|
|
210
229
|
push(toPush) {
|
|
211
230
|
this.pushXYZ(toPush.x, toPush.y, toPush.z);
|
|
212
231
|
}
|
|
213
|
-
/**
|
|
232
|
+
/** Push all points of an array. */
|
|
214
233
|
pushAll(points) {
|
|
215
234
|
this.ensureCapacity(this._xyzInUse + points.length, false);
|
|
216
235
|
for (const p of points)
|
|
217
236
|
this.push(p);
|
|
218
237
|
}
|
|
219
|
-
/**
|
|
238
|
+
/**
|
|
239
|
+
* Push copies of points from variant sources.
|
|
220
240
|
* Valid inputs are:
|
|
221
241
|
* * Point2d
|
|
222
242
|
* * Point3d
|
|
@@ -226,7 +246,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
226
246
|
* * Any json object satisfying Point3d.isXYAndZ
|
|
227
247
|
* * Any json object satisfying Point3d.isXAndY
|
|
228
248
|
* * A Float64Array of doubles, interpreted as xyzxyz
|
|
229
|
-
* * An array of any of the above
|
|
249
|
+
* * An array of any of the above.
|
|
230
250
|
*/
|
|
231
251
|
pushFrom(p) {
|
|
232
252
|
if (p instanceof Point3d)
|
|
@@ -246,7 +266,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
246
266
|
else if (Geometry.isNumberArray(p, 2))
|
|
247
267
|
this.pushXYZ(p[0], p[1], 0.0);
|
|
248
268
|
else if (Array.isArray(p)) {
|
|
249
|
-
// direct recursion re-wraps p and goes infinite
|
|
269
|
+
// direct recursion re-wraps p and goes infinite; unroll here.
|
|
250
270
|
for (const q of p)
|
|
251
271
|
this.pushFrom(q);
|
|
252
272
|
}
|
|
@@ -263,7 +283,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
263
283
|
}
|
|
264
284
|
/**
|
|
265
285
|
* Replicate numWrap xyz values from the front of the array as new values at the end.
|
|
266
|
-
* @param numWrap number of xyz values to replicate
|
|
286
|
+
* @param numWrap number of xyz values to replicate.
|
|
267
287
|
*/
|
|
268
288
|
pushWrap(numWrap) {
|
|
269
289
|
if (this._xyzInUse >= numWrap) {
|
|
@@ -274,7 +294,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
274
294
|
}
|
|
275
295
|
}
|
|
276
296
|
}
|
|
277
|
-
/**
|
|
297
|
+
/** Append a new point with given x,y,z. */
|
|
278
298
|
pushXYZ(x, y, z) {
|
|
279
299
|
this.ensureCapacity(this._xyzInUse + 1);
|
|
280
300
|
const index = this._xyzInUse * 3;
|
|
@@ -283,10 +303,11 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
283
303
|
this._data[index + 2] = z;
|
|
284
304
|
this._xyzInUse++;
|
|
285
305
|
}
|
|
286
|
-
/**
|
|
306
|
+
/**
|
|
307
|
+
* Shift all data forward to make space for numPoints at the front.
|
|
287
308
|
* * Leading (3*numPoints) doubles are left with prior contents.
|
|
288
|
-
* * _xyzInUse count is increased
|
|
289
|
-
|
|
309
|
+
* * _xyzInUse count is increased.
|
|
310
|
+
*/
|
|
290
311
|
shiftForward(numPoints) {
|
|
291
312
|
if (numPoints <= 0)
|
|
292
313
|
return;
|
|
@@ -296,7 +317,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
296
317
|
this._data.copyWithin(numAddedDouble, 0, lastIndex);
|
|
297
318
|
this._xyzInUse += numPoints;
|
|
298
319
|
}
|
|
299
|
-
/**
|
|
320
|
+
/**
|
|
321
|
+
* Prepend a new point with given x,y,z
|
|
300
322
|
* * Remark: this copies all content forward.
|
|
301
323
|
*/
|
|
302
324
|
pushFrontXYZ(x, y, z) {
|
|
@@ -305,13 +327,12 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
305
327
|
this._data[1] = y;
|
|
306
328
|
this._data[2] = z;
|
|
307
329
|
}
|
|
308
|
-
/**
|
|
309
|
-
*
|
|
310
|
-
*/
|
|
330
|
+
/** Prepend a new point at the front of the array. */
|
|
311
331
|
pushFront(toPush) {
|
|
312
332
|
this.pushFrontXYZ(toPush.x, toPush.y, toPush.z);
|
|
313
333
|
}
|
|
314
|
-
/**
|
|
334
|
+
/**
|
|
335
|
+
* Move the coordinates at fromIndex to toIndex.
|
|
315
336
|
* * No action if either index is invalid.
|
|
316
337
|
*/
|
|
317
338
|
moveIndexToIndex(fromIndex, toIndex) {
|
|
@@ -323,7 +344,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
323
344
|
this._data[iB] = this._data[iA];
|
|
324
345
|
}
|
|
325
346
|
}
|
|
326
|
-
/**
|
|
347
|
+
/**
|
|
348
|
+
* Remove one point from the back.
|
|
327
349
|
* * NOTE that (in the manner of std::vector native) this is "just" removing the point -- no point is NOT returned.
|
|
328
350
|
* * Use `back ()` to get the last x,y,z assembled into a `Point3d `
|
|
329
351
|
*/
|
|
@@ -331,40 +353,41 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
331
353
|
if (this._xyzInUse > 0)
|
|
332
354
|
this._xyzInUse--;
|
|
333
355
|
}
|
|
334
|
-
/**
|
|
335
|
-
* Clear all xyz data, but leave capacity unchanged.
|
|
336
|
-
*/
|
|
356
|
+
/** Clear all xyz data, but leave capacity unchanged. */
|
|
337
357
|
clear() {
|
|
338
358
|
this._xyzInUse = 0;
|
|
339
359
|
}
|
|
340
360
|
/**
|
|
341
|
-
* Get a point by index, strongly typed as a Point3d.
|
|
342
|
-
*
|
|
343
|
-
* @param
|
|
361
|
+
* Get a point by index, strongly typed as a Point3d. This is unchecked. Use [[getPoint3dAtCheckedPointIndex]] to
|
|
362
|
+
* have validity test.
|
|
363
|
+
* @param pointIndex index to access.
|
|
364
|
+
* @param result optional result.
|
|
344
365
|
*/
|
|
345
366
|
getPoint3dAtUncheckedPointIndex(pointIndex, result) {
|
|
346
367
|
const index = 3 * pointIndex;
|
|
347
368
|
return Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
|
|
348
369
|
}
|
|
349
370
|
/**
|
|
350
|
-
* Get a point by index, strongly typed as a Point2d. This is unchecked. Use [[getPoint2dAtCheckedPointIndex]] to
|
|
351
|
-
*
|
|
352
|
-
* @param
|
|
371
|
+
* Get a point by index, strongly typed as a Point2d. This is unchecked. Use [[getPoint2dAtCheckedPointIndex]] to
|
|
372
|
+
* have validity test.
|
|
373
|
+
* @param pointIndex index to access.
|
|
374
|
+
* @param result optional result.
|
|
353
375
|
*/
|
|
354
376
|
getPoint2dAtUncheckedPointIndex(pointIndex, result) {
|
|
355
377
|
const index = 3 * pointIndex;
|
|
356
378
|
return Point2d.create(this._data[index], this._data[index + 1], result);
|
|
357
379
|
}
|
|
358
380
|
/**
|
|
359
|
-
* Get a vector by index, strongly typed as a Vector3d. This is unchecked. Use [[getVector3dAtCheckedVectorIndex]]
|
|
360
|
-
*
|
|
361
|
-
* @param
|
|
381
|
+
* Get a vector by index, strongly typed as a Vector3d. This is unchecked. Use [[getVector3dAtCheckedVectorIndex]]
|
|
382
|
+
* to have validity test.
|
|
383
|
+
* @param vectorIndex index to access.
|
|
384
|
+
* @param result optional result.
|
|
362
385
|
*/
|
|
363
386
|
getVector3dAtUncheckedVectorIndex(vectorIndex, result) {
|
|
364
387
|
const index = 3 * vectorIndex;
|
|
365
388
|
return Vector3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
|
|
366
389
|
}
|
|
367
|
-
/**
|
|
390
|
+
/** Copy xyz into strongly typed Point3d. */
|
|
368
391
|
getPoint3dAtCheckedPointIndex(pointIndex, result) {
|
|
369
392
|
if (this.isIndexValid(pointIndex)) {
|
|
370
393
|
const index = 3 * pointIndex;
|
|
@@ -372,22 +395,22 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
372
395
|
}
|
|
373
396
|
return undefined;
|
|
374
397
|
}
|
|
375
|
-
/**
|
|
398
|
+
/** Access x of indexed point. */
|
|
376
399
|
getXAtUncheckedPointIndex(pointIndex) {
|
|
377
400
|
const index = 3 * pointIndex;
|
|
378
401
|
return this._data[index];
|
|
379
402
|
}
|
|
380
|
-
/**
|
|
403
|
+
/** Access y of indexed point. */
|
|
381
404
|
getYAtUncheckedPointIndex(pointIndex) {
|
|
382
405
|
const index = 3 * pointIndex;
|
|
383
406
|
return this._data[index + 1];
|
|
384
407
|
}
|
|
385
|
-
/**
|
|
408
|
+
/** Access z of indexed point. */
|
|
386
409
|
getZAtUncheckedPointIndex(pointIndex) {
|
|
387
410
|
const index = 3 * pointIndex;
|
|
388
411
|
return this._data[index + 2];
|
|
389
412
|
}
|
|
390
|
-
/**
|
|
413
|
+
/** Copy xy into strongly typed Point2d. */
|
|
391
414
|
getPoint2dAtCheckedPointIndex(pointIndex, result) {
|
|
392
415
|
if (this.isIndexValid(pointIndex)) {
|
|
393
416
|
const index = 3 * pointIndex;
|
|
@@ -395,7 +418,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
395
418
|
}
|
|
396
419
|
return undefined;
|
|
397
420
|
}
|
|
398
|
-
/**
|
|
421
|
+
/** Copy xyz into strongly typed Vector3d. */
|
|
399
422
|
getVector3dAtCheckedVectorIndex(vectorIndex, result) {
|
|
400
423
|
if (this.isIndexValid(vectorIndex)) {
|
|
401
424
|
const index = 3 * vectorIndex;
|
|
@@ -405,9 +428,9 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
405
428
|
}
|
|
406
429
|
/**
|
|
407
430
|
* Read coordinates from source array, place them at index within this array.
|
|
408
|
-
* @param destIndex point index where coordinates are to be placed in this array
|
|
409
|
-
* @param source source array
|
|
410
|
-
* @param sourceIndex point index in source array
|
|
431
|
+
* @param destIndex point index where coordinates are to be placed in this array.
|
|
432
|
+
* @param source source array.
|
|
433
|
+
* @param sourceIndex point index in source array.
|
|
411
434
|
* @returns true if destIndex and sourceIndex are both valid.
|
|
412
435
|
*/
|
|
413
436
|
transferFromGrowableXYZArray(destIndex, source, sourceIndex) {
|
|
@@ -421,13 +444,13 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
421
444
|
return false;
|
|
422
445
|
}
|
|
423
446
|
/**
|
|
424
|
-
*
|
|
425
|
-
* @param source source array
|
|
426
|
-
* @param sourceIndex xyz index within the source.
|
|
447
|
+
* Push coordinates from the source array to the end of this array.
|
|
448
|
+
* @param source source array.
|
|
449
|
+
* @param sourceIndex xyz index within the source. If undefined, entire source is pushed.
|
|
427
450
|
* @returns number of points pushed.
|
|
428
451
|
*/
|
|
429
452
|
pushFromGrowableXYZArray(source, sourceIndex) {
|
|
430
|
-
// full array push
|
|
453
|
+
// full array push
|
|
431
454
|
if (sourceIndex === undefined) {
|
|
432
455
|
const numXYZAdd = source.length;
|
|
433
456
|
this.ensureCapacity(this.length + numXYZAdd, false);
|
|
@@ -435,7 +458,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
435
458
|
this._xyzInUse += numXYZAdd;
|
|
436
459
|
return numXYZAdd;
|
|
437
460
|
}
|
|
438
|
-
// single point push
|
|
461
|
+
// single point push
|
|
439
462
|
if (source.isIndexValid(sourceIndex)) {
|
|
440
463
|
const j = sourceIndex * 3;
|
|
441
464
|
this.pushXYZ(source._data[j], source._data[j + 1], source._data[j + 2]);
|
|
@@ -445,8 +468,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
445
468
|
}
|
|
446
469
|
/**
|
|
447
470
|
* Set the coordinates of a single point.
|
|
448
|
-
* @param pointIndex index of point to set
|
|
449
|
-
* @param value coordinates to set
|
|
471
|
+
* @param pointIndex index of point to set.
|
|
472
|
+
* @param value coordinates to set.
|
|
450
473
|
*/
|
|
451
474
|
setAtCheckedPointIndex(pointIndex, value) {
|
|
452
475
|
if (!this.isIndexValid(pointIndex))
|
|
@@ -458,11 +481,11 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
458
481
|
return true;
|
|
459
482
|
}
|
|
460
483
|
/**
|
|
461
|
-
* Set the coordinates of a single point given as coordinates
|
|
462
|
-
* @param pointIndex index of point to set
|
|
463
|
-
* @param x x coordinate
|
|
464
|
-
* @param y y coordinate
|
|
465
|
-
* @param z z coordinate
|
|
484
|
+
* Set the coordinates of a single point given as coordinates.
|
|
485
|
+
* @param pointIndex index of point to set.
|
|
486
|
+
* @param x x coordinate.
|
|
487
|
+
* @param y y coordinate.
|
|
488
|
+
* @param z z coordinate.
|
|
466
489
|
*/
|
|
467
490
|
setXYZAtCheckedPointIndex(pointIndex, x, y, z) {
|
|
468
491
|
if (!this.isIndexValid(pointIndex))
|
|
@@ -473,9 +496,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
473
496
|
this._data[index] = z;
|
|
474
497
|
return true;
|
|
475
498
|
}
|
|
476
|
-
/**
|
|
477
|
-
* Copy all points into a simple array of Point3d
|
|
478
|
-
*/
|
|
499
|
+
/** Copy all points into a simple array of Point3. */
|
|
479
500
|
getPoint3dArray() {
|
|
480
501
|
const n = 3 * this._xyzInUse;
|
|
481
502
|
const result = [];
|
|
@@ -484,7 +505,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
484
505
|
result.push(Point3d.create(data[i], data[i + 1], data[i + 2]));
|
|
485
506
|
return result;
|
|
486
507
|
}
|
|
487
|
-
/**
|
|
508
|
+
/** Multiply each point by the transform, replace values. */
|
|
488
509
|
static multiplyTransformInPlace(transform, data) {
|
|
489
510
|
if (Array.isArray(data)) {
|
|
490
511
|
for (const d of data)
|
|
@@ -494,7 +515,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
494
515
|
data.multiplyTransformInPlace(transform);
|
|
495
516
|
}
|
|
496
517
|
}
|
|
497
|
-
/**
|
|
518
|
+
/** Multiply each point by the transform, replace values. */
|
|
498
519
|
multiplyTransformInPlace(transform) {
|
|
499
520
|
const data = this._data;
|
|
500
521
|
const nDouble = this.float64Length;
|
|
@@ -515,7 +536,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
515
536
|
data[i + 2] = coffs[6] * x + coffs[7] * y + coffs[8] * z + z0;
|
|
516
537
|
}
|
|
517
538
|
}
|
|
518
|
-
/**
|
|
539
|
+
/** Reverse the order of points. */
|
|
519
540
|
reverseInPlace() {
|
|
520
541
|
const n = this.length;
|
|
521
542
|
let j0, j1;
|
|
@@ -539,7 +560,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
539
560
|
data[j1] = a;
|
|
540
561
|
}
|
|
541
562
|
}
|
|
542
|
-
/**
|
|
563
|
+
/** Multiply each xyz (as a vector) by matrix, replace values. */
|
|
543
564
|
multiplyMatrix3dInPlace(matrix) {
|
|
544
565
|
const data = this._data;
|
|
545
566
|
const nDouble = this.float64Length;
|
|
@@ -556,9 +577,10 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
556
577
|
data[i + 2] = coffs[6] * x + coffs[7] * y + coffs[8] * z;
|
|
557
578
|
}
|
|
558
579
|
}
|
|
559
|
-
/**
|
|
560
|
-
*
|
|
561
|
-
*
|
|
580
|
+
/**
|
|
581
|
+
* Multiply each xyz (as a vector) by matrix inverse transpose, renormalize the vector, replace values.
|
|
582
|
+
* * This is the way to apply a matrix (possibly with skew and scale) to a surface normal, and have it end up
|
|
583
|
+
* perpendicular to the transformed in-surface vectors.
|
|
562
584
|
* * Return false if matrix is not invertible or if any normalization fails.
|
|
563
585
|
*/
|
|
564
586
|
multiplyAndRenormalizeMatrix3dInverseTransposeInPlace(matrix) {
|
|
@@ -586,7 +608,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
586
608
|
z1 = coffs[2] * x + coffs[5] * y + coffs[8] * z;
|
|
587
609
|
a = x1 * x1 + y1 * y1 + z1 * z1;
|
|
588
610
|
if (a < tol) {
|
|
589
|
-
// put the originals back
|
|
611
|
+
// put the originals back
|
|
590
612
|
x1 = x;
|
|
591
613
|
y1 = y;
|
|
592
614
|
z1 = z;
|
|
@@ -597,16 +619,14 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
597
619
|
x1 *= q;
|
|
598
620
|
y1 *= q;
|
|
599
621
|
z1 *= q;
|
|
600
|
-
} // else
|
|
622
|
+
} // else if q is near 1, no need to do the division
|
|
601
623
|
data[i] = x1;
|
|
602
624
|
data[i + 1] = y1;
|
|
603
625
|
data[i + 2] = z1;
|
|
604
626
|
}
|
|
605
627
|
return numFail === 0;
|
|
606
628
|
}
|
|
607
|
-
/**
|
|
608
|
-
*
|
|
609
|
-
*/
|
|
629
|
+
/** Multiply each xyz (as a point) by a homogeneous matrix and update as the normalized point. */
|
|
610
630
|
multiplyMatrix4dAndQuietRenormalizeMatrix4d(matrix) {
|
|
611
631
|
const data = this._data;
|
|
612
632
|
const nDouble = this.float64Length;
|
|
@@ -618,7 +638,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
618
638
|
data[i + 2] = xyz1.z;
|
|
619
639
|
}
|
|
620
640
|
}
|
|
621
|
-
/**
|
|
641
|
+
/** Multiply each point by the transform, replace values. */
|
|
622
642
|
tryTransformInverseInPlace(transform) {
|
|
623
643
|
const data = this._data;
|
|
624
644
|
const nDouble = this.float64Length;
|
|
@@ -657,7 +677,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
657
677
|
rangeToExtend.extendXYZ(data[i], data[i + 1], data[i + 2]);
|
|
658
678
|
}
|
|
659
679
|
}
|
|
660
|
-
/**
|
|
680
|
+
/** Get range of points. */
|
|
661
681
|
getRange(transform, result) {
|
|
662
682
|
let range = result;
|
|
663
683
|
if (range)
|
|
@@ -675,7 +695,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
675
695
|
/** Sum the lengths of segments between points. */
|
|
676
696
|
sumLengths() {
|
|
677
697
|
let sum = 0.0;
|
|
678
|
-
const n = 3 * (this._xyzInUse - 1); //
|
|
698
|
+
const n = 3 * (this._xyzInUse - 1); // length already takes into account what specifically is in use
|
|
679
699
|
const data = this._data;
|
|
680
700
|
for (let i = 0; i < n; i += 3)
|
|
681
701
|
sum += Geometry.hypotenuseXYZ(data[i + 3] - data[i], data[i + 4] - data[i + 1], data[i + 5] - data[i + 2]);
|
|
@@ -683,7 +703,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
683
703
|
}
|
|
684
704
|
/**
|
|
685
705
|
* Multiply each x,y,z by the scale factor.
|
|
686
|
-
* @param factor
|
|
706
|
+
* @param factor scale factor.
|
|
687
707
|
*/
|
|
688
708
|
scaleInPlace(factor) {
|
|
689
709
|
if (this._data) {
|
|
@@ -692,7 +712,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
692
712
|
this._data[i] = this._data[i] * factor;
|
|
693
713
|
}
|
|
694
714
|
}
|
|
695
|
-
/**
|
|
715
|
+
/** Test if all points are within tolerance of a plane. */
|
|
696
716
|
isCloseToPlane(plane, tolerance = Geometry.smallMetricDistance) {
|
|
697
717
|
const numCoordinate = 3 * this._xyzInUse;
|
|
698
718
|
const data = this._data;
|
|
@@ -703,13 +723,12 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
703
723
|
}
|
|
704
724
|
/**
|
|
705
725
|
* * If not already closed, push a copy of the first point.
|
|
706
|
-
* * If already closed within tolerance, force exact copy
|
|
707
|
-
* *
|
|
726
|
+
* * If already closed within tolerance, force exact copy.
|
|
727
|
+
* * Otherwise leave unchanged.
|
|
708
728
|
*/
|
|
709
729
|
forceClosure(tolerance = Geometry.smallMetricDistance) {
|
|
710
730
|
const d = this.distanceIndexIndex(0, this.length - 1);
|
|
711
|
-
// leave the empty array alone
|
|
712
|
-
// Note that singleton will generate 0 distance and do nothing.
|
|
731
|
+
// leave the empty array alone; note that singleton will generate 0 distance and do nothing
|
|
713
732
|
if (d === undefined) {
|
|
714
733
|
}
|
|
715
734
|
else if (d > tolerance)
|
|
@@ -721,7 +740,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
721
740
|
this._data[i0 + i] = this._data[i];
|
|
722
741
|
}
|
|
723
742
|
}
|
|
724
|
-
/** Compute a point at fractional coordinate between points i and j */
|
|
743
|
+
/** Compute a point at fractional coordinate between points i and j. */
|
|
725
744
|
interpolate(i, fraction, j, result) {
|
|
726
745
|
if (this.isIndexValid(i) && this.isIndexValid(j)) {
|
|
727
746
|
const fraction0 = 1.0 - fraction;
|
|
@@ -732,10 +751,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
732
751
|
}
|
|
733
752
|
return undefined;
|
|
734
753
|
}
|
|
735
|
-
/**
|
|
736
|
-
* * Compute a point at fractional coordinate between points i and j of source
|
|
737
|
-
* * push onto this array.
|
|
738
|
-
*/
|
|
754
|
+
/** Compute a point at fractional coordinate between points i and j of source and push onto this array. */
|
|
739
755
|
pushInterpolatedFromGrowableXYZArray(source, i, fraction, j) {
|
|
740
756
|
if (source.isIndexValid(i) && source.isIndexValid(j)) {
|
|
741
757
|
const fraction0 = 1.0 - fraction;
|
|
@@ -745,10 +761,10 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
745
761
|
this.pushXYZ(fraction0 * data[i] + fraction * data[j], fraction0 * data[i + 1] + fraction * data[j + 1], fraction0 * data[i + 2] + fraction * data[j + 2]);
|
|
746
762
|
}
|
|
747
763
|
}
|
|
748
|
-
/** Sum the signed areas of the projection to xy plane */
|
|
764
|
+
/** Sum the signed areas of the projection to xy plane. */
|
|
749
765
|
areaXY() {
|
|
750
766
|
let area = 0.0;
|
|
751
|
-
const n = 3 * this._xyzInUse; // float count
|
|
767
|
+
const n = 3 * this._xyzInUse; // float count
|
|
752
768
|
if (n > 6) {
|
|
753
769
|
const x0 = this._data[n - 3];
|
|
754
770
|
const y0 = this._data[n - 2];
|
|
@@ -793,21 +809,21 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
793
809
|
}
|
|
794
810
|
return undefined;
|
|
795
811
|
}
|
|
796
|
-
/** Compute the dot product of pointIndex with [x,y,z] */
|
|
812
|
+
/** Compute the dot product of pointIndex with [x,y,z]. */
|
|
797
813
|
evaluateUncheckedIndexDotProductXYZ(pointIndex, x, y, z) {
|
|
798
814
|
const i = pointIndex * 3;
|
|
799
815
|
const data = this._data;
|
|
800
816
|
return data[i] * x + data[i + 1] * y + data[i + 2] * z;
|
|
801
817
|
}
|
|
802
|
-
/** Compute the dot product of pointIndex with [x,y,z] */
|
|
818
|
+
/** Compute the dot product of pointIndex with [x,y,z]. */
|
|
803
819
|
evaluateUncheckedIndexPlaneAltitude(pointIndex, plane) {
|
|
804
820
|
const i = pointIndex * 3;
|
|
805
821
|
const data = this._data;
|
|
806
822
|
return plane.altitudeXYZ(data[i], data[i + 1], data[i + 2]);
|
|
807
823
|
}
|
|
808
824
|
/**
|
|
809
|
-
*
|
|
810
|
-
* *
|
|
825
|
+
* Compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
|
|
826
|
+
* * Accumulate it to the result.
|
|
811
827
|
*/
|
|
812
828
|
accumulateCrossProductIndexIndexIndex(originIndex, targetAIndex, targetBIndex, result) {
|
|
813
829
|
if (this.isIndexValid(originIndex) && this.isIndexValid(targetAIndex) && this.isIndexValid(targetBIndex)) {
|
|
@@ -819,8 +835,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
819
835
|
}
|
|
820
836
|
}
|
|
821
837
|
/**
|
|
822
|
-
*
|
|
823
|
-
* *
|
|
838
|
+
* Compute the cross product from indexed origin t indexed targets targetAIndex and targetB index.
|
|
839
|
+
* * Accumulate it to the result.
|
|
824
840
|
*/
|
|
825
841
|
accumulateScaledXYZ(index, scale, sum) {
|
|
826
842
|
if (this.isIndexValid(index)) {
|
|
@@ -831,7 +847,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
831
847
|
sum.z += scale * data[i + 2];
|
|
832
848
|
}
|
|
833
849
|
}
|
|
834
|
-
/** Compute the cross product of vectors from from origin to indexed targets i and j */
|
|
850
|
+
/** Compute the cross product of vectors from from origin to indexed targets i and j. */
|
|
835
851
|
crossProductXYAndZIndexIndex(origin, targetAIndex, targetBIndex, result) {
|
|
836
852
|
if (this.isIndexValid(targetAIndex) && this.isIndexValid(targetBIndex)) {
|
|
837
853
|
const j = targetAIndex * 3;
|
|
@@ -851,8 +867,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
851
867
|
}
|
|
852
868
|
/**
|
|
853
869
|
* Return distance squared between indicated points.
|
|
854
|
-
* @param i first point index
|
|
855
|
-
* @param j second point index
|
|
870
|
+
* @param i first point index.
|
|
871
|
+
* @param j second point index.
|
|
856
872
|
*/
|
|
857
873
|
distanceSquaredIndexIndex(i, j) {
|
|
858
874
|
if (this.isIndexValid(i) && this.isIndexValid(j)) {
|
|
@@ -864,8 +880,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
864
880
|
}
|
|
865
881
|
/**
|
|
866
882
|
* Return distance between indicated points.
|
|
867
|
-
* @param i first point index
|
|
868
|
-
* @param j second point index
|
|
883
|
+
* @param i first point index.
|
|
884
|
+
* @param j second point index.
|
|
869
885
|
*/
|
|
870
886
|
distanceIndexIndex(i, j) {
|
|
871
887
|
if (this.isIndexValid(i) && this.isIndexValid(j)) {
|
|
@@ -884,7 +900,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
884
900
|
}
|
|
885
901
|
return undefined;
|
|
886
902
|
}
|
|
887
|
-
/**
|
|
903
|
+
/** Test for near equality between two `GrowableXYZArray`. */
|
|
888
904
|
static isAlmostEqual(dataA, dataB) {
|
|
889
905
|
if (dataA && dataB) {
|
|
890
906
|
if (dataA.length !== dataB.length)
|
|
@@ -897,7 +913,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
897
913
|
// if both are null it is equal, otherwise unequal
|
|
898
914
|
return (!dataA && !dataB);
|
|
899
915
|
}
|
|
900
|
-
/** Return an array of block indices sorted per compareLexicalBlock function */
|
|
916
|
+
/** Return an array of block indices sorted per compareLexicalBlock function. */
|
|
901
917
|
sortIndicesLexical() {
|
|
902
918
|
const n = this._xyzInUse;
|
|
903
919
|
// let numCompare = 0;
|
|
@@ -911,7 +927,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
911
927
|
// console.log (n, numCompare);
|
|
912
928
|
return result;
|
|
913
929
|
}
|
|
914
|
-
/**
|
|
930
|
+
/** Compare two blocks in simple lexical order. */
|
|
915
931
|
compareLexicalBlock(ia, ib) {
|
|
916
932
|
let ax = 0;
|
|
917
933
|
let bx = 0;
|
|
@@ -923,19 +939,13 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
923
939
|
if (ax < bx)
|
|
924
940
|
return -1;
|
|
925
941
|
}
|
|
926
|
-
return ia - ib; // so original order is maintained among duplicates
|
|
942
|
+
return ia - ib; // so original order is maintained among duplicates
|
|
927
943
|
}
|
|
928
|
-
/** Access a single double at offset within a block.
|
|
944
|
+
/** Access a single double at offset within a block. This has no index checking. */
|
|
929
945
|
component(pointIndex, componentIndex) {
|
|
930
946
|
return this._data[3 * pointIndex + componentIndex];
|
|
931
947
|
}
|
|
932
|
-
/**
|
|
933
|
-
* add points at regular steps from `other`
|
|
934
|
-
* @param source
|
|
935
|
-
* @param pointIndex0
|
|
936
|
-
* @param step
|
|
937
|
-
* @param numAdd
|
|
938
|
-
*/
|
|
948
|
+
/** Add points at regular steps from `other`. */
|
|
939
949
|
addSteppedPoints(other, pointIndex0, step, numAdd) {
|
|
940
950
|
const dataB = other._data;
|
|
941
951
|
let b0 = pointIndex0 * 3;
|
|
@@ -949,9 +959,9 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
949
959
|
}
|
|
950
960
|
}
|
|
951
961
|
/**
|
|
952
|
-
*
|
|
953
|
-
* @param arrayA first array
|
|
954
|
-
* @param arrayB second array
|
|
962
|
+
* Find the min and max distance between corresponding indexed points. Excess points are ignored.
|
|
963
|
+
* @param arrayA first array.
|
|
964
|
+
* @param arrayB second array.
|
|
955
965
|
*/
|
|
956
966
|
static distanceRangeBetweenCorrespondingPoints(arrayA, arrayB) {
|
|
957
967
|
const dataA = arrayA._data;
|
|
@@ -967,11 +977,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
967
977
|
}
|
|
968
978
|
return range;
|
|
969
979
|
}
|
|
970
|
-
/**
|
|
971
|
-
* remove trailing point(s) within tolerance of the start point.
|
|
972
|
-
* @param points
|
|
973
|
-
* @param tolerance
|
|
974
|
-
*/
|
|
980
|
+
/** Remove trailing point(s) within tolerance of the start point. */
|
|
975
981
|
static removeClosure(points, tolerance = Geometry.smallMetricDistance) {
|
|
976
982
|
while (points.length > 1 && points.distanceIndexIndex(0, points.length - 1) < tolerance)
|
|
977
983
|
points.pop();
|
|
@@ -979,8 +985,8 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
979
985
|
/**
|
|
980
986
|
* Compute frame for a triangle formed by three (unchecked!) points identified by index.
|
|
981
987
|
* * z direction of frame is 001.
|
|
982
|
-
* * Transform axes from origin to targetA and targetB
|
|
983
|
-
* * in local coordinates (u,v,w) the xy interior of the triangle is `u>=0, v>= 0, w>= 0, u+v+w<1
|
|
988
|
+
* * Transform axes from origin to targetA and targetB.
|
|
989
|
+
* * in local coordinates (u,v,w) the xy interior of the triangle is `u>=0, v>= 0, w>= 0, u+v+w<1`.
|
|
984
990
|
* * Return undefined if transform is not invertible, e.g. if points are in a vertical plane.
|
|
985
991
|
*/
|
|
986
992
|
fillLocalXYTriangleFrame(originIndex, targetAIndex, targetBIndex, result) {
|
|
@@ -1006,7 +1012,7 @@ export class GrowableXYZArray extends IndexedReadWriteXYZCollection {
|
|
|
1006
1012
|
/**
|
|
1007
1013
|
* Pass the (x,y,z) of each point to a function which returns a replacement for one of the 3 components.
|
|
1008
1014
|
* @param componentIndex Index (0,1,2) of component to be replaced.
|
|
1009
|
-
* @param func function to be called as `func(x,y,z)`, returning a replacement value for componentIndex
|
|
1015
|
+
* @param func function to be called as `func(x,y,z)`, returning a replacement value for componentIndex.
|
|
1010
1016
|
*/
|
|
1011
1017
|
mapComponent(componentIndex, func) {
|
|
1012
1018
|
const n = this._data.length;
|