@itwin/core-geometry 3.0.0-dev.76 → 3.0.0-dev.80
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 +1049 -0
- package/lib/{Constant.d.ts → cjs/Constant.d.ts} +0 -0
- package/lib/cjs/Constant.d.ts.map +1 -0
- package/lib/{Constant.js → cjs/Constant.js} +0 -0
- package/lib/cjs/Constant.js.map +1 -0
- package/lib/{Geometry.d.ts → cjs/Geometry.d.ts} +0 -0
- package/lib/cjs/Geometry.d.ts.map +1 -0
- package/lib/{Geometry.js → cjs/Geometry.js} +0 -0
- package/lib/cjs/Geometry.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/AkimaCurve3d.d.ts +0 -0
- package/lib/cjs/bspline/AkimaCurve3d.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/AkimaCurve3d.js +0 -0
- package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSpline1dNd.d.ts +0 -0
- package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSpline1dNd.js +0 -0
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve.d.ts +0 -0
- package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve.js +0 -0
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve3dH.d.ts +0 -0
- package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve3dH.js +0 -0
- package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurveOps.d.ts +0 -0
- package/lib/cjs/bspline/BSplineCurveOps.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurveOps.js +0 -0
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -0
- package/lib/cjs/bspline/BSplineSurface.d.ts +491 -0
- package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineSurface.js +0 -0
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/Bezier1dNd.d.ts +0 -0
- package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/Bezier1dNd.js +0 -0
- package/lib/cjs/bspline/Bezier1dNd.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3d.d.ts +0 -0
- package/lib/cjs/bspline/BezierCurve3d.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3d.js +0 -0
- package/lib/cjs/bspline/BezierCurve3d.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3dH.d.ts +0 -0
- package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3dH.js +0 -0
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurveBase.d.ts +0 -0
- package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurveBase.js +0 -0
- package/lib/cjs/bspline/BezierCurveBase.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/InterpolationCurve3d.d.ts +0 -0
- package/lib/cjs/bspline/InterpolationCurve3d.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/InterpolationCurve3d.js +0 -0
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/KnotVector.d.ts +0 -0
- package/lib/cjs/bspline/KnotVector.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/KnotVector.js +0 -0
- package/lib/cjs/bspline/KnotVector.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/SurfaceLocationDetail.d.ts +0 -0
- package/lib/cjs/bspline/SurfaceLocationDetail.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/SurfaceLocationDetail.js +0 -0
- package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/AlternatingConvexClipTree.d.ts +0 -0
- package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/AlternatingConvexClipTree.js +0 -0
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipFactory.d.ts +0 -0
- package/lib/cjs/clipping/BooleanClipFactory.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipFactory.js +0 -0
- package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipNode.d.ts +0 -0
- package/lib/cjs/clipping/BooleanClipNode.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipNode.js +0 -0
- package/lib/cjs/clipping/BooleanClipNode.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPlane.d.ts +0 -0
- package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPlane.js +0 -0
- package/lib/cjs/clipping/ClipPlane.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPrimitive.d.ts +0 -0
- package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPrimitive.js +0 -0
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipUtils.d.ts +0 -0
- package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipUtils.js +0 -0
- package/lib/cjs/clipping/ClipUtils.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipVector.d.ts +0 -0
- package/lib/cjs/clipping/ClipVector.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipVector.js +0 -0
- package/lib/cjs/clipping/ClipVector.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ConvexClipPlaneSet.d.ts +0 -0
- package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ConvexClipPlaneSet.js +0 -0
- package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/UnionOfConvexClipPlaneSets.d.ts +0 -0
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/UnionOfConvexClipPlaneSets.js +0 -0
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/internalContexts/LineStringOffsetClipperContext.d.ts +0 -0
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/internalContexts/LineStringOffsetClipperContext.js +0 -0
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -0
- package/lib/{core-geometry.d.ts → cjs/core-geometry.d.ts} +0 -0
- package/lib/cjs/core-geometry.d.ts.map +1 -0
- package/lib/{core-geometry.js → cjs/core-geometry.js} +0 -0
- package/lib/cjs/core-geometry.js.map +1 -0
- package/lib/{curve → cjs/curve}/Arc3d.d.ts +0 -0
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Arc3d.js +0 -0
- package/lib/cjs/curve/Arc3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/ChainCollectorContext.d.ts +0 -0
- package/lib/cjs/curve/ChainCollectorContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ChainCollectorContext.js +0 -0
- package/lib/cjs/curve/ChainCollectorContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/ConstructCurveBetweenCurves.d.ts +0 -0
- package/lib/cjs/curve/ConstructCurveBetweenCurves.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ConstructCurveBetweenCurves.js +0 -0
- package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -0
- package/lib/{curve → cjs/curve}/CoordinateXYZ.d.ts +0 -0
- package/lib/cjs/curve/CoordinateXYZ.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CoordinateXYZ.js +0 -0
- package/lib/cjs/curve/CoordinateXYZ.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChain.d.ts +0 -0
- package/lib/cjs/curve/CurveChain.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChain.js +0 -0
- package/lib/cjs/curve/CurveChain.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChainWithDistanceIndex.d.ts +0 -0
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChainWithDistanceIndex.js +0 -0
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCollection.d.ts +0 -0
- package/lib/cjs/curve/CurveCollection.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCollection.js +0 -0
- package/lib/cjs/curve/CurveCollection.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurve.d.ts +0 -0
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurve.js +0 -0
- package/lib/cjs/curve/CurveCurve.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveCloseApproachXY.d.ts +0 -0
- package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveCloseApproachXY.js +0 -0
- package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXY.d.ts +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXY.js +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXYZ.d.ts +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXYZ.js +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveExtendMode.d.ts +0 -0
- package/lib/cjs/curve/CurveExtendMode.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveExtendMode.js +0 -0
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveFactory.d.ts +0 -0
- package/lib/cjs/curve/CurveFactory.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveFactory.js +0 -0
- package/lib/cjs/curve/CurveFactory.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveLocationDetail.d.ts +0 -0
- package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveLocationDetail.js +0 -0
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurvePrimitive.d.ts +0 -0
- package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurvePrimitive.js +0 -0
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveProcessor.d.ts +0 -0
- package/lib/cjs/curve/CurveProcessor.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveProcessor.js +0 -0
- package/lib/cjs/curve/CurveProcessor.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveWireMomentsXYZ.d.ts +0 -0
- package/lib/cjs/curve/CurveWireMomentsXYZ.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveWireMomentsXYZ.js +0 -0
- package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -0
- package/lib/{curve → cjs/curve}/GeometryQuery.d.ts +0 -0
- package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/GeometryQuery.js +0 -0
- package/lib/cjs/curve/GeometryQuery.js.map +1 -0
- package/lib/{curve → cjs/curve}/LineSegment3d.d.ts +0 -0
- package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/LineSegment3d.js +0 -0
- package/lib/cjs/curve/LineSegment3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/LineString3d.d.ts +0 -0
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/LineString3d.js +0 -0
- package/lib/cjs/curve/LineString3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/Loop.d.ts +0 -0
- package/lib/cjs/curve/Loop.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Loop.js +0 -0
- package/lib/cjs/curve/Loop.js.map +1 -0
- package/lib/{curve → cjs/curve}/ParityRegion.d.ts +0 -0
- package/lib/cjs/curve/ParityRegion.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ParityRegion.js +0 -0
- package/lib/cjs/curve/ParityRegion.js.map +1 -0
- package/lib/{curve → cjs/curve}/Path.d.ts +0 -0
- package/lib/cjs/curve/Path.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Path.js +0 -0
- package/lib/cjs/curve/Path.js.map +1 -0
- package/lib/{curve → cjs/curve}/PointString3d.d.ts +0 -0
- package/lib/cjs/curve/PointString3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/PointString3d.js +0 -0
- package/lib/cjs/curve/PointString3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/ProxyCurve.d.ts +0 -0
- package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ProxyCurve.js +0 -0
- package/lib/cjs/curve/ProxyCurve.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/ConsolidateAdjacentPrimitivesContext.d.ts +0 -0
- package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/ConsolidateAdjacentPrimitivesContext.js +0 -0
- package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CurveSplitContext.d.ts +0 -0
- package/lib/cjs/curve/Query/CurveSplitContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CurveSplitContext.js +0 -0
- package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CylindricalRange.d.ts +0 -0
- package/lib/cjs/curve/Query/CylindricalRange.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CylindricalRange.js +0 -0
- package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/InOutTests.d.ts +0 -0
- package/lib/cjs/curve/Query/InOutTests.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/InOutTests.js +0 -0
- package/lib/cjs/curve/Query/InOutTests.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/PlanarSubdivision.d.ts +0 -0
- package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/PlanarSubdivision.js +0 -0
- package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountChain.d.ts +0 -0
- package/lib/cjs/curve/Query/StrokeCountChain.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountChain.js +0 -0
- package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountMap.d.ts +0 -0
- package/lib/cjs/curve/Query/StrokeCountMap.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountMap.js +0 -0
- package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -0
- package/lib/{curve → cjs/curve}/RegionMomentsXY.d.ts +0 -0
- package/lib/cjs/curve/RegionMomentsXY.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/RegionMomentsXY.js +0 -0
- package/lib/cjs/curve/RegionMomentsXY.js.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOps.d.ts +0 -0
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOps.js +0 -0
- package/lib/cjs/curve/RegionOps.js.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOpsClassificationSweeps.d.ts +0 -0
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOpsClassificationSweeps.js +0 -0
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -0
- package/lib/{curve → cjs/curve}/StrokeOptions.d.ts +0 -0
- package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/StrokeOptions.js +0 -0
- package/lib/cjs/curve/StrokeOptions.js.map +1 -0
- package/lib/{curve → cjs/curve}/UnionRegion.d.ts +0 -0
- package/lib/cjs/curve/UnionRegion.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/UnionRegion.js +0 -0
- package/lib/cjs/curve/UnionRegion.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneCurvesContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/CloneCurvesContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneCurvesContext.js +0 -0
- package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneWithExpandedLineStrings.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneWithExpandedLineStrings.js +0 -0
- package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CountLinearPartsSearchContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CountLinearPartsSearchContext.js +0 -0
- package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/GapSearchContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/GapSearchContext.js +0 -0
- package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/MultiChainCollector.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/MultiChainCollector.js +0 -0
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PlaneAltitudeRangeContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PlaneAltitudeRangeContext.js +0 -0
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PolygonOffsetContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PolygonOffsetContext.js +0 -0
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/SumLengthsContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/SumLengthsContext.js +0 -0
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/TransformInPlaceContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/TransformInPlaceContext.js +0 -0
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/AustralianRailCorpXYEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/AustralianRailCorpXYEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/ClothoidSeries.d.ts +0 -0
- package/lib/cjs/curve/spiral/ClothoidSeries.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/ClothoidSeries.js +0 -0
- package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CubicEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/CubicEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CubicEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CzechSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CzechSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/DirectHalfCosineSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/DirectHalfCosineSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +265 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.js +473 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +158 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +364 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/MXCubicAlongArcSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/NormalizedTransition.d.ts +0 -0
- package/lib/cjs/curve/spiral/NormalizedTransition.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/NormalizedTransition.js +0 -0
- package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/PolishCubicSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/PolishCubicSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionConditionalProperties.d.ts +0 -0
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionConditionalProperties.js +0 -0
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionSpiral3d.d.ts +0 -0
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionSpiral3d.js +0 -0
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/XYCurveEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/XYCurveEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Angle.d.ts +0 -0
- package/lib/cjs/geometry3d/Angle.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Angle.js +0 -0
- package/lib/cjs/geometry3d/Angle.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/AngleSweep.d.ts +0 -0
- package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/AngleSweep.js +0 -0
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BarycentricTriangle.d.ts +0 -0
- package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BarycentricTriangle.js +0 -0
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BilinearPatch.d.ts +0 -0
- package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BilinearPatch.js +0 -0
- package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/CoincidentGeometryOps.d.ts +0 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/CoincidentGeometryOps.js +0 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ellipsoid.d.ts +0 -0
- package/lib/cjs/geometry3d/Ellipsoid.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ellipsoid.js +0 -0
- package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrameBuilder.d.ts +0 -0
- package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrameBuilder.js +0 -0
- package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrustumAnimation.d.ts +0 -0
- package/lib/cjs/geometry3d/FrustumAnimation.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrustumAnimation.js +0 -0
- package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GeometryHandler.d.ts +0 -0
- package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GeometryHandler.js +0 -0
- package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableBlockedArray.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableBlockedArray.js +0 -0
- package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableFloat64Array.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableFloat64Array.js +0 -0
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYArray.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYArray.js +0 -0
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYZArray.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYZArray.js +0 -0
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedCollectionInterval.d.ts +0 -0
- package/lib/cjs/geometry3d/IndexedCollectionInterval.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedCollectionInterval.js +0 -0
- package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYCollection.d.ts +0 -0
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYCollection.js +0 -0
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYZCollection.d.ts +0 -0
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYZCollection.js +0 -0
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/LongitudeLatitudeAltitude.d.ts +0 -0
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/LongitudeLatitudeAltitude.js +0 -0
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Matrix3d.d.ts +0 -0
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Matrix3d.js +0 -0
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/OrderedRotationAngles.d.ts +0 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/OrderedRotationAngles.js +0 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndUnitNormal.d.ts +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndUnitNormal.js +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndVectors.d.ts +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndVectors.js +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dArrayCarrier.d.ts +0 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dArrayCarrier.js +0 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dVector2d.d.ts +0 -0
- package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dVector2d.js +0 -0
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dArrayCarrier.d.ts +0 -0
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dArrayCarrier.js +0 -0
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dVector3d.d.ts +0 -0
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dVector3d.js +0 -0
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointHelpers.d.ts +0 -0
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointHelpers.js +0 -0
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointStreaming.d.ts +0 -0
- package/lib/cjs/geometry3d/PointStreaming.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointStreaming.js +0 -0
- package/lib/cjs/geometry3d/PointStreaming.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolygonOps.d.ts +0 -0
- package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolygonOps.js +0 -0
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineCompressionByEdgeOffset.d.ts +0 -0
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineCompressionByEdgeOffset.js +0 -0
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineOps.d.ts +0 -0
- package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineOps.js +0 -0
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Range.d.ts +0 -0
- package/lib/cjs/geometry3d/Range.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Range.js +0 -0
- package/lib/cjs/geometry3d/Range.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ray3d.d.ts +0 -0
- package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ray3d.js +0 -0
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/ReusableObjectCache.d.ts +0 -0
- package/lib/cjs/geometry3d/ReusableObjectCache.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/ReusableObjectCache.js +0 -0
- package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Segment1d.d.ts +0 -0
- package/lib/cjs/geometry3d/Segment1d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Segment1d.js +0 -0
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/SortablePolygon.d.ts +0 -0
- package/lib/cjs/geometry3d/SortablePolygon.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/SortablePolygon.js +0 -0
- package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Transform.d.ts +0 -0
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Transform.js +0 -0
- package/lib/cjs/geometry3d/Transform.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/UVSurfaceOps.d.ts +0 -0
- package/lib/cjs/geometry3d/UVSurfaceOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/UVSurfaceOps.js +0 -0
- package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/XYZProps.d.ts +0 -0
- package/lib/cjs/geometry3d/XYZProps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/XYZProps.js +0 -0
- package/lib/cjs/geometry3d/XYZProps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/YawPitchRollAngles.d.ts +0 -0
- package/lib/cjs/geometry3d/YawPitchRollAngles.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/YawPitchRollAngles.js +0 -0
- package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Map4d.d.ts +0 -0
- package/lib/cjs/geometry4d/Map4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Map4d.js +0 -0
- package/lib/cjs/geometry4d/Map4d.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Matrix4d.d.ts +0 -0
- package/lib/cjs/geometry4d/Matrix4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Matrix4d.js +0 -0
- package/lib/cjs/geometry4d/Matrix4d.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/MomentData.d.ts +0 -0
- package/lib/cjs/geometry4d/MomentData.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/MomentData.js +0 -0
- package/lib/cjs/geometry4d/MomentData.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/PlaneByOriginAndVectors4d.d.ts +0 -0
- package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/PlaneByOriginAndVectors4d.js +0 -0
- package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Point4d.d.ts +0 -0
- package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Point4d.js +0 -0
- package/lib/cjs/geometry4d/Point4d.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/BandedSystem.d.ts +0 -0
- package/lib/cjs/numerics/BandedSystem.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/BandedSystem.js +0 -0
- package/lib/cjs/numerics/BandedSystem.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/BezierPolynomials.d.ts +0 -0
- package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/BezierPolynomials.js +0 -0
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/ClusterableArray.d.ts +0 -0
- package/lib/cjs/numerics/ClusterableArray.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/ClusterableArray.js +0 -0
- package/lib/cjs/numerics/ClusterableArray.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Complex.d.ts +0 -0
- package/lib/cjs/numerics/Complex.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Complex.js +0 -0
- package/lib/cjs/numerics/Complex.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/ConvexPolygon2d.d.ts +0 -0
- package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/ConvexPolygon2d.js +0 -0
- package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Newton.d.ts +0 -0
- package/lib/cjs/numerics/Newton.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Newton.js +0 -0
- package/lib/cjs/numerics/Newton.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/PascalCoefficients.d.ts +0 -0
- package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/PascalCoefficients.js +0 -0
- package/lib/cjs/numerics/PascalCoefficients.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/PolarData.d.ts +0 -0
- package/lib/cjs/numerics/PolarData.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/PolarData.js +0 -0
- package/lib/cjs/numerics/PolarData.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Polynomials.d.ts +0 -0
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Polynomials.js +0 -0
- package/lib/cjs/numerics/Polynomials.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Quadrature.d.ts +0 -0
- package/lib/cjs/numerics/Quadrature.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Quadrature.js +0 -0
- package/lib/cjs/numerics/Quadrature.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Range1dArray.d.ts +0 -0
- package/lib/cjs/numerics/Range1dArray.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Range1dArray.js +0 -0
- package/lib/cjs/numerics/Range1dArray.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/TriDiagonalSystem.d.ts +0 -0
- package/lib/cjs/numerics/TriDiagonalSystem.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/TriDiagonalSystem.js +0 -0
- package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/UnionFind.d.ts +0 -0
- package/lib/cjs/numerics/UnionFind.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/UnionFind.js +0 -0
- package/lib/cjs/numerics/UnionFind.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/UsageSums.d.ts +0 -0
- package/lib/cjs/numerics/UsageSums.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/UsageSums.js +0 -0
- package/lib/cjs/numerics/UsageSums.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/AuxData.d.ts +0 -0
- package/lib/cjs/polyface/AuxData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/AuxData.js +0 -0
- package/lib/cjs/polyface/AuxData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/BoxTopology.d.ts +0 -0
- package/lib/cjs/polyface/BoxTopology.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/BoxTopology.js +0 -0
- package/lib/cjs/polyface/BoxTopology.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetFaceData.d.ts +0 -0
- package/lib/cjs/polyface/FacetFaceData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetFaceData.js +0 -0
- package/lib/cjs/polyface/FacetFaceData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetOrientation.d.ts +0 -0
- package/lib/cjs/polyface/FacetOrientation.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetOrientation.js +0 -0
- package/lib/cjs/polyface/FacetOrientation.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/GreedyTriangulationBetweenLineStrings.d.ts +0 -0
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/GreedyTriangulationBetweenLineStrings.js +0 -0
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedEdgeMatcher.d.ts +0 -0
- package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedEdgeMatcher.js +0 -0
- package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedPolyfaceVisitor.d.ts +0 -0
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedPolyfaceVisitor.js +0 -0
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/Polyface.d.ts +0 -0
- package/lib/cjs/polyface/Polyface.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/Polyface.js +0 -0
- package/lib/cjs/polyface/Polyface.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceBuilder.d.ts +0 -0
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceBuilder.js +0 -0
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceClip.d.ts +0 -0
- package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceClip.js +0 -0
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -0
- package/lib/cjs/polyface/PolyfaceData.d.ts +206 -0
- package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -0
- package/lib/cjs/polyface/PolyfaceData.js +531 -0
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceQuery.d.ts +0 -0
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceQuery.js +0 -0
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/RangeLengthData.d.ts +0 -0
- package/lib/cjs/polyface/RangeLengthData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/RangeLengthData.js +0 -0
- package/lib/cjs/polyface/RangeLengthData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/TaggedNumericData.d.ts +0 -0
- package/lib/cjs/polyface/TaggedNumericData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/TaggedNumericData.js +0 -0
- package/lib/cjs/polyface/TaggedNumericData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/TriangleCandidate.d.ts +0 -0
- package/lib/cjs/polyface/TriangleCandidate.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/TriangleCandidate.js +0 -0
- package/lib/cjs/polyface/TriangleCandidate.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/BuildAverageNormalsContext.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/BuildAverageNormalsContext.js +0 -0
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSet.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSet.js +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSetWithOverflow.js +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/LinearSearchRange2dArray.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/LinearSearchRange2dArray.js +0 -0
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/Range2dSearchInterface.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/Range2dSearchInterface.js +0 -0
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/RangeSearch.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/RangeSearch.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/RangeSearch.js +0 -0
- package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/SweepLineStringToFacetContext.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/SweepLineStringToFacetContext.js +0 -0
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/XYPointBuckets.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/XYPointBuckets.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/XYPointBuckets.js +0 -0
- package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBAccessors.d.ts +0 -0
- package/lib/cjs/serialization/BGFBAccessors.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBAccessors.js +0 -0
- package/lib/cjs/serialization/BGFBAccessors.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBReader.d.ts +0 -0
- package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBReader.js +0 -0
- package/lib/cjs/serialization/BGFBReader.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBWriter.d.ts +0 -0
- package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBWriter.js +0 -0
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BentleyGeometryFlatBuffer.d.ts +0 -0
- package/lib/cjs/serialization/BentleyGeometryFlatBuffer.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BentleyGeometryFlatBuffer.js +0 -0
- package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/DeepCompare.d.ts +0 -0
- package/lib/cjs/serialization/DeepCompare.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/DeepCompare.js +0 -0
- package/lib/cjs/serialization/DeepCompare.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/GeometrySamples.d.ts +0 -0
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/GeometrySamples.js +0 -0
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/IModelJsonSchema.d.ts +0 -0
- package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/IModelJsonSchema.js +0 -0
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -0
- package/lib/{solid → cjs/solid}/Box.d.ts +0 -0
- package/lib/cjs/solid/Box.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/Box.js +0 -0
- package/lib/cjs/solid/Box.js.map +1 -0
- package/lib/{solid → cjs/solid}/Cone.d.ts +0 -0
- package/lib/cjs/solid/Cone.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/Cone.js +0 -0
- package/lib/cjs/solid/Cone.js.map +1 -0
- package/lib/{solid → cjs/solid}/LinearSweep.d.ts +0 -0
- package/lib/cjs/solid/LinearSweep.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/LinearSweep.js +0 -0
- package/lib/cjs/solid/LinearSweep.js.map +1 -0
- package/lib/{solid → cjs/solid}/RotationalSweep.d.ts +0 -0
- package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/RotationalSweep.js +0 -0
- package/lib/cjs/solid/RotationalSweep.js.map +1 -0
- package/lib/{solid → cjs/solid}/RuledSweep.d.ts +0 -0
- package/lib/cjs/solid/RuledSweep.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/RuledSweep.js +0 -0
- package/lib/cjs/solid/RuledSweep.js.map +1 -0
- package/lib/{solid → cjs/solid}/SolidPrimitive.d.ts +0 -0
- package/lib/cjs/solid/SolidPrimitive.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/SolidPrimitive.js +0 -0
- package/lib/cjs/solid/SolidPrimitive.js.map +1 -0
- package/lib/{solid → cjs/solid}/Sphere.d.ts +0 -0
- package/lib/cjs/solid/Sphere.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/Sphere.js +0 -0
- package/lib/cjs/solid/Sphere.js.map +1 -0
- package/lib/{solid → cjs/solid}/SweepContour.d.ts +0 -0
- package/lib/cjs/solid/SweepContour.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/SweepContour.js +0 -0
- package/lib/cjs/solid/SweepContour.js.map +1 -0
- package/lib/{solid → cjs/solid}/TorusPipe.d.ts +0 -0
- package/lib/cjs/solid/TorusPipe.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/TorusPipe.js +0 -0
- package/lib/cjs/solid/TorusPipe.js.map +1 -0
- package/lib/{topology → cjs/topology}/ChainMerge.d.ts +0 -0
- package/lib/cjs/topology/ChainMerge.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/ChainMerge.js +0 -0
- package/lib/cjs/topology/ChainMerge.js.map +1 -0
- package/lib/{topology → cjs/topology}/Graph.d.ts +0 -0
- package/lib/cjs/topology/Graph.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/Graph.js +0 -0
- package/lib/cjs/topology/Graph.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSearch.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSearch.js +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSpineContext.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSpineContext.js +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphValidation.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeGraphValidation.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphValidation.js +0 -0
- package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeMarkSet.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeMarkSet.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeMarkSet.js +0 -0
- package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeNodeXYZUV.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeNodeXYZUV.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeNodeXYZUV.js +0 -0
- package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePointInGraphSearch.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePointInGraphSearch.js +0 -0
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePositionDetail.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgePositionDetail.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePositionDetail.js +0 -0
- package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePriorityQueue.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePriorityQueue.js +0 -0
- package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -0
- package/lib/{topology → cjs/topology}/InsertAndRetriangulateContext.d.ts +0 -0
- package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/InsertAndRetriangulateContext.js +0 -0
- package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -0
- package/lib/{topology → cjs/topology}/MaskManager.d.ts +0 -0
- package/lib/cjs/topology/MaskManager.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/MaskManager.js +0 -0
- package/lib/cjs/topology/MaskManager.js.map +1 -0
- package/lib/{topology → cjs/topology}/Merging.d.ts +0 -0
- package/lib/cjs/topology/Merging.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/Merging.js +0 -0
- package/lib/cjs/topology/Merging.js.map +1 -0
- package/lib/{topology → cjs/topology}/RegularizeFace.d.ts +0 -0
- package/lib/cjs/topology/RegularizeFace.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/RegularizeFace.js +0 -0
- package/lib/cjs/topology/RegularizeFace.js.map +1 -0
- package/lib/{topology → cjs/topology}/SignedDataSummary.d.ts +0 -0
- package/lib/cjs/topology/SignedDataSummary.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/SignedDataSummary.js +0 -0
- package/lib/cjs/topology/SignedDataSummary.js.map +1 -0
- package/lib/{topology → cjs/topology}/Triangulation.d.ts +0 -0
- package/lib/cjs/topology/Triangulation.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/Triangulation.js +0 -0
- package/lib/cjs/topology/Triangulation.js.map +1 -0
- package/lib/{topology → cjs/topology}/XYParitySearchContext.d.ts +0 -0
- package/lib/cjs/topology/XYParitySearchContext.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/XYParitySearchContext.js +0 -0
- package/lib/cjs/topology/XYParitySearchContext.js.map +1 -0
- package/lib/esm/Constant.d.ts +26 -0
- package/lib/esm/Constant.d.ts.map +1 -0
- package/lib/esm/Constant.js +30 -0
- package/lib/esm/Constant.js.map +1 -0
- package/lib/esm/Geometry.d.ts +498 -0
- package/lib/esm/Geometry.d.ts.map +1 -0
- package/lib/esm/Geometry.js +776 -0
- package/lib/esm/Geometry.js.map +1 -0
- package/lib/esm/bspline/AkimaCurve3d.d.ts +97 -0
- package/lib/esm/bspline/AkimaCurve3d.d.ts.map +1 -0
- package/lib/esm/bspline/AkimaCurve3d.js +158 -0
- package/lib/esm/bspline/AkimaCurve3d.js.map +1 -0
- package/lib/esm/bspline/BSpline1dNd.d.ts +96 -0
- package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -0
- package/lib/esm/bspline/BSpline1dNd.js +191 -0
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -0
- package/lib/esm/bspline/BSplineCurve.d.ts +310 -0
- package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineCurve.js +608 -0
- package/lib/esm/bspline/BSplineCurve.js.map +1 -0
- package/lib/esm/bspline/BSplineCurve3dH.d.ts +140 -0
- package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineCurve3dH.js +421 -0
- package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -0
- package/lib/esm/bspline/BSplineCurveOps.d.ts +159 -0
- package/lib/esm/bspline/BSplineCurveOps.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineCurveOps.js +805 -0
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -0
- package/lib/esm/bspline/BSplineSurface.d.ts +491 -0
- package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineSurface.js +837 -0
- package/lib/esm/bspline/BSplineSurface.js.map +1 -0
- package/lib/esm/bspline/Bezier1dNd.d.ts +113 -0
- package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -0
- package/lib/esm/bspline/Bezier1dNd.js +341 -0
- package/lib/esm/bspline/Bezier1dNd.js.map +1 -0
- package/lib/esm/bspline/BezierCurve3d.d.ts +76 -0
- package/lib/esm/bspline/BezierCurve3d.d.ts.map +1 -0
- package/lib/esm/bspline/BezierCurve3d.js +214 -0
- package/lib/esm/bspline/BezierCurve3d.js.map +1 -0
- package/lib/esm/bspline/BezierCurve3dH.d.ts +107 -0
- package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -0
- package/lib/esm/bspline/BezierCurve3dH.js +348 -0
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -0
- package/lib/esm/bspline/BezierCurveBase.d.ts +111 -0
- package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -0
- package/lib/esm/bspline/BezierCurveBase.js +196 -0
- package/lib/esm/bspline/BezierCurveBase.js.map +1 -0
- package/lib/esm/bspline/InterpolationCurve3d.d.ts +163 -0
- package/lib/esm/bspline/InterpolationCurve3d.d.ts.map +1 -0
- package/lib/esm/bspline/InterpolationCurve3d.js +281 -0
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -0
- package/lib/esm/bspline/KnotVector.d.ts +160 -0
- package/lib/esm/bspline/KnotVector.d.ts.map +1 -0
- package/lib/esm/bspline/KnotVector.js +427 -0
- package/lib/esm/bspline/KnotVector.js.map +1 -0
- package/lib/esm/bspline/SurfaceLocationDetail.d.ts +52 -0
- package/lib/esm/bspline/SurfaceLocationDetail.d.ts.map +1 -0
- package/lib/esm/bspline/SurfaceLocationDetail.js +55 -0
- package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +165 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.js +519 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -0
- package/lib/esm/clipping/BooleanClipFactory.d.ts +80 -0
- package/lib/esm/clipping/BooleanClipFactory.d.ts.map +1 -0
- package/lib/esm/clipping/BooleanClipFactory.js +198 -0
- package/lib/esm/clipping/BooleanClipFactory.js.map +1 -0
- package/lib/esm/clipping/BooleanClipNode.d.ts +103 -0
- package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -0
- package/lib/esm/clipping/BooleanClipNode.js +255 -0
- package/lib/esm/clipping/BooleanClipNode.js.map +1 -0
- package/lib/esm/clipping/ClipPlane.d.ts +258 -0
- package/lib/esm/clipping/ClipPlane.d.ts.map +1 -0
- package/lib/esm/clipping/ClipPlane.js +505 -0
- package/lib/esm/clipping/ClipPlane.js.map +1 -0
- package/lib/esm/clipping/ClipPrimitive.d.ts +270 -0
- package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -0
- package/lib/esm/clipping/ClipPrimitive.js +620 -0
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -0
- package/lib/esm/clipping/ClipUtils.d.ts +278 -0
- package/lib/esm/clipping/ClipUtils.d.ts.map +1 -0
- package/lib/esm/clipping/ClipUtils.js +593 -0
- package/lib/esm/clipping/ClipUtils.js.map +1 -0
- package/lib/esm/clipping/ClipVector.d.ts +154 -0
- package/lib/esm/clipping/ClipVector.d.ts.map +1 -0
- package/lib/esm/clipping/ClipVector.js +388 -0
- package/lib/esm/clipping/ClipVector.js.map +1 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +250 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.js +685 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +126 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +325 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +42 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +160 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -0
- package/lib/esm/core-geometry.d.ts +228 -0
- package/lib/esm/core-geometry.d.ts.map +1 -0
- package/lib/esm/core-geometry.js +247 -0
- package/lib/esm/core-geometry.js.map +1 -0
- package/lib/esm/curve/Arc3d.d.ts +477 -0
- package/lib/esm/curve/Arc3d.d.ts.map +1 -0
- package/lib/esm/curve/Arc3d.js +905 -0
- package/lib/esm/curve/Arc3d.js.map +1 -0
- package/lib/esm/curve/ChainCollectorContext.d.ts +65 -0
- package/lib/esm/curve/ChainCollectorContext.d.ts.map +1 -0
- package/lib/esm/curve/ChainCollectorContext.js +175 -0
- package/lib/esm/curve/ChainCollectorContext.js.map +1 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.d.ts +46 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.d.ts.map +1 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.js +112 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -0
- package/lib/esm/curve/CoordinateXYZ.d.ts +54 -0
- package/lib/esm/curve/CoordinateXYZ.d.ts.map +1 -0
- package/lib/esm/curve/CoordinateXYZ.js +75 -0
- package/lib/esm/curve/CoordinateXYZ.js.map +1 -0
- package/lib/esm/curve/CurveChain.d.ts +17 -0
- package/lib/esm/curve/CurveChain.d.ts.map +1 -0
- package/lib/esm/curve/CurveChain.js +6 -0
- package/lib/esm/curve/CurveChain.js.map +1 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +234 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +513 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -0
- package/lib/esm/curve/CurveCollection.d.ts +204 -0
- package/lib/esm/curve/CurveCollection.d.ts.map +1 -0
- package/lib/esm/curve/CurveCollection.js +338 -0
- package/lib/esm/curve/CurveCollection.js.map +1 -0
- package/lib/esm/curve/CurveCurve.d.ts +56 -0
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurve.js +96 -0
- package/lib/esm/curve/CurveCurve.js.map +1 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +158 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.js +720 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts +148 -0
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXY.js +814 -0
- package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +101 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.js +669 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -0
- package/lib/esm/curve/CurveExtendMode.d.ts +50 -0
- package/lib/esm/curve/CurveExtendMode.d.ts.map +1 -0
- package/lib/esm/curve/CurveExtendMode.js +96 -0
- package/lib/esm/curve/CurveExtendMode.js.map +1 -0
- package/lib/esm/curve/CurveFactory.d.ts +122 -0
- package/lib/esm/curve/CurveFactory.d.ts.map +1 -0
- package/lib/esm/curve/CurveFactory.js +491 -0
- package/lib/esm/curve/CurveFactory.js.map +1 -0
- package/lib/esm/curve/CurveLocationDetail.d.ts +207 -0
- package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -0
- package/lib/esm/curve/CurveLocationDetail.js +392 -0
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -0
- package/lib/esm/curve/CurvePrimitive.d.ts +363 -0
- package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -0
- package/lib/esm/curve/CurvePrimitive.js +774 -0
- package/lib/esm/curve/CurvePrimitive.js.map +1 -0
- package/lib/esm/curve/CurveProcessor.d.ts +76 -0
- package/lib/esm/curve/CurveProcessor.d.ts.map +1 -0
- package/lib/esm/curve/CurveProcessor.js +122 -0
- package/lib/esm/curve/CurveProcessor.js.map +1 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.d.ts +25 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.d.ts.map +1 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.js +65 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -0
- package/lib/esm/curve/GeometryQuery.d.ts +93 -0
- package/lib/esm/curve/GeometryQuery.d.ts.map +1 -0
- package/lib/esm/curve/GeometryQuery.js +68 -0
- package/lib/esm/curve/GeometryQuery.js.map +1 -0
- package/lib/esm/curve/LineSegment3d.d.ts +176 -0
- package/lib/esm/curve/LineSegment3d.d.ts.map +1 -0
- package/lib/esm/curve/LineSegment3d.js +315 -0
- package/lib/esm/curve/LineSegment3d.js.map +1 -0
- package/lib/esm/curve/LineString3d.d.ts +419 -0
- package/lib/esm/curve/LineString3d.d.ts.map +1 -0
- package/lib/esm/curve/LineString3d.js +1280 -0
- package/lib/esm/curve/LineString3d.js.map +1 -0
- package/lib/esm/curve/Loop.d.ts +82 -0
- package/lib/esm/curve/Loop.d.ts.map +1 -0
- package/lib/esm/curve/Loop.js +93 -0
- package/lib/esm/curve/Loop.js.map +1 -0
- package/lib/esm/curve/ParityRegion.d.ts +59 -0
- package/lib/esm/curve/ParityRegion.d.ts.map +1 -0
- package/lib/esm/curve/ParityRegion.js +113 -0
- package/lib/esm/curve/ParityRegion.js.map +1 -0
- package/lib/esm/curve/Path.d.ts +47 -0
- package/lib/esm/curve/Path.d.ts.map +1 -0
- package/lib/esm/curve/Path.js +71 -0
- package/lib/esm/curve/Path.js.map +1 -0
- package/lib/esm/curve/PointString3d.d.ts +78 -0
- package/lib/esm/curve/PointString3d.d.ts.map +1 -0
- package/lib/esm/curve/PointString3d.js +174 -0
- package/lib/esm/curve/PointString3d.js.map +1 -0
- package/lib/esm/curve/ProxyCurve.d.ts +59 -0
- package/lib/esm/curve/ProxyCurve.d.ts.map +1 -0
- package/lib/esm/curve/ProxyCurve.js +78 -0
- package/lib/esm/curve/ProxyCurve.js.map +1 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts +25 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +111 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -0
- package/lib/esm/curve/Query/CurveSplitContext.d.ts +16 -0
- package/lib/esm/curve/Query/CurveSplitContext.d.ts.map +1 -0
- package/lib/esm/curve/Query/CurveSplitContext.js +107 -0
- package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -0
- package/lib/esm/curve/Query/CylindricalRange.d.ts +46 -0
- package/lib/esm/curve/Query/CylindricalRange.d.ts.map +1 -0
- package/lib/esm/curve/Query/CylindricalRange.js +111 -0
- package/lib/esm/curve/Query/CylindricalRange.js.map +1 -0
- package/lib/esm/curve/Query/InOutTests.d.ts +32 -0
- package/lib/esm/curve/Query/InOutTests.d.ts.map +1 -0
- package/lib/esm/curve/Query/InOutTests.js +116 -0
- package/lib/esm/curve/Query/InOutTests.js.map +1 -0
- package/lib/esm/curve/Query/PlanarSubdivision.d.ts +16 -0
- package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -0
- package/lib/esm/curve/Query/PlanarSubdivision.js +220 -0
- package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -0
- package/lib/esm/curve/Query/StrokeCountChain.d.ts +186 -0
- package/lib/esm/curve/Query/StrokeCountChain.d.ts.map +1 -0
- package/lib/esm/curve/Query/StrokeCountChain.js +429 -0
- package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -0
- package/lib/esm/curve/Query/StrokeCountMap.d.ts +94 -0
- package/lib/esm/curve/Query/StrokeCountMap.d.ts.map +1 -0
- package/lib/esm/curve/Query/StrokeCountMap.js +138 -0
- package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -0
- package/lib/esm/curve/RegionMomentsXY.d.ts +61 -0
- package/lib/esm/curve/RegionMomentsXY.d.ts.map +1 -0
- package/lib/esm/curve/RegionMomentsXY.js +156 -0
- package/lib/esm/curve/RegionMomentsXY.js.map +1 -0
- package/lib/esm/curve/RegionOps.d.ts +320 -0
- package/lib/esm/curve/RegionOps.d.ts.map +1 -0
- package/lib/esm/curve/RegionOps.js +642 -0
- package/lib/esm/curve/RegionOps.js.map +1 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +263 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.js +703 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -0
- package/lib/esm/curve/StrokeOptions.d.ts +94 -0
- package/lib/esm/curve/StrokeOptions.d.ts.map +1 -0
- package/lib/esm/curve/StrokeOptions.js +149 -0
- package/lib/esm/curve/StrokeOptions.js.map +1 -0
- package/lib/esm/curve/UnionRegion.d.ts +49 -0
- package/lib/esm/curve/UnionRegion.d.ts.map +1 -0
- package/lib/esm/curve/UnionRegion.js +75 -0
- package/lib/esm/curve/UnionRegion.js.map +1 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.d.ts +23 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.js +62 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.d.ts +16 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js +36 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.d.ts +18 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js +32 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +16 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.js +34 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +114 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.js +403 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +38 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +88 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +117 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +686 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts +17 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.js +21 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.d.ts +19 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js +19 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +41 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js +124 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts +66 -0
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts.map +1 -0
- package/lib/esm/curve/spiral/ClothoidSeries.js +220 -0
- package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -0
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts +43 -0
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/CubicEvaluator.js +67 -0
- package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts +108 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js +198 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +39 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js +88 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +265 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.js +469 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +158 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +360 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +38 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +72 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts +140 -0
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts.map +1 -0
- package/lib/esm/curve/spiral/NormalizedTransition.js +182 -0
- package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts +50 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js +109 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +53 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js +142 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +101 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.js +106 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts +80 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.js +103 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -0
- package/lib/esm/geometry3d/Angle.d.ts +214 -0
- package/lib/esm/geometry3d/Angle.d.ts.map +1 -0
- package/lib/esm/geometry3d/Angle.js +399 -0
- package/lib/esm/geometry3d/Angle.js.map +1 -0
- package/lib/esm/geometry3d/AngleSweep.d.ts +187 -0
- package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -0
- package/lib/esm/geometry3d/AngleSweep.js +325 -0
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -0
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts +51 -0
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -0
- package/lib/esm/geometry3d/BarycentricTriangle.js +97 -0
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -0
- package/lib/esm/geometry3d/BilinearPatch.d.ts +107 -0
- package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -0
- package/lib/esm/geometry3d/BilinearPatch.js +200 -0
- package/lib/esm/geometry3d/BilinearPatch.js.map +1 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +56 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.js +196 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -0
- package/lib/esm/geometry3d/Ellipsoid.d.ts +388 -0
- package/lib/esm/geometry3d/Ellipsoid.d.ts.map +1 -0
- package/lib/esm/geometry3d/Ellipsoid.js +1069 -0
- package/lib/esm/geometry3d/Ellipsoid.js.map +1 -0
- package/lib/esm/geometry3d/FrameBuilder.d.ts +91 -0
- package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -0
- package/lib/esm/geometry3d/FrameBuilder.js +315 -0
- package/lib/esm/geometry3d/FrameBuilder.js.map +1 -0
- package/lib/esm/geometry3d/FrustumAnimation.d.ts +59 -0
- package/lib/esm/geometry3d/FrustumAnimation.d.ts.map +1 -0
- package/lib/esm/geometry3d/FrustumAnimation.js +119 -0
- package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -0
- package/lib/esm/geometry3d/GeometryHandler.d.ts +329 -0
- package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -0
- package/lib/esm/geometry3d/GeometryHandler.js +169 -0
- package/lib/esm/geometry3d/GeometryHandler.js.map +1 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.d.ts +71 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.js +158 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.d.ts +132 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.js +249 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -0
- package/lib/esm/geometry3d/GrowableXYArray.d.ts +204 -0
- package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableXYArray.js +621 -0
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -0
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts +324 -0
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableXYZArray.js +975 -0
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.d.ts +63 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.d.ts.map +1 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.js +105 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -0
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts +69 -0
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -0
- package/lib/esm/geometry3d/IndexedXYCollection.js +16 -0
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +149 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.js +98 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.d.ts +63 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.d.ts.map +1 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js +119 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -0
- package/lib/esm/geometry3d/Matrix3d.d.ts +885 -0
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Matrix3d.js +2269 -0
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts +61 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts.map +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.js +228 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +122 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +237 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +119 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +238 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts +74 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.js +111 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -0
- package/lib/esm/geometry3d/Point2dVector2d.d.ts +209 -0
- package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point2dVector2d.js +461 -0
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +142 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.js +233 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -0
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +699 -0
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point3dVector3d.js +1294 -0
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -0
- package/lib/esm/geometry3d/PointHelpers.d.ts +263 -0
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -0
- package/lib/esm/geometry3d/PointHelpers.js +898 -0
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -0
- package/lib/esm/geometry3d/PointStreaming.d.ts +87 -0
- package/lib/esm/geometry3d/PointStreaming.d.ts.map +1 -0
- package/lib/esm/geometry3d/PointStreaming.js +181 -0
- package/lib/esm/geometry3d/PointStreaming.js.map +1 -0
- package/lib/esm/geometry3d/PolygonOps.d.ts +306 -0
- package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/PolygonOps.js +986 -0
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts +81 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +274 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -0
- package/lib/esm/geometry3d/PolylineOps.d.ts +63 -0
- package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/PolylineOps.js +172 -0
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -0
- package/lib/esm/geometry3d/Range.d.ts +599 -0
- package/lib/esm/geometry3d/Range.d.ts.map +1 -0
- package/lib/esm/geometry3d/Range.js +1424 -0
- package/lib/esm/geometry3d/Range.js.map +1 -0
- package/lib/esm/geometry3d/Ray3d.d.ts +146 -0
- package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Ray3d.js +325 -0
- package/lib/esm/geometry3d/Ray3d.js.map +1 -0
- package/lib/esm/geometry3d/ReusableObjectCache.d.ts +55 -0
- package/lib/esm/geometry3d/ReusableObjectCache.d.ts.map +1 -0
- package/lib/esm/geometry3d/ReusableObjectCache.js +82 -0
- package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -0
- package/lib/esm/geometry3d/Segment1d.d.ts +106 -0
- package/lib/esm/geometry3d/Segment1d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Segment1d.js +169 -0
- package/lib/esm/geometry3d/Segment1d.js.map +1 -0
- package/lib/esm/geometry3d/SortablePolygon.d.ts +50 -0
- package/lib/esm/geometry3d/SortablePolygon.d.ts.map +1 -0
- package/lib/esm/geometry3d/SortablePolygon.js +312 -0
- package/lib/esm/geometry3d/SortablePolygon.js.map +1 -0
- package/lib/esm/geometry3d/Transform.d.ts +275 -0
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -0
- package/lib/esm/geometry3d/Transform.js +570 -0
- package/lib/esm/geometry3d/Transform.js.map +1 -0
- package/lib/esm/geometry3d/UVSurfaceOps.d.ts +43 -0
- package/lib/esm/geometry3d/UVSurfaceOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/UVSurfaceOps.js +98 -0
- package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -0
- package/lib/esm/geometry3d/XYZProps.d.ts +143 -0
- package/lib/esm/geometry3d/XYZProps.d.ts.map +1 -0
- package/lib/esm/geometry3d/XYZProps.js +6 -0
- package/lib/esm/geometry3d/XYZProps.js.map +1 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.d.ts +111 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.d.ts.map +1 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.js +195 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -0
- package/lib/esm/geometry4d/Map4d.d.ts +73 -0
- package/lib/esm/geometry4d/Map4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/Map4d.js +147 -0
- package/lib/esm/geometry4d/Map4d.js.map +1 -0
- package/lib/esm/geometry4d/Matrix4d.d.ts +284 -0
- package/lib/esm/geometry4d/Matrix4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/Matrix4d.js +739 -0
- package/lib/esm/geometry4d/Matrix4d.js.map +1 -0
- package/lib/esm/geometry4d/MomentData.d.ts +180 -0
- package/lib/esm/geometry4d/MomentData.d.ts.map +1 -0
- package/lib/esm/geometry4d/MomentData.js +384 -0
- package/lib/esm/geometry4d/MomentData.js.map +1 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.d.ts +43 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js +81 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -0
- package/lib/esm/geometry4d/Point4d.d.ts +257 -0
- package/lib/esm/geometry4d/Point4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/Point4d.js +552 -0
- package/lib/esm/geometry4d/Point4d.js.map +1 -0
- package/lib/esm/numerics/BandedSystem.d.ts +39 -0
- package/lib/esm/numerics/BandedSystem.d.ts.map +1 -0
- package/lib/esm/numerics/BandedSystem.js +156 -0
- package/lib/esm/numerics/BandedSystem.js.map +1 -0
- package/lib/esm/numerics/BezierPolynomials.d.ts +462 -0
- package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -0
- package/lib/esm/numerics/BezierPolynomials.js +1189 -0
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -0
- package/lib/esm/numerics/ClusterableArray.d.ts +162 -0
- package/lib/esm/numerics/ClusterableArray.d.ts.map +1 -0
- package/lib/esm/numerics/ClusterableArray.js +477 -0
- package/lib/esm/numerics/ClusterableArray.js.map +1 -0
- package/lib/esm/numerics/Complex.d.ts +63 -0
- package/lib/esm/numerics/Complex.d.ts.map +1 -0
- package/lib/esm/numerics/Complex.js +116 -0
- package/lib/esm/numerics/Complex.js.map +1 -0
- package/lib/esm/numerics/ConvexPolygon2d.d.ts +86 -0
- package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -0
- package/lib/esm/numerics/ConvexPolygon2d.js +313 -0
- package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -0
- package/lib/esm/numerics/Newton.d.ts +188 -0
- package/lib/esm/numerics/Newton.d.ts.map +1 -0
- package/lib/esm/numerics/Newton.js +247 -0
- package/lib/esm/numerics/Newton.js.map +1 -0
- package/lib/esm/numerics/PascalCoefficients.d.ts +33 -0
- package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -0
- package/lib/esm/numerics/PascalCoefficients.js +91 -0
- package/lib/esm/numerics/PascalCoefficients.js.map +1 -0
- package/lib/esm/numerics/PolarData.d.ts +42 -0
- package/lib/esm/numerics/PolarData.d.ts.map +1 -0
- package/lib/esm/numerics/PolarData.js +162 -0
- package/lib/esm/numerics/PolarData.js.map +1 -0
- package/lib/esm/numerics/Polynomials.d.ts +653 -0
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -0
- package/lib/esm/numerics/Polynomials.js +1697 -0
- package/lib/esm/numerics/Polynomials.js.map +1 -0
- package/lib/esm/numerics/Quadrature.d.ts +91 -0
- package/lib/esm/numerics/Quadrature.d.ts.map +1 -0
- package/lib/esm/numerics/Quadrature.js +199 -0
- package/lib/esm/numerics/Quadrature.js.map +1 -0
- package/lib/esm/numerics/Range1dArray.d.ts +80 -0
- package/lib/esm/numerics/Range1dArray.d.ts.map +1 -0
- package/lib/esm/numerics/Range1dArray.js +358 -0
- package/lib/esm/numerics/Range1dArray.js.map +1 -0
- package/lib/esm/numerics/TriDiagonalSystem.d.ts +51 -0
- package/lib/esm/numerics/TriDiagonalSystem.d.ts.map +1 -0
- package/lib/esm/numerics/TriDiagonalSystem.js +270 -0
- package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -0
- package/lib/esm/numerics/UnionFind.d.ts +49 -0
- package/lib/esm/numerics/UnionFind.d.ts.map +1 -0
- package/lib/esm/numerics/UnionFind.js +117 -0
- package/lib/esm/numerics/UnionFind.js.map +1 -0
- package/lib/esm/numerics/UsageSums.d.ts +86 -0
- package/lib/esm/numerics/UsageSums.d.ts.map +1 -0
- package/lib/esm/numerics/UsageSums.js +128 -0
- package/lib/esm/numerics/UsageSums.js.map +1 -0
- package/lib/esm/polyface/AuxData.d.ts +112 -0
- package/lib/esm/polyface/AuxData.d.ts.map +1 -0
- package/lib/esm/polyface/AuxData.js +228 -0
- package/lib/esm/polyface/AuxData.js.map +1 -0
- package/lib/esm/polyface/BoxTopology.d.ts +38 -0
- package/lib/esm/polyface/BoxTopology.d.ts.map +1 -0
- package/lib/esm/polyface/BoxTopology.js +99 -0
- package/lib/esm/polyface/BoxTopology.js.map +1 -0
- package/lib/esm/polyface/FacetFaceData.d.ts +44 -0
- package/lib/esm/polyface/FacetFaceData.d.ts.map +1 -0
- package/lib/esm/polyface/FacetFaceData.js +142 -0
- package/lib/esm/polyface/FacetFaceData.js.map +1 -0
- package/lib/esm/polyface/FacetOrientation.d.ts +39 -0
- package/lib/esm/polyface/FacetOrientation.d.ts.map +1 -0
- package/lib/esm/polyface/FacetOrientation.js +192 -0
- package/lib/esm/polyface/FacetOrientation.js.map +1 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.d.ts +61 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +1 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js +245 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +87 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.js +192 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +109 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js +237 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -0
- package/lib/esm/polyface/Polyface.d.ts +254 -0
- package/lib/esm/polyface/Polyface.d.ts.map +1 -0
- package/lib/esm/polyface/Polyface.js +501 -0
- package/lib/esm/polyface/Polyface.js.map +1 -0
- package/lib/esm/polyface/PolyfaceBuilder.d.ts +395 -0
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceBuilder.js +1634 -0
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -0
- package/lib/esm/polyface/PolyfaceClip.d.ts +172 -0
- package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceClip.js +565 -0
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -0
- package/lib/esm/polyface/PolyfaceData.d.ts +206 -0
- package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceData.js +527 -0
- package/lib/esm/polyface/PolyfaceData.js.map +1 -0
- package/lib/esm/polyface/PolyfaceQuery.d.ts +302 -0
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceQuery.js +947 -0
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -0
- package/lib/esm/polyface/RangeLengthData.d.ts +31 -0
- package/lib/esm/polyface/RangeLengthData.d.ts.map +1 -0
- package/lib/esm/polyface/RangeLengthData.js +39 -0
- package/lib/esm/polyface/RangeLengthData.js.map +1 -0
- package/lib/esm/polyface/TaggedNumericData.d.ts +95 -0
- package/lib/esm/polyface/TaggedNumericData.d.ts.map +1 -0
- package/lib/esm/polyface/TaggedNumericData.js +160 -0
- package/lib/esm/polyface/TaggedNumericData.js.map +1 -0
- package/lib/esm/polyface/TriangleCandidate.d.ts +64 -0
- package/lib/esm/polyface/TriangleCandidate.d.ts.map +1 -0
- package/lib/esm/polyface/TriangleCandidate.js +116 -0
- package/lib/esm/polyface/TriangleCandidate.js.map +1 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts +29 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +160 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +81 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js +159 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +53 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +74 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts +44 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js +80 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts +32 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js +9 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -0
- package/lib/esm/polyface/multiclip/RangeSearch.d.ts +27 -0
- package/lib/esm/polyface/multiclip/RangeSearch.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/RangeSearch.js +49 -0
- package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +25 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +90 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts +73 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.js +192 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -0
- package/lib/esm/serialization/BGFBAccessors.d.ts +3426 -0
- package/lib/esm/serialization/BGFBAccessors.d.ts.map +1 -0
- package/lib/esm/serialization/BGFBAccessors.js +5543 -0
- package/lib/esm/serialization/BGFBAccessors.js.map +1 -0
- package/lib/esm/serialization/BGFBReader.d.ts +118 -0
- package/lib/esm/serialization/BGFBReader.d.ts.map +1 -0
- package/lib/esm/serialization/BGFBReader.js +661 -0
- package/lib/esm/serialization/BGFBReader.js.map +1 -0
- package/lib/esm/serialization/BGFBWriter.d.ts +69 -0
- package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -0
- package/lib/esm/serialization/BGFBWriter.js +587 -0
- package/lib/esm/serialization/BGFBWriter.js.map +1 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.d.ts +23 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.d.ts.map +1 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.js +26 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -0
- package/lib/esm/serialization/DeepCompare.d.ts +41 -0
- package/lib/esm/serialization/DeepCompare.d.ts.map +1 -0
- package/lib/esm/serialization/DeepCompare.js +185 -0
- package/lib/esm/serialization/DeepCompare.js.map +1 -0
- package/lib/esm/serialization/GeometrySamples.d.ts +616 -0
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -0
- package/lib/esm/serialization/GeometrySamples.js +2124 -0
- package/lib/esm/serialization/GeometrySamples.js.map +1 -0
- package/lib/esm/serialization/IModelJsonSchema.d.ts +671 -0
- package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -0
- package/lib/esm/serialization/IModelJsonSchema.js +1523 -0
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -0
- package/lib/esm/solid/Box.d.ts +122 -0
- package/lib/esm/solid/Box.d.ts.map +1 -0
- package/lib/esm/solid/Box.js +229 -0
- package/lib/esm/solid/Box.js.map +1 -0
- package/lib/esm/solid/Cone.d.ts +119 -0
- package/lib/esm/solid/Cone.d.ts.map +1 -0
- package/lib/esm/solid/Cone.js +267 -0
- package/lib/esm/solid/Cone.js.map +1 -0
- package/lib/esm/solid/LinearSweep.d.ts +81 -0
- package/lib/esm/solid/LinearSweep.d.ts.map +1 -0
- package/lib/esm/solid/LinearSweep.js +143 -0
- package/lib/esm/solid/LinearSweep.js.map +1 -0
- package/lib/esm/solid/RotationalSweep.d.ts +71 -0
- package/lib/esm/solid/RotationalSweep.d.ts.map +1 -0
- package/lib/esm/solid/RotationalSweep.js +139 -0
- package/lib/esm/solid/RotationalSweep.js.map +1 -0
- package/lib/esm/solid/RuledSweep.d.ts +76 -0
- package/lib/esm/solid/RuledSweep.d.ts.map +1 -0
- package/lib/esm/solid/RuledSweep.js +202 -0
- package/lib/esm/solid/RuledSweep.js.map +1 -0
- package/lib/esm/solid/SolidPrimitive.d.ts +63 -0
- package/lib/esm/solid/SolidPrimitive.d.ts.map +1 -0
- package/lib/esm/solid/SolidPrimitive.js +23 -0
- package/lib/esm/solid/SolidPrimitive.js.map +1 -0
- package/lib/esm/solid/Sphere.d.ts +120 -0
- package/lib/esm/solid/Sphere.d.ts.map +1 -0
- package/lib/esm/solid/Sphere.js +294 -0
- package/lib/esm/solid/Sphere.js.map +1 -0
- package/lib/esm/solid/SweepContour.d.ts +82 -0
- package/lib/esm/solid/SweepContour.d.ts.map +1 -0
- package/lib/esm/solid/SweepContour.js +250 -0
- package/lib/esm/solid/SweepContour.js.map +1 -0
- package/lib/esm/solid/TorusPipe.d.ts +123 -0
- package/lib/esm/solid/TorusPipe.d.ts.map +1 -0
- package/lib/esm/solid/TorusPipe.js +296 -0
- package/lib/esm/solid/TorusPipe.js.map +1 -0
- package/lib/esm/topology/ChainMerge.d.ts +119 -0
- package/lib/esm/topology/ChainMerge.d.ts.map +1 -0
- package/lib/esm/topology/ChainMerge.js +280 -0
- package/lib/esm/topology/ChainMerge.js.map +1 -0
- package/lib/esm/topology/Graph.d.ts +591 -0
- package/lib/esm/topology/Graph.d.ts.map +1 -0
- package/lib/esm/topology/Graph.js +1156 -0
- package/lib/esm/topology/Graph.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +125 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.js +296 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.d.ts +98 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js +519 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.d.ts +52 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.js +107 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -0
- package/lib/esm/topology/HalfEdgeMarkSet.d.ts +232 -0
- package/lib/esm/topology/HalfEdgeMarkSet.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeMarkSet.js +369 -0
- package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.d.ts +51 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.js +93 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts +34 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js +252 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -0
- package/lib/esm/topology/HalfEdgePositionDetail.d.ts +97 -0
- package/lib/esm/topology/HalfEdgePositionDetail.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgePositionDetail.js +173 -0
- package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.d.ts +34 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.js +68 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.d.ts +38 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.d.ts.map +1 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.js +239 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -0
- package/lib/esm/topology/MaskManager.d.ts +33 -0
- package/lib/esm/topology/MaskManager.d.ts.map +1 -0
- package/lib/esm/topology/MaskManager.js +63 -0
- package/lib/esm/topology/MaskManager.js.map +1 -0
- package/lib/esm/topology/Merging.d.ts +90 -0
- package/lib/esm/topology/Merging.d.ts.map +1 -0
- package/lib/esm/topology/Merging.js +362 -0
- package/lib/esm/topology/Merging.js.map +1 -0
- package/lib/esm/topology/RegularizeFace.d.ts +106 -0
- package/lib/esm/topology/RegularizeFace.d.ts.map +1 -0
- package/lib/esm/topology/RegularizeFace.js +367 -0
- package/lib/esm/topology/RegularizeFace.js.map +1 -0
- package/lib/esm/topology/SignedDataSummary.d.ts +37 -0
- package/lib/esm/topology/SignedDataSummary.d.ts.map +1 -0
- package/lib/esm/topology/SignedDataSummary.js +54 -0
- package/lib/esm/topology/SignedDataSummary.js.map +1 -0
- package/lib/esm/topology/Triangulation.d.ts +230 -0
- package/lib/esm/topology/Triangulation.d.ts.map +1 -0
- package/lib/esm/topology/Triangulation.js +945 -0
- package/lib/esm/topology/Triangulation.js.map +1 -0
- package/lib/esm/topology/XYParitySearchContext.d.ts +54 -0
- package/lib/esm/topology/XYParitySearchContext.d.ts.map +1 -0
- package/lib/esm/topology/XYParitySearchContext.js +138 -0
- package/lib/esm/topology/XYParitySearchContext.js.map +1 -0
- package/package.json +11 -8
- package/lib/Constant.d.ts.map +0 -1
- package/lib/Constant.js.map +0 -1
- package/lib/Geometry.d.ts.map +0 -1
- package/lib/Geometry.js.map +0 -1
- package/lib/bspline/AkimaCurve3d.d.ts.map +0 -1
- package/lib/bspline/AkimaCurve3d.js.map +0 -1
- package/lib/bspline/BSpline1dNd.d.ts.map +0 -1
- package/lib/bspline/BSpline1dNd.js.map +0 -1
- package/lib/bspline/BSplineCurve.d.ts.map +0 -1
- package/lib/bspline/BSplineCurve.js.map +0 -1
- package/lib/bspline/BSplineCurve3dH.d.ts.map +0 -1
- package/lib/bspline/BSplineCurve3dH.js.map +0 -1
- package/lib/bspline/BSplineCurveOps.d.ts.map +0 -1
- package/lib/bspline/BSplineCurveOps.js.map +0 -1
- package/lib/bspline/BSplineSurface.d.ts +0 -485
- package/lib/bspline/BSplineSurface.d.ts.map +0 -1
- package/lib/bspline/BSplineSurface.js.map +0 -1
- package/lib/bspline/Bezier1dNd.d.ts.map +0 -1
- package/lib/bspline/Bezier1dNd.js.map +0 -1
- package/lib/bspline/BezierCurve3d.d.ts.map +0 -1
- package/lib/bspline/BezierCurve3d.js.map +0 -1
- package/lib/bspline/BezierCurve3dH.d.ts.map +0 -1
- package/lib/bspline/BezierCurve3dH.js.map +0 -1
- package/lib/bspline/BezierCurveBase.d.ts.map +0 -1
- package/lib/bspline/BezierCurveBase.js.map +0 -1
- package/lib/bspline/InterpolationCurve3d.d.ts.map +0 -1
- package/lib/bspline/InterpolationCurve3d.js.map +0 -1
- package/lib/bspline/KnotVector.d.ts.map +0 -1
- package/lib/bspline/KnotVector.js.map +0 -1
- package/lib/bspline/SurfaceLocationDetail.d.ts.map +0 -1
- package/lib/bspline/SurfaceLocationDetail.js.map +0 -1
- package/lib/clipping/AlternatingConvexClipTree.d.ts.map +0 -1
- package/lib/clipping/AlternatingConvexClipTree.js.map +0 -1
- package/lib/clipping/BooleanClipFactory.d.ts.map +0 -1
- package/lib/clipping/BooleanClipFactory.js.map +0 -1
- package/lib/clipping/BooleanClipNode.d.ts.map +0 -1
- package/lib/clipping/BooleanClipNode.js.map +0 -1
- package/lib/clipping/ClipPlane.d.ts.map +0 -1
- package/lib/clipping/ClipPlane.js.map +0 -1
- package/lib/clipping/ClipPrimitive.d.ts.map +0 -1
- package/lib/clipping/ClipPrimitive.js.map +0 -1
- package/lib/clipping/ClipUtils.d.ts.map +0 -1
- package/lib/clipping/ClipUtils.js.map +0 -1
- package/lib/clipping/ClipVector.d.ts.map +0 -1
- package/lib/clipping/ClipVector.js.map +0 -1
- package/lib/clipping/ConvexClipPlaneSet.d.ts.map +0 -1
- package/lib/clipping/ConvexClipPlaneSet.js.map +0 -1
- package/lib/clipping/UnionOfConvexClipPlaneSets.d.ts.map +0 -1
- package/lib/clipping/UnionOfConvexClipPlaneSets.js.map +0 -1
- package/lib/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +0 -1
- package/lib/clipping/internalContexts/LineStringOffsetClipperContext.js.map +0 -1
- package/lib/core-geometry.d.ts.map +0 -1
- package/lib/core-geometry.js.map +0 -1
- package/lib/curve/Arc3d.d.ts.map +0 -1
- package/lib/curve/Arc3d.js.map +0 -1
- package/lib/curve/ChainCollectorContext.d.ts.map +0 -1
- package/lib/curve/ChainCollectorContext.js.map +0 -1
- package/lib/curve/ConstructCurveBetweenCurves.d.ts.map +0 -1
- package/lib/curve/ConstructCurveBetweenCurves.js.map +0 -1
- package/lib/curve/CoordinateXYZ.d.ts.map +0 -1
- package/lib/curve/CoordinateXYZ.js.map +0 -1
- package/lib/curve/CurveChain.d.ts.map +0 -1
- package/lib/curve/CurveChain.js.map +0 -1
- package/lib/curve/CurveChainWithDistanceIndex.d.ts.map +0 -1
- package/lib/curve/CurveChainWithDistanceIndex.js.map +0 -1
- package/lib/curve/CurveCollection.d.ts.map +0 -1
- package/lib/curve/CurveCollection.js.map +0 -1
- package/lib/curve/CurveCurve.d.ts.map +0 -1
- package/lib/curve/CurveCurve.js.map +0 -1
- package/lib/curve/CurveCurveCloseApproachXY.d.ts.map +0 -1
- package/lib/curve/CurveCurveCloseApproachXY.js.map +0 -1
- package/lib/curve/CurveCurveIntersectXY.d.ts.map +0 -1
- package/lib/curve/CurveCurveIntersectXY.js.map +0 -1
- package/lib/curve/CurveCurveIntersectXYZ.d.ts.map +0 -1
- package/lib/curve/CurveCurveIntersectXYZ.js.map +0 -1
- package/lib/curve/CurveExtendMode.d.ts.map +0 -1
- package/lib/curve/CurveExtendMode.js.map +0 -1
- package/lib/curve/CurveFactory.d.ts.map +0 -1
- package/lib/curve/CurveFactory.js.map +0 -1
- package/lib/curve/CurveLocationDetail.d.ts.map +0 -1
- package/lib/curve/CurveLocationDetail.js.map +0 -1
- package/lib/curve/CurvePrimitive.d.ts.map +0 -1
- package/lib/curve/CurvePrimitive.js.map +0 -1
- package/lib/curve/CurveProcessor.d.ts.map +0 -1
- package/lib/curve/CurveProcessor.js.map +0 -1
- package/lib/curve/CurveWireMomentsXYZ.d.ts.map +0 -1
- package/lib/curve/CurveWireMomentsXYZ.js.map +0 -1
- package/lib/curve/GeometryQuery.d.ts.map +0 -1
- package/lib/curve/GeometryQuery.js.map +0 -1
- package/lib/curve/LineSegment3d.d.ts.map +0 -1
- package/lib/curve/LineSegment3d.js.map +0 -1
- package/lib/curve/LineString3d.d.ts.map +0 -1
- package/lib/curve/LineString3d.js.map +0 -1
- package/lib/curve/Loop.d.ts.map +0 -1
- package/lib/curve/Loop.js.map +0 -1
- package/lib/curve/ParityRegion.d.ts.map +0 -1
- package/lib/curve/ParityRegion.js.map +0 -1
- package/lib/curve/Path.d.ts.map +0 -1
- package/lib/curve/Path.js.map +0 -1
- package/lib/curve/PointString3d.d.ts.map +0 -1
- package/lib/curve/PointString3d.js.map +0 -1
- package/lib/curve/ProxyCurve.d.ts.map +0 -1
- package/lib/curve/ProxyCurve.js.map +0 -1
- package/lib/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +0 -1
- package/lib/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +0 -1
- package/lib/curve/Query/CurveSplitContext.d.ts.map +0 -1
- package/lib/curve/Query/CurveSplitContext.js.map +0 -1
- package/lib/curve/Query/CylindricalRange.d.ts.map +0 -1
- package/lib/curve/Query/CylindricalRange.js.map +0 -1
- package/lib/curve/Query/InOutTests.d.ts.map +0 -1
- package/lib/curve/Query/InOutTests.js.map +0 -1
- package/lib/curve/Query/PlanarSubdivision.d.ts.map +0 -1
- package/lib/curve/Query/PlanarSubdivision.js.map +0 -1
- package/lib/curve/Query/StrokeCountChain.d.ts.map +0 -1
- package/lib/curve/Query/StrokeCountChain.js.map +0 -1
- package/lib/curve/Query/StrokeCountMap.d.ts.map +0 -1
- package/lib/curve/Query/StrokeCountMap.js.map +0 -1
- package/lib/curve/RegionMomentsXY.d.ts.map +0 -1
- package/lib/curve/RegionMomentsXY.js.map +0 -1
- package/lib/curve/RegionOps.d.ts.map +0 -1
- package/lib/curve/RegionOps.js.map +0 -1
- package/lib/curve/RegionOpsClassificationSweeps.d.ts.map +0 -1
- package/lib/curve/RegionOpsClassificationSweeps.js.map +0 -1
- package/lib/curve/StrokeOptions.d.ts.map +0 -1
- package/lib/curve/StrokeOptions.js.map +0 -1
- package/lib/curve/UnionRegion.d.ts.map +0 -1
- package/lib/curve/UnionRegion.js.map +0 -1
- package/lib/curve/internalContexts/CloneCurvesContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/CloneCurvesContext.js.map +0 -1
- package/lib/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +0 -1
- package/lib/curve/internalContexts/CloneWithExpandedLineStrings.js.map +0 -1
- package/lib/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/CountLinearPartsSearchContext.js.map +0 -1
- package/lib/curve/internalContexts/GapSearchContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/GapSearchContext.js.map +0 -1
- package/lib/curve/internalContexts/MultiChainCollector.d.ts.map +0 -1
- package/lib/curve/internalContexts/MultiChainCollector.js.map +0 -1
- package/lib/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/PlaneAltitudeRangeContext.js.map +0 -1
- package/lib/curve/internalContexts/PolygonOffsetContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/PolygonOffsetContext.js.map +0 -1
- package/lib/curve/internalContexts/SumLengthsContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/SumLengthsContext.js.map +0 -1
- package/lib/curve/internalContexts/TransformInPlaceContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/TransformInPlaceContext.js.map +0 -1
- package/lib/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/AustralianRailCorpXYEvaluator.js.map +0 -1
- package/lib/curve/spiral/ClothoidSeries.d.ts.map +0 -1
- package/lib/curve/spiral/ClothoidSeries.js.map +0 -1
- package/lib/curve/spiral/CubicEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/CubicEvaluator.js.map +0 -1
- package/lib/curve/spiral/CzechSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/CzechSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/DirectSpiral3d.d.ts +0 -264
- package/lib/curve/spiral/DirectSpiral3d.d.ts.map +0 -1
- package/lib/curve/spiral/DirectSpiral3d.js +0 -464
- package/lib/curve/spiral/DirectSpiral3d.js.map +0 -1
- package/lib/curve/spiral/IntegratedSpiral3d.d.ts +0 -154
- package/lib/curve/spiral/IntegratedSpiral3d.d.ts.map +0 -1
- package/lib/curve/spiral/IntegratedSpiral3d.js +0 -351
- package/lib/curve/spiral/IntegratedSpiral3d.js.map +0 -1
- package/lib/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/NormalizedTransition.d.ts.map +0 -1
- package/lib/curve/spiral/NormalizedTransition.js.map +0 -1
- package/lib/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/PolishCubicSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/TransitionConditionalProperties.d.ts.map +0 -1
- package/lib/curve/spiral/TransitionConditionalProperties.js.map +0 -1
- package/lib/curve/spiral/TransitionSpiral3d.d.ts.map +0 -1
- package/lib/curve/spiral/TransitionSpiral3d.js.map +0 -1
- package/lib/curve/spiral/XYCurveEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/XYCurveEvaluator.js.map +0 -1
- package/lib/geometry3d/Angle.d.ts.map +0 -1
- package/lib/geometry3d/Angle.js.map +0 -1
- package/lib/geometry3d/AngleSweep.d.ts.map +0 -1
- package/lib/geometry3d/AngleSweep.js.map +0 -1
- package/lib/geometry3d/BarycentricTriangle.d.ts.map +0 -1
- package/lib/geometry3d/BarycentricTriangle.js.map +0 -1
- package/lib/geometry3d/BilinearPatch.d.ts.map +0 -1
- package/lib/geometry3d/BilinearPatch.js.map +0 -1
- package/lib/geometry3d/CoincidentGeometryOps.d.ts.map +0 -1
- package/lib/geometry3d/CoincidentGeometryOps.js.map +0 -1
- package/lib/geometry3d/Ellipsoid.d.ts.map +0 -1
- package/lib/geometry3d/Ellipsoid.js.map +0 -1
- package/lib/geometry3d/FrameBuilder.d.ts.map +0 -1
- package/lib/geometry3d/FrameBuilder.js.map +0 -1
- package/lib/geometry3d/FrustumAnimation.d.ts.map +0 -1
- package/lib/geometry3d/FrustumAnimation.js.map +0 -1
- package/lib/geometry3d/GeometryHandler.d.ts.map +0 -1
- package/lib/geometry3d/GeometryHandler.js.map +0 -1
- package/lib/geometry3d/GrowableBlockedArray.d.ts.map +0 -1
- package/lib/geometry3d/GrowableBlockedArray.js.map +0 -1
- package/lib/geometry3d/GrowableFloat64Array.d.ts.map +0 -1
- package/lib/geometry3d/GrowableFloat64Array.js.map +0 -1
- package/lib/geometry3d/GrowableXYArray.d.ts.map +0 -1
- package/lib/geometry3d/GrowableXYArray.js.map +0 -1
- package/lib/geometry3d/GrowableXYZArray.d.ts.map +0 -1
- package/lib/geometry3d/GrowableXYZArray.js.map +0 -1
- package/lib/geometry3d/IndexedCollectionInterval.d.ts.map +0 -1
- package/lib/geometry3d/IndexedCollectionInterval.js.map +0 -1
- package/lib/geometry3d/IndexedXYCollection.d.ts.map +0 -1
- package/lib/geometry3d/IndexedXYCollection.js.map +0 -1
- package/lib/geometry3d/IndexedXYZCollection.d.ts.map +0 -1
- package/lib/geometry3d/IndexedXYZCollection.js.map +0 -1
- package/lib/geometry3d/LongitudeLatitudeAltitude.d.ts.map +0 -1
- package/lib/geometry3d/LongitudeLatitudeAltitude.js.map +0 -1
- package/lib/geometry3d/Matrix3d.d.ts.map +0 -1
- package/lib/geometry3d/Matrix3d.js.map +0 -1
- package/lib/geometry3d/OrderedRotationAngles.d.ts.map +0 -1
- package/lib/geometry3d/OrderedRotationAngles.js.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndUnitNormal.js.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndVectors.d.ts.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndVectors.js.map +0 -1
- package/lib/geometry3d/Point2dArrayCarrier.d.ts.map +0 -1
- package/lib/geometry3d/Point2dArrayCarrier.js.map +0 -1
- package/lib/geometry3d/Point2dVector2d.d.ts.map +0 -1
- package/lib/geometry3d/Point2dVector2d.js.map +0 -1
- package/lib/geometry3d/Point3dArrayCarrier.d.ts.map +0 -1
- package/lib/geometry3d/Point3dArrayCarrier.js.map +0 -1
- package/lib/geometry3d/Point3dVector3d.d.ts.map +0 -1
- package/lib/geometry3d/Point3dVector3d.js.map +0 -1
- package/lib/geometry3d/PointHelpers.d.ts.map +0 -1
- package/lib/geometry3d/PointHelpers.js.map +0 -1
- package/lib/geometry3d/PointStreaming.d.ts.map +0 -1
- package/lib/geometry3d/PointStreaming.js.map +0 -1
- package/lib/geometry3d/PolygonOps.d.ts.map +0 -1
- package/lib/geometry3d/PolygonOps.js.map +0 -1
- package/lib/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +0 -1
- package/lib/geometry3d/PolylineCompressionByEdgeOffset.js.map +0 -1
- package/lib/geometry3d/PolylineOps.d.ts.map +0 -1
- package/lib/geometry3d/PolylineOps.js.map +0 -1
- package/lib/geometry3d/Range.d.ts.map +0 -1
- package/lib/geometry3d/Range.js.map +0 -1
- package/lib/geometry3d/Ray3d.d.ts.map +0 -1
- package/lib/geometry3d/Ray3d.js.map +0 -1
- package/lib/geometry3d/ReusableObjectCache.d.ts.map +0 -1
- package/lib/geometry3d/ReusableObjectCache.js.map +0 -1
- package/lib/geometry3d/Segment1d.d.ts.map +0 -1
- package/lib/geometry3d/Segment1d.js.map +0 -1
- package/lib/geometry3d/SortablePolygon.d.ts.map +0 -1
- package/lib/geometry3d/SortablePolygon.js.map +0 -1
- package/lib/geometry3d/Transform.d.ts.map +0 -1
- package/lib/geometry3d/Transform.js.map +0 -1
- package/lib/geometry3d/UVSurfaceOps.d.ts.map +0 -1
- package/lib/geometry3d/UVSurfaceOps.js.map +0 -1
- package/lib/geometry3d/XYZProps.d.ts.map +0 -1
- package/lib/geometry3d/XYZProps.js.map +0 -1
- package/lib/geometry3d/YawPitchRollAngles.d.ts.map +0 -1
- package/lib/geometry3d/YawPitchRollAngles.js.map +0 -1
- package/lib/geometry4d/Map4d.d.ts.map +0 -1
- package/lib/geometry4d/Map4d.js.map +0 -1
- package/lib/geometry4d/Matrix4d.d.ts.map +0 -1
- package/lib/geometry4d/Matrix4d.js.map +0 -1
- package/lib/geometry4d/MomentData.d.ts.map +0 -1
- package/lib/geometry4d/MomentData.js.map +0 -1
- package/lib/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +0 -1
- package/lib/geometry4d/PlaneByOriginAndVectors4d.js.map +0 -1
- package/lib/geometry4d/Point4d.d.ts.map +0 -1
- package/lib/geometry4d/Point4d.js.map +0 -1
- package/lib/numerics/BandedSystem.d.ts.map +0 -1
- package/lib/numerics/BandedSystem.js.map +0 -1
- package/lib/numerics/BezierPolynomials.d.ts.map +0 -1
- package/lib/numerics/BezierPolynomials.js.map +0 -1
- package/lib/numerics/ClusterableArray.d.ts.map +0 -1
- package/lib/numerics/ClusterableArray.js.map +0 -1
- package/lib/numerics/Complex.d.ts.map +0 -1
- package/lib/numerics/Complex.js.map +0 -1
- package/lib/numerics/ConvexPolygon2d.d.ts.map +0 -1
- package/lib/numerics/ConvexPolygon2d.js.map +0 -1
- package/lib/numerics/Newton.d.ts.map +0 -1
- package/lib/numerics/Newton.js.map +0 -1
- package/lib/numerics/PascalCoefficients.d.ts.map +0 -1
- package/lib/numerics/PascalCoefficients.js.map +0 -1
- package/lib/numerics/PolarData.d.ts.map +0 -1
- package/lib/numerics/PolarData.js.map +0 -1
- package/lib/numerics/Polynomials.d.ts.map +0 -1
- package/lib/numerics/Polynomials.js.map +0 -1
- package/lib/numerics/Quadrature.d.ts.map +0 -1
- package/lib/numerics/Quadrature.js.map +0 -1
- package/lib/numerics/Range1dArray.d.ts.map +0 -1
- package/lib/numerics/Range1dArray.js.map +0 -1
- package/lib/numerics/TriDiagonalSystem.d.ts.map +0 -1
- package/lib/numerics/TriDiagonalSystem.js.map +0 -1
- package/lib/numerics/UnionFind.d.ts.map +0 -1
- package/lib/numerics/UnionFind.js.map +0 -1
- package/lib/numerics/UsageSums.d.ts.map +0 -1
- package/lib/numerics/UsageSums.js.map +0 -1
- package/lib/polyface/AuxData.d.ts.map +0 -1
- package/lib/polyface/AuxData.js.map +0 -1
- package/lib/polyface/BoxTopology.d.ts.map +0 -1
- package/lib/polyface/BoxTopology.js.map +0 -1
- package/lib/polyface/FacetFaceData.d.ts.map +0 -1
- package/lib/polyface/FacetFaceData.js.map +0 -1
- package/lib/polyface/FacetOrientation.d.ts.map +0 -1
- package/lib/polyface/FacetOrientation.js.map +0 -1
- package/lib/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +0 -1
- package/lib/polyface/GreedyTriangulationBetweenLineStrings.js.map +0 -1
- package/lib/polyface/IndexedEdgeMatcher.d.ts.map +0 -1
- package/lib/polyface/IndexedEdgeMatcher.js.map +0 -1
- package/lib/polyface/IndexedPolyfaceVisitor.d.ts.map +0 -1
- package/lib/polyface/IndexedPolyfaceVisitor.js.map +0 -1
- package/lib/polyface/Polyface.d.ts.map +0 -1
- package/lib/polyface/Polyface.js.map +0 -1
- package/lib/polyface/PolyfaceBuilder.d.ts.map +0 -1
- package/lib/polyface/PolyfaceBuilder.js.map +0 -1
- package/lib/polyface/PolyfaceClip.d.ts.map +0 -1
- package/lib/polyface/PolyfaceClip.js.map +0 -1
- package/lib/polyface/PolyfaceData.d.ts +0 -170
- package/lib/polyface/PolyfaceData.d.ts.map +0 -1
- package/lib/polyface/PolyfaceData.js +0 -531
- package/lib/polyface/PolyfaceData.js.map +0 -1
- package/lib/polyface/PolyfaceQuery.d.ts.map +0 -1
- package/lib/polyface/PolyfaceQuery.js.map +0 -1
- package/lib/polyface/RangeLengthData.d.ts.map +0 -1
- package/lib/polyface/RangeLengthData.js.map +0 -1
- package/lib/polyface/TaggedNumericData.d.ts.map +0 -1
- package/lib/polyface/TaggedNumericData.js.map +0 -1
- package/lib/polyface/TriangleCandidate.d.ts.map +0 -1
- package/lib/polyface/TriangleCandidate.js.map +0 -1
- package/lib/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +0 -1
- package/lib/polyface/multiclip/BuildAverageNormalsContext.js.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSet.js.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +0 -1
- package/lib/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +0 -1
- package/lib/polyface/multiclip/LinearSearchRange2dArray.js.map +0 -1
- package/lib/polyface/multiclip/Range2dSearchInterface.d.ts.map +0 -1
- package/lib/polyface/multiclip/Range2dSearchInterface.js.map +0 -1
- package/lib/polyface/multiclip/RangeSearch.d.ts.map +0 -1
- package/lib/polyface/multiclip/RangeSearch.js.map +0 -1
- package/lib/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +0 -1
- package/lib/polyface/multiclip/SweepLineStringToFacetContext.js.map +0 -1
- package/lib/polyface/multiclip/XYPointBuckets.d.ts.map +0 -1
- package/lib/polyface/multiclip/XYPointBuckets.js.map +0 -1
- package/lib/serialization/BGFBAccessors.d.ts.map +0 -1
- package/lib/serialization/BGFBAccessors.js.map +0 -1
- package/lib/serialization/BGFBReader.d.ts.map +0 -1
- package/lib/serialization/BGFBReader.js.map +0 -1
- package/lib/serialization/BGFBWriter.d.ts.map +0 -1
- package/lib/serialization/BGFBWriter.js.map +0 -1
- package/lib/serialization/BentleyGeometryFlatBuffer.d.ts.map +0 -1
- package/lib/serialization/BentleyGeometryFlatBuffer.js.map +0 -1
- package/lib/serialization/DeepCompare.d.ts.map +0 -1
- package/lib/serialization/DeepCompare.js.map +0 -1
- package/lib/serialization/GeometrySamples.d.ts.map +0 -1
- package/lib/serialization/GeometrySamples.js.map +0 -1
- package/lib/serialization/IModelJsonSchema.d.ts.map +0 -1
- package/lib/serialization/IModelJsonSchema.js.map +0 -1
- package/lib/solid/Box.d.ts.map +0 -1
- package/lib/solid/Box.js.map +0 -1
- package/lib/solid/Cone.d.ts.map +0 -1
- package/lib/solid/Cone.js.map +0 -1
- package/lib/solid/LinearSweep.d.ts.map +0 -1
- package/lib/solid/LinearSweep.js.map +0 -1
- package/lib/solid/RotationalSweep.d.ts.map +0 -1
- package/lib/solid/RotationalSweep.js.map +0 -1
- package/lib/solid/RuledSweep.d.ts.map +0 -1
- package/lib/solid/RuledSweep.js.map +0 -1
- package/lib/solid/SolidPrimitive.d.ts.map +0 -1
- package/lib/solid/SolidPrimitive.js.map +0 -1
- package/lib/solid/Sphere.d.ts.map +0 -1
- package/lib/solid/Sphere.js.map +0 -1
- package/lib/solid/SweepContour.d.ts.map +0 -1
- package/lib/solid/SweepContour.js.map +0 -1
- package/lib/solid/TorusPipe.d.ts.map +0 -1
- package/lib/solid/TorusPipe.js.map +0 -1
- package/lib/topology/ChainMerge.d.ts.map +0 -1
- package/lib/topology/ChainMerge.js.map +0 -1
- package/lib/topology/Graph.d.ts.map +0 -1
- package/lib/topology/Graph.js.map +0 -1
- package/lib/topology/HalfEdgeGraphSearch.d.ts.map +0 -1
- package/lib/topology/HalfEdgeGraphSearch.js.map +0 -1
- package/lib/topology/HalfEdgeGraphSpineContext.d.ts.map +0 -1
- package/lib/topology/HalfEdgeGraphSpineContext.js.map +0 -1
- package/lib/topology/HalfEdgeGraphValidation.d.ts.map +0 -1
- package/lib/topology/HalfEdgeGraphValidation.js.map +0 -1
- package/lib/topology/HalfEdgeMarkSet.d.ts.map +0 -1
- package/lib/topology/HalfEdgeMarkSet.js.map +0 -1
- package/lib/topology/HalfEdgeNodeXYZUV.d.ts.map +0 -1
- package/lib/topology/HalfEdgeNodeXYZUV.js.map +0 -1
- package/lib/topology/HalfEdgePointInGraphSearch.d.ts.map +0 -1
- package/lib/topology/HalfEdgePointInGraphSearch.js.map +0 -1
- package/lib/topology/HalfEdgePositionDetail.d.ts.map +0 -1
- package/lib/topology/HalfEdgePositionDetail.js.map +0 -1
- package/lib/topology/HalfEdgePriorityQueue.d.ts.map +0 -1
- package/lib/topology/HalfEdgePriorityQueue.js.map +0 -1
- package/lib/topology/InsertAndRetriangulateContext.d.ts.map +0 -1
- package/lib/topology/InsertAndRetriangulateContext.js.map +0 -1
- package/lib/topology/MaskManager.d.ts.map +0 -1
- package/lib/topology/MaskManager.js.map +0 -1
- package/lib/topology/Merging.d.ts.map +0 -1
- package/lib/topology/Merging.js.map +0 -1
- package/lib/topology/RegularizeFace.d.ts.map +0 -1
- package/lib/topology/RegularizeFace.js.map +0 -1
- package/lib/topology/SignedDataSummary.d.ts.map +0 -1
- package/lib/topology/SignedDataSummary.js.map +0 -1
- package/lib/topology/Triangulation.d.ts.map +0 -1
- package/lib/topology/Triangulation.js.map +0 -1
- package/lib/topology/XYParitySearchContext.d.ts.map +0 -1
- package/lib/topology/XYParitySearchContext.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolygonOps.js","sourceRoot":"","sources":["../../../src/geometry3d/PolygonOps.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\nimport { Geometry, PlaneAltitudeEvaluator } from \"../Geometry\";\r\nimport { Matrix4d } from \"../geometry4d/Matrix4d\";\r\nimport { Point4d } from \"../geometry4d/Point4d\";\r\nimport { XYParitySearchContext } from \"../topology/XYParitySearchContext\";\r\nimport { GrowableXYZArray } from \"./GrowableXYZArray\";\r\nimport { IndexedReadWriteXYZCollection, IndexedXYZCollection } from \"./IndexedXYZCollection\";\r\nimport { Point2d, Vector2d } from \"./Point2dVector2d\";\r\nimport { Point3dArrayCarrier } from \"./Point3dArrayCarrier\";\r\nimport { Point3d, Vector3d } from \"./Point3dVector3d\";\r\nimport { Range1d, Range3d } from \"./Range\";\r\nimport { Ray3d } from \"./Ray3d\";\r\nimport { SortablePolygon } from \"./SortablePolygon\";\r\nimport { XAndY } from \"./XYZProps\";\r\n\r\n/**\r\n * Carrier for a loop extracted from clip operation, annotated for sorting\r\n * @internal\r\n */\r\nexport class CutLoop {\r\n /* All points of the loop */\r\n public xyz: GrowableXYZArray;\r\n /* ray within point of \"on\" edge */\r\n public edge?: Ray3d;\r\n public sortCoordinate0: number;\r\n public sortCoordinate1: number;\r\n public sortDelta: number;\r\n public isNotch: boolean;\r\n public constructor(xyz: GrowableXYZArray) {\r\n this.xyz = xyz;\r\n this.edge = undefined;\r\n this.sortCoordinate0 = this.sortCoordinate1 = 0;\r\n this.sortDelta = 0;\r\n this.isNotch = false;\r\n }\r\n /**\r\n * Create a `CutLoop` structure annotated with the vector from last point to first.\r\n * @param xyz coordinates to capture\r\n */\r\n public static createCaptureWithReturnEdge(xyz: GrowableXYZArray): CutLoop {\r\n const result = new CutLoop(xyz);\r\n if (xyz.length >= 2)\r\n result.edge = Ray3d.createStartEnd(xyz.front()!, xyz.back()!);\r\n return result;\r\n }\r\n /**\r\n * Set up coordinates for sort steps:\r\n * * Make `sortCoordinate0` and `sortCoordinate` the (algebraically sorted) start and end fractions along the ray\r\n * * Make `sortDelta` the oriented difference of those two\r\n * * Hence sorting on the coordinates puts loops in left-to-right order by the their edge vector leftmost point.\r\n */\r\n public setSortCoordinates(ray: Ray3d) {\r\n this.sortDelta = this.edge!.direction.dotProduct(ray.direction);\r\n const a = ray.dotProductToPoint(this.edge!.origin);\r\n if (this.sortDelta >= 0) {\r\n this.sortCoordinate0 = a;\r\n this.sortCoordinate1 = a + this.sortDelta;\r\n } else {\r\n this.sortCoordinate0 = a + this.sortDelta; // and sortDelta is negative !!!\r\n this.sortCoordinate1 = a;\r\n\r\n }\r\n }\r\n /** Return\r\n * * 0 if other sort limits are not strictly contained in this.\r\n * * 1 if other sort limits are strictly contained with same direction\r\n * * -1 if other sort limits are strictly contained in opposite direction.\r\n */\r\n public containsSortLimits(other: CutLoop): number {\r\n if (other.sortCoordinate0 >= this.sortCoordinate1\r\n || other.sortCoordinate0 <= this.sortCoordinate0\r\n || other.sortCoordinate1 <= this.sortCoordinate0\r\n || other.sortCoordinate1 >= this.sortCoordinate1)\r\n return 0;\r\n return this.sortDelta * other.sortDelta > 0 ? 1 : -1;\r\n }\r\n /**\r\n * * push coordinates from other onto this\r\n * * reset this.sortCoordinate0 to other.sortCoordinate1\r\n * @param other new coordinates\r\n */\r\n public absorb(other: CutLoop) {\r\n this.xyz.pushFromGrowableXYZArray(other.xyz);\r\n this.sortCoordinate0 = other.sortCoordinate1;\r\n }\r\n /** Comparison function for system sort function applied to an array of CutLoop .... */\r\n public static sortFunction(loopA: CutLoop, loopB: CutLoop): number {\r\n const q = loopA.sortCoordinate0 - loopB.sortCoordinate0;\r\n return q > 0 ? 1 : -1;\r\n }\r\n\r\n /** Return first point coordinates.\r\n * * For type checking, assume array is not empty.\r\n */\r\n public front(result?: Point3d): Point3d { return this.xyz.front(result)!; }\r\n /** Return last point coordinates.\r\n * * For type checking, assume array is not empty.\r\n */\r\n public back(result?: Point3d): Point3d { return this.xyz.back(result)!; }\r\n\r\n}\r\n/**\r\n * Context to hold an array of input loops and apply sort logic.\r\n * * This is used when a non-convex face is clipped by a plane\r\n * * Simple convex clip logic in this case generates double-back edges that need to be eliminated.\r\n * * This class manages the elimination.\r\n * * Usage pattern is:\r\n * @internal\r\n */\r\nexport class CutLoopMergeContext {\r\n /** Array (filled by user code) of loops being sorted. Contents are subject to being changed during sort. */\r\n public inputLoops: CutLoop[];\r\n /** Array (filled by sortAndMergeLoops) of reorganized loops. */\r\n public outputLoops: CutLoop[];\r\n // Initialize with empty loop arrays.\r\n public constructor() {\r\n this.inputLoops = [];\r\n this.outputLoops = [];\r\n }\r\n /**\r\n * * Search all start and end points for the one most distant from point0.\r\n */\r\n private mostDistantPoint(point0: Point3d, workPoint: Point3d, resultPoint: Point3d) {\r\n let dMax = -1.0;\r\n resultPoint.setZero();\r\n let d;\r\n for (const loop of this.inputLoops) {\r\n loop.front(workPoint);\r\n d = workPoint.distanceSquared(point0);\r\n if (d > dMax) {\r\n dMax = d;\r\n resultPoint.setFromPoint3d(workPoint);\r\n }\r\n loop.back(workPoint);\r\n d = workPoint.distanceSquared(point0);\r\n if (d > dMax) {\r\n dMax = d;\r\n resultPoint.setFromPoint3d(workPoint);\r\n }\r\n }\r\n }\r\n /**\r\n * * Find a long (probably longest) edge through start and end points of inputs.\r\n * * Setup sortCoordinate0 and sortCoordinate1 along that edge for each loop\r\n * * sort all inputLoop members by sortCoordinate0.\r\n */\r\n private sortInputs() {\r\n if (this.inputLoops.length > 0 && this.inputLoops[0].xyz.length > 0) {\r\n const point0 = this.inputLoops[0].xyz.front()!;\r\n const workPoint = Point3d.create();\r\n const point1 = Point3d.create();\r\n // point0 could be in the middle. Find the most distant point ...\r\n this.mostDistantPoint(point0, workPoint, point1);\r\n // And again from point1 to get to the other extreme . .\r\n this.mostDistantPoint(point1, workPoint, point0);\r\n const sortRay = Ray3d.createStartEnd(point0, point1);\r\n sortRay.direction.normalizeInPlace();\r\n for (const loop of this.inputLoops)\r\n loop.setSortCoordinates(sortRay);\r\n this.inputLoops.sort(CutLoop.sortFunction);\r\n\r\n }\r\n }\r\n /**\r\n * * sort all input loops by coordinate along the cut edge\r\n * * sweep left to right, using start and end coordinates to decide if loops are outer or hole, and combine holes into their containing outer loops.\r\n */\r\n public sortAndMergeLoops() {\r\n this.sortInputs();\r\n const inputs = this.inputLoops;\r\n const outputs = this.outputLoops;\r\n const stack = [];\r\n outputs.length = 0;\r\n for (const candidate of inputs) {\r\n candidate.isNotch = false;\r\n // candidate must be either (a) absorbed in to of stack or (b) pushed onto stack.\r\n // If pushed, must have indication of natch state.\r\n for (; stack.length > 0;) {\r\n const topOfStack = stack[stack.length - 1];\r\n const containment = topOfStack.containsSortLimits(candidate);\r\n if (containment === 0) {\r\n if (!topOfStack.isNotch)\r\n outputs.push(topOfStack);\r\n stack.pop();\r\n continue; // a larger topOfStack may have appeared !\r\n candidate.isNotch = false;\r\n } else if (containment === 1) {\r\n candidate.isNotch = false;\r\n break;\r\n } else {\r\n topOfStack.absorb(candidate);\r\n candidate.isNotch = true;\r\n break;\r\n }\r\n }\r\n stack.push(candidate);\r\n }\r\n // Anything on stack must be complete ...\r\n for (const p of stack) {\r\n if (!p.isNotch)\r\n outputs.push(p);\r\n }\r\n }\r\n}\r\n/** Static class for operations that treat an array of points as a polygon (with area!) */\r\n/**\r\n * Various (static method) computations for arrays of points interpreted as a polygon.\r\n * @public\r\n */\r\nexport class PolygonOps {\r\n /** Sum areas of triangles from points[0] to each far edge.\r\n * * Consider triangles from points[0] to each edge.\r\n * * Sum the areas(absolute, without regard to orientation) all these triangles.\r\n * @returns sum of absolute triangle areas.\r\n */\r\n public static sumTriangleAreas(points: Point3d[] | GrowableXYZArray): number {\r\n let s = 0;\r\n const n = points.length;\r\n if (Array.isArray(points)) {\r\n if (n >= 3) {\r\n const origin = points[0];\r\n const vector0 = origin.vectorTo(points[1]);\r\n let vector1 = Vector3d.create();\r\n // This will work with or without closure edge. If closure is given, the last vector is 000.\r\n for (let i = 2; i < n; i++) {\r\n vector1 = origin.vectorTo(points[i], vector1);\r\n s += vector0.crossProductMagnitude(vector1);\r\n vector0.setFrom(vector1);\r\n }\r\n }\r\n return s * 0.5;\r\n }\r\n const crossVector = Vector3d.create();\r\n for (let i = 2; i < n; i++) {\r\n points.crossProductIndexIndexIndex(0, i - 1, i, crossVector);\r\n s += crossVector.magnitude();\r\n }\r\n return s * 0.5;\r\n }\r\n /** Sum areas of triangles from points[0] to each far edge.\r\n * * Consider triangles from points[0] to each edge.\r\n * * Sum the areas(absolute, without regard to orientation) all these triangles.\r\n * @returns sum of absolute triangle areas.\r\n */\r\n public static sumTriangleAreasXY(points: Point3d[]): number {\r\n let s = 0.0;\r\n const n = points.length;\r\n if (n >= 3) {\r\n const origin = points[0];\r\n const vector0 = origin.vectorTo(points[1]);\r\n let vector1 = Vector3d.create();\r\n // This will work with or without closure edge. If closure is given, the last vector is 000.\r\n for (let i = 2; i < n; i++) {\r\n vector1 = origin.vectorTo(points[i], vector1);\r\n s += vector0.crossProductXY(vector1);\r\n vector0.setFrom(vector1);\r\n }\r\n }\r\n s *= 0.5;\r\n // console.log (\"polygon area \", s, points);\r\n return s;\r\n }\r\n /** These values are the integrated area moment products [xx,xy,xz, x]\r\n * for a right triangle in the first quadrant at the origin -- (0,0),(1,0),(0,1)\r\n */\r\n private static readonly _triangleMomentWeights = Matrix4d.createRowValues(2.0 / 24.0, 1.0 / 24.0, 0, 4.0 / 24.0, 1.0 / 24.0, 2.0 / 24.0, 0, 4.0 / 24.0, 0, 0, 0, 0, 4.0 / 24.0, 4.0 / 24.0, 0, 12.0 / 24.0);\r\n /** These values are the integrated volume moment products [xx,xy,xz, x, yx,yy,yz,y, zx,zy,zz,z,x,y,z,1]\r\n * for a tetrahedron in the first quadrant at the origin -- (0,00),(1,0,0),(0,1,0),(0,0,1)\r\n */\r\n private static readonly _tetrahedralMomentWeights = Matrix4d.createRowValues(\r\n 1.0 / 60.0, 1.0 / 120, 1.0 / 120, 1.0 / 24.0,\r\n 1.0 / 120, 1.0 / 60.0, 1.0 / 120, 1.0 / 24.0,\r\n 1.0 / 120, 1.0 / 120, 1.0 / 60.0, 1.0 / 24.0,\r\n 1.0 / 24.0, 1.0 / 24.0, 1.0 / 24.0, 1.0 / 6.0);\r\n // statics for shared reuse.\r\n // many methods use these.\r\n // only use them in \"leaf\" methods that are certain not to call other users . . .\r\n private static _vector0 = Vector3d.create();\r\n private static _vector1 = Vector3d.create();\r\n private static _vector2 = Vector3d.create();\r\n private static _vectorOrigin = Vector3d.create();\r\n private static _normal = Vector3d.create();\r\n private static _matrixA = Matrix4d.createIdentity();\r\n private static _matrixB = Matrix4d.createIdentity();\r\n private static _matrixC = Matrix4d.createIdentity();\r\n /** return a vector which is perpendicular to the polygon and has magnitude equal to the polygon area. */\r\n public static areaNormalGo(points: IndexedXYZCollection, result?: Vector3d): Vector3d | undefined {\r\n if (!result)\r\n result = new Vector3d();\r\n const n = points.length;\r\n if (n === 3) {\r\n points.crossProductIndexIndexIndex(0, 1, 2, result);\r\n } else if (n >= 3) {\r\n result.setZero();\r\n // This will work with or without closure edge. If closure is given, the last vector is 000.\r\n for (let i = 2; i < n; i++) {\r\n points.accumulateCrossProductIndexIndexIndex(0, i - 1, i, result);\r\n }\r\n }\r\n // ALL BRANCHES SUM FULL CROSS PRODUCTS AND EXPECT SCALE HERE\r\n result.scaleInPlace(0.5);\r\n return result;\r\n }\r\n /** return a vector which is perpendicular to the polygon and has magnitude equal to the polygon area. */\r\n public static areaNormal(points: Point3d[], result?: Vector3d): Vector3d {\r\n if (!result)\r\n result = Vector3d.create();\r\n PolygonOps.areaNormalGo(new Point3dArrayCarrier(points), result);\r\n return result;\r\n }\r\n /** return the area of the polygon.\r\n * * This assumes the polygon is planar\r\n * * This does NOT assume the polygon is on the xy plane.\r\n */\r\n public static area(points: Point3d[]): number {\r\n return PolygonOps.areaNormal(points).magnitude();\r\n }\r\n /** return the projected XY area of the polygon. */\r\n public static areaXY(points: Point3d[] | IndexedXYZCollection): number {\r\n let area = 0.0;\r\n if (points instanceof IndexedXYZCollection) {\r\n if (points.length > 2) {\r\n const x0 = points.getXAtUncheckedPointIndex(0);\r\n const y0 = points.getYAtUncheckedPointIndex(0);\r\n let u1 = points.getXAtUncheckedPointIndex(1) - x0;\r\n let v1 = points.getYAtUncheckedPointIndex(1) - y0;\r\n let u2, v2;\r\n for (let i = 1; i + 1 < points.length; i++, u1 = u2, v1 = v2) {\r\n u2 = points.getXAtUncheckedPointIndex(i) - x0;\r\n v2 = points.getYAtUncheckedPointIndex(i) - y0;\r\n area += Geometry.crossProductXYXY(u1, v1, u2, v2);\r\n }\r\n }\r\n } else {\r\n for (let i = 1; i + 1 < points.length; i++)\r\n area += points[0].crossProductToPointsXY(points[i], points[i + 1]);\r\n }\r\n return 0.5 * area;\r\n }\r\n /**\r\n * Return a Ray3d with (assuming the polygon is planar and not self-intersecting)\r\n * * origin at the centroid of the (3D) polygon\r\n * * normal is a unit vector perpendicular to the plane\r\n * * 'a' member is the area.\r\n * @param points\r\n */\r\n public static centroidAreaNormal(points: IndexedXYZCollection | Point3d[]): Ray3d | undefined {\r\n if (Array.isArray(points)) {\r\n const carrier = new Point3dArrayCarrier(points);\r\n return this.centroidAreaNormal(carrier);\r\n }\r\n const n = points.length;\r\n if (n === 3) {\r\n const normal = points.crossProductIndexIndexIndex(0, 1, 2)!;\r\n const a = 0.5 * normal.magnitude();\r\n const centroid = points.getPoint3dAtCheckedPointIndex(0)!;\r\n points.accumulateScaledXYZ(1, 1.0, centroid);\r\n points.accumulateScaledXYZ(2, 1.0, centroid);\r\n centroid.scaleInPlace(1.0 / 3.0);\r\n const result = Ray3d.createCapture(centroid, normal);\r\n if (result.tryNormalizeInPlaceWithAreaWeight(a))\r\n return result;\r\n return undefined;\r\n }\r\n if (n >= 3) {\r\n\r\n const areaNormal = Vector3d.createZero();\r\n // This will work with or without closure edge. If closure is given, the last vector is 000.\r\n for (let i = 2; i < n; i++) {\r\n points.accumulateCrossProductIndexIndexIndex(0, i - 1, i, areaNormal);\r\n }\r\n areaNormal.normalizeInPlace();\r\n\r\n const origin = points.getPoint3dAtCheckedPointIndex(0)!;\r\n const vector0 = Vector3d.create();\r\n const vector1 = Vector3d.create();\r\n points.vectorXYAndZIndex(origin, 1, vector0);\r\n let cross = Vector3d.create();\r\n const centroidSum = Vector3d.createZero();\r\n const normalSum = Vector3d.createZero();\r\n let signedTriangleArea;\r\n // This will work with or without closure edge. If closure is given, the last vector is 000.\r\n for (let i = 2; i < n; i++) {\r\n points.vectorXYAndZIndex(origin, i, vector1);\r\n cross = vector0.crossProduct(vector1, cross);\r\n signedTriangleArea = areaNormal.dotProduct(cross); // well, actually twice the area.\r\n normalSum.addInPlace(cross); // this grows to twice the area\r\n const b = signedTriangleArea / 6.0;\r\n centroidSum.plus2Scaled(vector0, b, vector1, b, centroidSum);\r\n vector0.setFrom(vector1);\r\n }\r\n const area = 0.5 * normalSum.magnitude();\r\n const inverseArea = Geometry.conditionalDivideFraction(1, area);\r\n if (inverseArea !== undefined) {\r\n const result = Ray3d.createCapture(origin.plusScaled(centroidSum, inverseArea), normalSum);\r\n result.tryNormalizeInPlaceWithAreaWeight(area);\r\n return result;\r\n }\r\n }\r\n return undefined;\r\n }\r\n // Has the potential to be combined with centroidAreaNormal for point3d array and Ray3d return listed above...\r\n // Returns undefined if given point array less than 3 or if not safe to divide at any point\r\n /**\r\n * * Return (in caller-allocated centroid) the centroid of the xy polygon.\r\n * * Return (as function value) the area\r\n */\r\n public static centroidAndAreaXY(points: Point2d[], centroid: Point2d): number | undefined {\r\n let area = 0.0;\r\n centroid.set(0, 0);\r\n if (points.length < 3)\r\n return undefined;\r\n const origin = points[0];\r\n let vectorSum = Vector2d.create(0, 0); // == sum ((U+V)/3) * (U CROSS V)/2 -- but leave out divisions\r\n let areaSum = 0.0; // == sum (U CROSS V) / 2 -- but leave out divisions\r\n for (let i = 1; i + 1 < points.length; i++) {\r\n const vector0 = origin.vectorTo(points[i]);\r\n const vector1 = origin.vectorTo(points[i + 1]);\r\n const tempArea = vector0.crossProduct(vector1);\r\n vectorSum = vectorSum.plus(vector0.plus(vector1).scale(tempArea));\r\n areaSum += tempArea;\r\n }\r\n area = areaSum * 0.5;\r\n const a = Geometry.conditionalDivideFraction(1.0, 6.0 * area);\r\n if (a === undefined) {\r\n centroid.setFrom(origin);\r\n return undefined;\r\n }\r\n centroid.setFrom(origin.plusScaled(vectorSum, a));\r\n return area;\r\n }\r\n /**\r\n * Return a unit normal to the plane of the polygon.\r\n * @param points array of points around the polygon. This is assumed to NOT have closure edge.\r\n * @param result caller-allocated result vector.\r\n */\r\n public static unitNormal(points: IndexedXYZCollection, result: Vector3d): boolean {\r\n const n = points.length;\r\n if (n === 3) {\r\n points.crossProductIndexIndexIndex(0, 1, 2, result);\r\n return result.normalizeInPlace();\r\n }\r\n if (n === 4) {\r\n // cross product of diagonals is more stable than from single of the points . . .\r\n points.vectorIndexIndex(0, 2, PolygonOps._vector0);\r\n points.vectorIndexIndex(1, 3, PolygonOps._vector1);\r\n PolygonOps._vector0.crossProduct(PolygonOps._vector1, result);\r\n return result.normalizeInPlace();\r\n }\r\n // more than 4 points ... no shortcuts ...\r\n PolygonOps.areaNormalGo(points, result);\r\n return result.normalizeInPlace();\r\n }\r\n /** Accumulate to the matrix of area products of a polygon with respect to an origin.\r\n * The polygon is assumed to be planar and non-self-intersecting.\r\n */\r\n /** Accumulate to the matrix of area products of a polygon with respect to an origin.\r\n * * The polygon is assumed to be planar and non-self-intersecting.\r\n * * Accumulated values are integrals over triangles from point 0 of the polygon to other edges of the polygon.\r\n * * Integral over each triangle is transformed to integrals from the given origin.\r\n * @param points array of points around the polygon. Final closure point is not needed.\r\n * @param origin origin for global accumulation.\r\n * @param moments 4x4 matrix where products are accumulated.\r\n */\r\n public static addSecondMomentAreaProducts(points: IndexedXYZCollection, origin: Point3d, moments: Matrix4d) {\r\n this.addSecondMomentTransformedProducts(PolygonOps._triangleMomentWeights, points, origin, 2, moments);\r\n }\r\n\r\n /** Accumulate to the matrix of volume products of a polygon with respect to an origin.\r\n * * The polygon is assumed to be planar and non-self-intersecting.\r\n * * Accumulated values are integrals over tetrahedra from the origin to triangles on the polygon.\r\n * @param points array of points around the polygon. Final closure point is not needed.\r\n * @param origin origin for tetrahedra\r\n * @param moments 4x4 matrix where products are accumulated.\r\n */\r\n public static addSecondMomentVolumeProducts(points: IndexedXYZCollection, origin: Point3d, moments: Matrix4d) {\r\n this.addSecondMomentTransformedProducts(PolygonOps._tetrahedralMomentWeights, points, origin, 3, moments);\r\n }\r\n /** Return the matrix of area products of a polygon with respect to an origin.\r\n * The polygon is assumed to be planar and non-self-intersecting.\r\n * * `frameType===2` has xy vectors in the plane of the polygon, plus a unit normal z. (Used for area integrals)\r\n * * `frameType===3` has vectors from origin to 3 points in the triangle. (Used for volume integrals)\r\n */\r\n private static addSecondMomentTransformedProducts(firstQuadrantMoments: Matrix4d, points: IndexedXYZCollection, origin: Point3d,\r\n frameType: 2 | 3,\r\n moments: Matrix4d) {\r\n const unitNormal = PolygonOps._normal;\r\n if (PolygonOps.unitNormal(points, unitNormal)) {\r\n // The direction of the normal makes the various detJ values positive or negative so that non-convex polygons\r\n // sum correctly.\r\n const vector01 = PolygonOps._vector0;\r\n const vector02 = PolygonOps._vector1;\r\n const vector03 = PolygonOps._vector2;\r\n const placement = PolygonOps._matrixA;\r\n const matrixAB = PolygonOps._matrixB;\r\n const matrixABC = PolygonOps._matrixC;\r\n const vectorOrigin = points.vectorXYAndZIndex(origin, 0, PolygonOps._vectorOrigin)!;\r\n const numPoints = points.length;\r\n let detJ = 0;\r\n for (let i2 = 2; i2 < numPoints; i2++) {\r\n if (frameType === 2) {\r\n points.vectorIndexIndex(0, i2 - 1, vector01);\r\n points.vectorIndexIndex(0, i2, vector02);\r\n detJ = unitNormal.tripleProduct(vector01, vector02);\r\n placement.setOriginAndVectors(vectorOrigin, vector01, vector02, unitNormal);\r\n placement.multiplyMatrixMatrix(firstQuadrantMoments, matrixAB);\r\n matrixAB.multiplyMatrixMatrixTranspose(placement, matrixABC);\r\n moments.addScaledInPlace(matrixABC, detJ);\r\n } else if (frameType === 3) {\r\n points.vectorXYAndZIndex(origin, 0, vector01);\r\n points.vectorXYAndZIndex(origin, i2 - 1, vector02);\r\n points.vectorXYAndZIndex(origin, i2, vector03);\r\n detJ = vector01.tripleProduct(vector02, vector03);\r\n placement.setOriginAndVectors(origin, vector01, vector02, vector03);\r\n placement.multiplyMatrixMatrix(firstQuadrantMoments, matrixAB);\r\n matrixAB.multiplyMatrixMatrixTranspose(placement, matrixABC);\r\n moments.addScaledInPlace(matrixABC, detJ);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Test the direction of turn at the vertices of the polygon, ignoring z-coordinates.\r\n *\r\n * * For a polygon without self intersections, this is a convexity and orientation test: all positive is convex and counterclockwise,\r\n * all negative is convex and clockwise\r\n * * Beware that a polygon which turns through more than a full turn can cross itself and close, but is not convex\r\n * * Returns 1 if all turns are to the left, -1 if all to the right, and 0 if there are any zero or reverse turns\r\n */\r\n public static testXYPolygonTurningDirections(pPointArray: Point2d[] | Point3d[]): number {\r\n // Reduce count by trailing duplicates; leaves iLast at final index\r\n let numPoint = pPointArray.length;\r\n let iLast = numPoint - 1;\r\n while (iLast > 1 && pPointArray[iLast].x === pPointArray[0].x && pPointArray[iLast].y === pPointArray[0].y) {\r\n numPoint = iLast--;\r\n }\r\n if (numPoint > 2) {\r\n let vector0 = Point2d.create(pPointArray[iLast].x - pPointArray[iLast - 1].x, pPointArray[iLast].y - pPointArray[iLast - 1].y);\r\n const vector1 = Point2d.create(pPointArray[0].x - pPointArray[iLast].x, pPointArray[0].y - pPointArray[iLast].y);\r\n const baseArea = vector0.x * vector1.y - vector0.y * vector1.x;\r\n // In a convex polygon, all successive-vector cross products will\r\n // have the same sign as the base area, hence all products will be\r\n // positive.\r\n for (let i1 = 1; i1 < numPoint; i1++) {\r\n vector0 = vector1.clone();\r\n Point2d.create(pPointArray[i1].x - pPointArray[i1 - 1].x, pPointArray[i1].y - pPointArray[i1 - 1].y, vector1);\r\n const currArea = vector0.x * vector1.y - vector0.y * vector1.x;\r\n if (currArea * baseArea <= 0.0)\r\n return 0;\r\n }\r\n // Fall out with all signs same as base area\r\n return baseArea > 0.0 ? 1 : -1;\r\n }\r\n return 0;\r\n }\r\n /**\r\n * Test if point (x,y) is IN, OUT or ON a polygon.\r\n * @return (1) for in, (-1) for OUT, (0) for ON\r\n * @param x x coordinate\r\n * @param y y coordinate\r\n * @param points array of xy coordinates.\r\n */\r\n public static classifyPointInPolygon(x: number, y: number, points: XAndY[]): number | undefined {\r\n const context = new XYParitySearchContext(x, y);\r\n let i0 = 0;\r\n const n = points.length;\r\n let i1;\r\n let iLast = -1;\r\n // walk to an acceptable start index ...\r\n for (i0 = 0; i0 < n; i0++) {\r\n i1 = i0 + 1;\r\n if (i1 >= n)\r\n i1 = 0;\r\n if (context.tryStartEdge(points[i0].x, points[i0].y, points[i1].x, points[i1].y)) {\r\n iLast = i1;\r\n break;\r\n }\r\n }\r\n if (iLast < 0)\r\n return undefined;\r\n for (let i = 1; i <= n; i++) {\r\n i1 = iLast + i;\r\n if (i1 >= n)\r\n i1 -= n;\r\n if (!context.advance(points[i1].x, points[i1].y))\r\n return context.classifyCounts();\r\n }\r\n return context.classifyCounts();\r\n }\r\n /**\r\n * Test if point (x,y) is IN, OUT or ON a polygon.\r\n * @return (1) for in, (-1) for OUT, (0) for ON\r\n * @param x x coordinate\r\n * @param y y coordinate\r\n * @param points array of xy coordinates.\r\n */\r\n public static classifyPointInPolygonXY(x: number, y: number, points: IndexedXYZCollection): number | undefined {\r\n const context = new XYParitySearchContext(x, y);\r\n let i0 = 0;\r\n const n = points.length;\r\n let i1;\r\n let iLast = -1;\r\n // walk to an acceptable start index ...\r\n for (i0 = 0; i0 < n; i0++) {\r\n i1 = i0 + 1;\r\n if (i1 >= n)\r\n i1 = 0;\r\n if (context.tryStartEdge(points.getXAtUncheckedPointIndex(i0), points.getYAtUncheckedPointIndex(i0), points.getXAtUncheckedPointIndex(i1), points.getYAtUncheckedPointIndex(i1))) {\r\n iLast = i1;\r\n break;\r\n }\r\n }\r\n if (iLast < 0)\r\n return undefined;\r\n for (let i = 1; i <= n; i++) {\r\n i1 = iLast + i;\r\n if (i1 >= n)\r\n i1 -= n;\r\n if (!context.advance(points.getXAtUncheckedPointIndex(i1), points.getYAtUncheckedPointIndex(i1)))\r\n return context.classifyCounts();\r\n }\r\n return context.classifyCounts();\r\n }\r\n\r\n /**\r\n * Reverse loops as necessary to make them all have CCW orientation for given outward normal.\r\n * @param loops\r\n * @param outwardNormal\r\n * @return the number of loops reversed.\r\n */\r\n public static orientLoopsCCWForOutwardNormalInPlace(loops: IndexedReadWriteXYZCollection | IndexedReadWriteXYZCollection[], outwardNormal: Vector3d): number {\r\n if (loops instanceof IndexedXYZCollection)\r\n return this.orientLoopsCCWForOutwardNormalInPlace([loops], outwardNormal);\r\n const orientations: number[] = [];\r\n const unitNormal = Vector3d.create();\r\n // orient individually ... (no hole analysis)\r\n let numReverse = 0;\r\n for (const loop of loops) {\r\n if (this.unitNormal(loop, unitNormal)) {\r\n const q = unitNormal.dotProduct(outwardNormal);\r\n orientations.push(q);\r\n if (q <= 0.0)\r\n loop.reverseInPlace();\r\n numReverse++;\r\n } else {\r\n orientations.push(0.0);\r\n }\r\n }\r\n return numReverse;\r\n }\r\n /**\r\n * If reverse loops as necessary to make them all have CCW orientation for given outward normal.\r\n * * Return an array of arrays which capture the input pointers.\r\n * * In each first level array:\r\n * * The first loop is an outer loop.\r\n * * all subsequent loops are holes\r\n * * The outer loop is CCW\r\n * * The holes are CW.\r\n * * Call RegionOps.sortOuterAndHoleLoopsXY to have the result returned as a UnionRegion\r\n * @param loops multiple loops to sort and reverse.\r\n */\r\n public static sortOuterAndHoleLoopsXY(loops: IndexedReadWriteXYZCollection[]): IndexedReadWriteXYZCollection[][] {\r\n const loopAndArea: SortablePolygon[] = [];\r\n for (const loop of loops) {\r\n SortablePolygon.pushPolygon(loopAndArea, loop);\r\n }\r\n return SortablePolygon.sortAsArrayOfArrayOfPolygons(loopAndArea);\r\n }\r\n}\r\n/**\r\n * `IndexedXYZCollectionPolygonOps` class contains _static_ methods for typical operations on polygons carried as `IndexedXyZCollection`\r\n * @public\r\n */\r\nexport class IndexedXYZCollectionPolygonOps {\r\n private static _xyz0Work: Point3d = Point3d.create();\r\n private static _xyz1Work: Point3d = Point3d.create();\r\n private static _xyz2Work: Point3d = Point3d.create();\r\n /**\r\n * Split a (convex) polygon into 2 parts based on altitude evaluations.\r\n * * POSITIVE ALTITUDE IS IN\r\n * @param plane any `PlaneAltitudeEvaluator` object that can evaluate `plane.altitude(xyz)` for distance from the plane.\r\n * @param xyz original polygon\r\n * @param xyzPositive array to receive inside part (altitude > 0)\r\n * @param xyzNegative array to receive outside part\r\n * @param altitudeRange min and max altitudes encountered.\r\n */\r\n public static splitConvexPolygonInsideOutsidePlane(plane: PlaneAltitudeEvaluator,\r\n xyz: IndexedReadWriteXYZCollection,\r\n xyzPositive: IndexedReadWriteXYZCollection,\r\n xyzNegative: IndexedReadWriteXYZCollection, altitudeRange: Range1d) {\r\n const xyz0 = IndexedXYZCollectionPolygonOps._xyz0Work;\r\n const xyz1 = IndexedXYZCollectionPolygonOps._xyz1Work;\r\n const xyzInterpolated = IndexedXYZCollectionPolygonOps._xyz2Work;\r\n const n = xyz.length;\r\n xyzPositive.clear();\r\n xyzNegative.clear();\r\n // let numSplit = 0;\r\n const fractionTol = 1.0e-8;\r\n if (n > 2) {\r\n xyz.back(xyz0);\r\n altitudeRange.setNull();\r\n let a0 = plane.altitude(xyz0);\r\n altitudeRange.extendX(a0);\r\n // if (a0 >= 0.0)\r\n // work.push_back (xyz0);\r\n for (let i1 = 0; i1 < n; i1++) {\r\n xyz.getPoint3dAtUncheckedPointIndex(i1, xyz1);\r\n const a1 = plane.altitude(xyz1);\r\n altitudeRange.extendX(a1);\r\n let nearZero = false;\r\n if (a0 * a1 < 0.0) {\r\n // simple crossing. . .\r\n const f = - a0 / (a1 - a0);\r\n if (f > 1.0 - fractionTol && a1 >= 0.0) {\r\n // the endpoint will be saved -- avoid the duplicate\r\n nearZero = true;\r\n } else {\r\n xyz0.interpolate(f, xyz1, xyzInterpolated);\r\n xyzPositive.push(xyzInterpolated);\r\n xyzNegative.push(xyzInterpolated);\r\n }\r\n // numSplit++;\r\n }\r\n if (a1 >= 0.0 || nearZero)\r\n xyzPositive.push(xyz1);\r\n if (a1 <= 0.0 || nearZero)\r\n xyzNegative.push(xyz1);\r\n xyz0.setFromPoint3d(xyz1);\r\n a0 = a1;\r\n }\r\n }\r\n }\r\n /**\r\n * Clip a polygon to one side of a plane.\r\n * * Results with 2 or fewer points are ignored.\r\n * * Other than ensuring capacity in the arrays, there are no object allocations during execution of this function.\r\n * * plane is passed as unrolled Point4d (ax,ay,az,aw) point (x,y,z) acts as homogeneous (x,y,z,1)\r\n * * `keepPositive === true` selects positive altitudes.\r\n * @param plane any type that has `plane.altitude`\r\n * @param xyz input points.\r\n * @param work work buffer\r\n * @param tolerance tolerance for \"on plane\" decision.\r\n * @return the number of crossings. If this is larger than 2, the result is \"correct\" in a parity sense but may have overlapping (hence cancelling) parts.\r\n */\r\n public static clipConvexPolygonInPlace(plane: PlaneAltitudeEvaluator, xyz: GrowableXYZArray, work: GrowableXYZArray, keepPositive: boolean = true, tolerance: number = Geometry.smallMetricDistance): number {\r\n work.clear();\r\n const s = keepPositive ? 1.0 : -1.0;\r\n const n = xyz.length;\r\n let numNegative = 0;\r\n const fractionTol = 1.0e-8;\r\n const b = -tolerance;\r\n let numCrossings = 0;\r\n if (xyz.length > 1) {\r\n let a1;\r\n let index0 = xyz.length - 1;\r\n let a0 = s * xyz.evaluateUncheckedIndexPlaneAltitude(index0, plane);\r\n if (Math.abs(a0) < tolerance)\r\n a0 = 0;\r\n // if (a0 >= 0.0)\r\n // work.push_back (xyz0);\r\n for (let index1 = 0; index1 < n; a0 = a1, index0 = index1++) {\r\n a1 = s * xyz.evaluateUncheckedIndexPlaneAltitude(index1, plane);\r\n if (Math.abs(a1) < tolerance)\r\n a1 = 0;\r\n if (a1 < 0)\r\n numNegative++;\r\n if (a0 * a1 < 0.0) {\r\n // simple crossing . . .\r\n const f = - a0 / (a1 - a0);\r\n if (f > 1.0 - fractionTol && a1 >= 0.0) {\r\n // the endpoint will be saved -- avoid the duplicate\r\n } else {\r\n work.pushInterpolatedFromGrowableXYZArray(xyz, index0, f, index1);\r\n if (a1 > 0)\r\n numCrossings++; // \"out to in\"\r\n }\r\n }\r\n if (a1 >= b) {\r\n work.pushFromGrowableXYZArray(xyz, index1);\r\n if (a0 < -b) {\r\n numCrossings++; // \"in to out\"\r\n }\r\n }\r\n index0 = index1;\r\n a0 = a1;\r\n }\r\n }\r\n\r\n if (work.length <= 2) {\r\n xyz.clear();\r\n } else if (numNegative > 0) {\r\n xyz.clear();\r\n xyz.pushFromGrowableXYZArray(work);\r\n }\r\n work.clear();\r\n return numCrossings;\r\n }\r\n\r\n /**\r\n * * Input a \"clipped\" polygon (from clipConvexPolygonInPlace) with more than 2 crossings, i.e. is from a non-convex polygon with configurations like:\r\n * * multiple distinct polygons\r\n * * single polygon, but cut lines overlap and cancel by parity rules.\r\n * * return 1 or more polygons, each having first and last points \"on\" the plane and intermediate points \"off\"\r\n * * `minChainLength` indicates the shortest chain to be returned.\r\n * @internal\r\n */\r\n public static gatherCutLoopsFromPlaneClip(plane: PlaneAltitudeEvaluator, xyz: GrowableXYZArray, minChainLength: number = 3, tolerance: number = Geometry.smallMetricDistance): CutLoopMergeContext {\r\n const result: CutLoopMergeContext = new CutLoopMergeContext();\r\n // find the first on-plane point\r\n let firstOnPlaneIndex = 0;\r\n const n = xyz.length;\r\n for (; firstOnPlaneIndex < n; firstOnPlaneIndex++) {\r\n const a = xyz.evaluateUncheckedIndexPlaneAltitude(firstOnPlaneIndex, plane);\r\n if (Math.abs(a) <= tolerance)\r\n break;\r\n }\r\n if (firstOnPlaneIndex === n)\r\n return result;\r\n // find contiguous blocks of \"off plane\" points with on-plane points at their end.\r\n let candidateA = firstOnPlaneIndex;\r\n while (candidateA < n) {\r\n const currentChain = new GrowableXYZArray();\r\n currentChain.pushFromGrowableXYZArray(xyz, candidateA);\r\n let candidateB = candidateA + 1;\r\n while (candidateB < n) {\r\n currentChain.pushFromGrowableXYZArray(xyz, candidateB);\r\n const a = xyz.evaluateUncheckedIndexPlaneAltitude(candidateB, plane);\r\n if (Math.abs(a) <= tolerance) {\r\n break;\r\n }\r\n candidateB++;\r\n }\r\n if (candidateB === n)\r\n for (let i = 0; i <= firstOnPlaneIndex; i++)\r\n currentChain.pushFromGrowableXYZArray(xyz, i);\r\n if (currentChain.length >= minChainLength)\r\n result.inputLoops.push(CutLoop.createCaptureWithReturnEdge(currentChain));\r\n candidateA = candidateB;\r\n }\r\n return result;\r\n }\r\n /**\r\n * * Input the loops from `gatherCutLoopsFromClipPlane`\r\n * * Consolidate loops for reentrant configurations.\r\n * * WARNING: The output reuses and modifies input loops whenever possible.\r\n * @internal\r\n */\r\n public static reorderCutLoops(loops: CutLoopMergeContext) {\r\n // Simple case: all loops have common orientation\r\n if (loops.inputLoops.length === 1)\r\n return;\r\n // Simple cases: 2 loops . . .\r\n if (loops.inputLoops.length === 2) {\r\n // if edges are in the same direction, it must be a pair of unrelated loop . . .\r\n if (loops.inputLoops[0].edge!.direction.dotProduct(loops.inputLoops[1].edge!.direction) > 0) {\r\n loops.outputLoops.push(loops.inputLoops[0]);\r\n loops.outputLoops.push(loops.inputLoops[1]);\r\n return;\r\n }\r\n // twist the two loops into 1,\r\n const source = loops.inputLoops[1].xyz;\r\n const dest = loops.inputLoops[0].xyz;\r\n dest.pushFromGrowableXYZArray(source);\r\n loops.outputLoops.push(loops.inputLoops[0]);\r\n return;\r\n }\r\n // 3 or more loops.\r\n loops.sortAndMergeLoops();\r\n //\r\n }\r\n /**\r\n * Return the intersection of the plane with a range cube.\r\n * @param range\r\n * @param xyzOut intersection polygon. This is convex.\r\n * @return reference to xyz if the polygon still has points; undefined if all points are clipped away.\r\n */\r\n public static intersectRangeConvexPolygonInPlace(range: Range3d, xyz: GrowableXYZArray): GrowableXYZArray | undefined {\r\n if (range.isNull)\r\n return undefined;\r\n const work = new GrowableXYZArray();\r\n const plane = Point4d.create();\r\n plane.set(0, 0, -1, range.high.z);\r\n this.clipConvexPolygonInPlace(plane, xyz, work, true);\r\n if (xyz.length === 0)\r\n return undefined;\r\n\r\n plane.set(0, 0, 1, -range.low.z);\r\n this.clipConvexPolygonInPlace(plane, xyz, work, true);\r\n if (xyz.length === 0)\r\n return undefined;\r\n\r\n plane.set(0, -1, 0, range.high.y);\r\n this.clipConvexPolygonInPlace(plane, xyz, work, true);\r\n if (xyz.length === 0)\r\n return undefined;\r\n\r\n plane.set(0, 1, 0, -range.low.y);\r\n this.clipConvexPolygonInPlace(plane, xyz, work, true);\r\n if (xyz.length === 0)\r\n return undefined;\r\n\r\n plane.set(-1, 0, 0, range.high.x);\r\n this.clipConvexPolygonInPlace(plane, xyz, work, true);\r\n if (xyz.length === 0)\r\n return undefined;\r\n\r\n plane.set(1, 0, 0, -range.low.x);\r\n this.clipConvexPolygonInPlace(plane, xyz, work, true);\r\n if (xyz.length === 0)\r\n return undefined;\r\n\r\n return xyz;\r\n }\r\n}\r\n/**\r\n * `Point3dArrayPolygonOps` class contains _static_ methods for typical operations on polygons carried as `Point3d[]`\r\n * @public\r\n */\r\nexport class Point3dArrayPolygonOps {\r\n private static _xyz0Work: Point3d = Point3d.create();\r\n // private static _xyz1Work: Point3d = Point3d.create();\r\n // private static _xyz2Work: Point3d = Point3d.create();\r\n /**\r\n * Split a (convex) polygon into 2 parts.\r\n * @param xyz original polygon\r\n * @param xyzIn array to receive inside part\r\n * @param xyzOut array to receive outside part\r\n * @param altitudeRange min and max altitudes encountered.\r\n */\r\n public static convexPolygonSplitInsideOutsidePlane(plane: PlaneAltitudeEvaluator, xyz: Point3d[], xyzIn: Point3d[], xyzOut: Point3d[], altitudeRange: Range1d) {\r\n const xyzCarrier = new Point3dArrayCarrier(xyz);\r\n const xyzInCarrier = new Point3dArrayCarrier(xyzIn);\r\n const xyzOutCarrier = new Point3dArrayCarrier(xyzOut);\r\n IndexedXYZCollectionPolygonOps.splitConvexPolygonInsideOutsidePlane(plane, xyzCarrier, xyzInCarrier, xyzOutCarrier, altitudeRange);\r\n\r\n }\r\n\r\n /** Return an array containing\r\n * * All points that are exactly on the plane.\r\n * * Crossing points between adjacent points that are (strictly) on opposite sides.\r\n */\r\n public static polygonPlaneCrossings(plane: PlaneAltitudeEvaluator, xyz: Point3d[], crossings: Point3d[]) {\r\n crossings.length = 0;\r\n if (xyz.length >= 2) {\r\n const xyz0 = this._xyz0Work;\r\n xyz0.setFromPoint3d(xyz[xyz.length - 1]);\r\n let a0 = plane.altitude(xyz0);\r\n for (const xyz1 of xyz) {\r\n const a1 = plane.altitude(xyz1);\r\n if (a0 * a1 < 0.0) {\r\n // simple crossing. . .\r\n const f = - a0 / (a1 - a0);\r\n crossings.push(xyz0.interpolate(f, xyz1));\r\n }\r\n if (a1 === 0.0) { // IMPORTANT -- every point is directly tested here\r\n crossings.push(xyz1.clone());\r\n }\r\n xyz0.setFromPoint3d(xyz1);\r\n a0 = a1;\r\n }\r\n }\r\n }\r\n /**\r\n * Clip a polygon, returning the clip result in the same object.\r\n * @param xyz input/output polygon\r\n * @param work scratch object\r\n * @param tolerance tolerance for on-plane decision.\r\n */\r\n public static convexPolygonClipInPlace(plane: PlaneAltitudeEvaluator, xyz: Point3d[], work: Point3d[] | undefined, tolerance: number = Geometry.smallMetricDistance) {\r\n if (work === undefined)\r\n work = [];\r\n work.length = 0;\r\n let numNegative = 0;\r\n const fractionTol = 1.0e-8;\r\n const b = -tolerance;\r\n if (xyz.length > 2) {\r\n let xyz0 = xyz[xyz.length - 1];\r\n let a0 = plane.altitude(xyz0);\r\n // if (a0 >= 0.0)\r\n // work.push_back (xyz0);\r\n for (const xyz1 of xyz) {\r\n const a1 = plane.altitude(xyz1);\r\n if (a1 < 0)\r\n numNegative++;\r\n if (a0 * a1 < 0.0) {\r\n // simple crossing . . .\r\n const f = - a0 / (a1 - a0);\r\n if (f > 1.0 - fractionTol && a1 >= 0.0) {\r\n // the endpoint will be saved -- avoid the duplicate\r\n } else {\r\n work.push(xyz0.interpolate(f, xyz1));\r\n }\r\n }\r\n if (a1 >= b)\r\n work.push(xyz1);\r\n xyz0 = Point3d.createFrom(xyz1);\r\n a0 = a1;\r\n }\r\n }\r\n\r\n if (work.length <= 2) {\r\n xyz.length = 0;\r\n } else if (numNegative > 0) {\r\n xyz.length = 0;\r\n for (const xyzI of work) {\r\n xyz.push(xyzI);\r\n }\r\n work.length = 0;\r\n }\r\n }\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolylineCompressionByEdgeOffset.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/PolylineCompressionByEdgeOffset.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;IACH,OAAO;IAKP,OAAO,CAAC,OAAO,CAAuB;IAEtC,OAAO,CAAC,KAAK,CAAgC;IAE7C,yCAAyC;IACzC,OAAO,CAAC,iBAAiB,CAAS;IAClC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+B;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;;;;;OAMG;IAGH,OAAO,CAAC,+BAA+B;IAcvC;;;;;OAKG;WACW,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE;IAMpG;;;;;;;;OAQG;WACW,8BAA8B,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,6BAA6B,EAAE,cAAc,EAAE,MAAM;IAuBtI;;OAEG;WACW,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM;IA6BzF;;OAEG;WACW,kCAAkC,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM;IAgB7F;;OAEG;WACW,sCAAsC,CAAC,IAAI,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,EAAE,oBAAoB,SAAS;IAiCzI;;;;;OAKG;WACW,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM;CAqB/E"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolylineCompressionByEdgeOffset.js","sourceRoot":"","sources":["../../../src/geometry3d/PolylineCompressionByEdgeOffset.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { Geometry } from \"../Geometry\";\r\nimport { GrowableXYZArray } from \"./GrowableXYZArray\";\r\nimport { IndexedReadWriteXYZCollection, IndexedXYZCollection } from \"./IndexedXYZCollection\";\r\nimport { Point3dArrayCarrier } from \"./Point3dArrayCarrier\";\r\nimport { Point3d, Vector3d } from \"./Point3dVector3d\";\r\n\r\n// cspell:word Puecker\r\n/** context class for Puecker-Douglas polyline compression, viz https://en.wikipedia.org/wiki/Ramer–Douglas–Peucker_algorithm\r\n * @internal\r\n */\r\nexport class PolylineCompressionContext {\r\n /** Caller provides source and tolerance.\r\n * * pointer to source is retained, but contents of source are never modified.\r\n */\r\n private constructor(source: IndexedXYZCollection, dest: IndexedReadWriteXYZCollection, tolerance: number) {\r\n this._toleranceSquared = tolerance * tolerance;\r\n this._source = source;\r\n this._dest = dest;\r\n }\r\n private _source: IndexedXYZCollection;\r\n\r\n private _dest: IndexedReadWriteXYZCollection;\r\n\r\n /** Squared tolerance for equal point. */\r\n private _toleranceSquared: number;\r\n /** push (clone of) the point at index i from the source to the growing result.\r\n * * index is adjusted cyclically to source index range by modulo.\r\n */\r\n private acceptPointByIndex(i: number) {\r\n const point = this._source.getPoint3dAtCheckedPointIndex(this._source.cyclicIndex(i));\r\n if (point)\r\n this._dest.push(point);\r\n }\r\n /** work data used by find max deviation */\r\n private static _vector01: Vector3d = Vector3d.create();\r\n private static _vectorQ: Vector3d = Vector3d.create();\r\n /**\r\n * Return index of max magnitude of cross product of vectors (index to index+1) and (index to index+2)\r\n * * Return undefined if unable to find a nonzero cross product.\r\n * @param i0 first cross product central index.\r\n * @param i1 last cross product central index.\r\n */\r\n private indexOfMaxCrossProduct(index0: number, index1: number): number | undefined {\r\n let qMax = 0.0;\r\n let q;\r\n let indexMax: number | undefined;\r\n for (let index = index0; index <= index1; index++) {\r\n const iA = this._source.cyclicIndex(index);\r\n const iB = this._source.cyclicIndex(index + 1);\r\n const iC = this._source.cyclicIndex(index + 2);\r\n this._source.crossProductIndexIndexIndex(iA, iB, iC, PolylineCompressionContext._vectorQ);\r\n q = PolylineCompressionContext._vectorQ.magnitudeSquared();\r\n if (q > qMax) {\r\n qMax = q;\r\n indexMax = index;\r\n }\r\n }\r\n return indexMax;\r\n }\r\n\r\n /**\r\n * Return interior index where max deviation in excess of tolerance occurs.\r\n * @param i0 first index of interval\r\n * @param i1 INCLUSIVE final index\r\n */\r\n private indexOfMaxDeviation(index0: number, index1: number): number | undefined {\r\n const i0 = this._source.cyclicIndex(index0);\r\n const i1 = this._source.cyclicIndex(index1);\r\n let maxDeviation = this._toleranceSquared;\r\n let maxDeviationIndex;\r\n let numerator;\r\n let distanceSquared;\r\n let s;\r\n let i;\r\n this._source.vectorIndexIndex(i0, i1, PolylineCompressionContext._vector01)!;\r\n const denominator = PolylineCompressionContext._vector01.magnitudeSquared();\r\n for (let index = index0 + 1; index < index1; index++) {\r\n i = this._source.cyclicIndex(index);\r\n this._source.vectorIndexIndex(i0, i, PolylineCompressionContext._vectorQ);\r\n numerator = PolylineCompressionContext._vector01.dotProduct(PolylineCompressionContext._vectorQ);\r\n if (numerator <= 0) {\r\n distanceSquared = PolylineCompressionContext._vectorQ.magnitudeSquared();\r\n } else if (numerator > denominator) {\r\n this._source.vectorIndexIndex(i1, i, PolylineCompressionContext._vectorQ);\r\n distanceSquared = PolylineCompressionContext._vectorQ.magnitudeSquared();\r\n } else {\r\n s = numerator / denominator;\r\n distanceSquared = PolylineCompressionContext._vectorQ.magnitudeSquared() - denominator * s * s;\r\n }\r\n if (distanceSquared > maxDeviation) {\r\n maxDeviation = distanceSquared;\r\n maxDeviationIndex = index;\r\n }\r\n }\r\n return maxDeviationIndex;\r\n }\r\n /**\r\n *\r\n * @param i0 first active point index\r\n * @param i1 last active point index (INCLUSIVE -- not \"one beyond\")\r\n * @param chordTolerance\r\n * @param result\r\n */\r\n // ASSUME index i0 is already saved.\r\n // ASSUME point i\r\n private recursiveCompressByChordErrorGo(i0: number, i1: number) {\r\n if (i1 === i0 + 1) {\r\n this.acceptPointByIndex(i1);\r\n return;\r\n }\r\n const distantPointIndex = this.indexOfMaxDeviation(i0, i1);\r\n if (distantPointIndex === undefined) {\r\n this.acceptPointByIndex(i1); // which compresses out some points.\r\n } else {\r\n this.recursiveCompressByChordErrorGo(i0, distantPointIndex);\r\n this.recursiveCompressByChordErrorGo(distantPointIndex, i1);\r\n }\r\n }\r\n // cspell:word Peucker\r\n /**\r\n * Return a point array with a subset of the input points.\r\n * * This is a global analysis (Douglas-Peucker)\r\n * @param source input points.\r\n * @param chordTolerance Points less than this distance from a retained edge may be ignored.\r\n */\r\n public static compressPoint3dArrayByChordError(source: Point3d[], chordTolerance: number): Point3d[] {\r\n const source1 = new Point3dArrayCarrier(source);\r\n const dest1 = new Point3dArrayCarrier([]);\r\n this.compressCollectionByChordError(source1, dest1, chordTolerance);\r\n return dest1.data;\r\n }\r\n /**\r\n * * Return a polyline with a subset of the input points.\r\n * * This is a global analysis (Douglas-Peucker)\r\n * * Global search for vertices that are close to edges between widely separated neighbors.\r\n * * Recurses to smaller subsets.\r\n * @param source input points\r\n * @param dest output points. Must be different from source.\r\n * @param chordTolerance Points less than this distance from a retained edge may be ignored.\r\n */\r\n public static compressCollectionByChordError(source: IndexedXYZCollection, dest: IndexedReadWriteXYZCollection, chordTolerance: number) {\r\n dest.clear();\r\n const n = source.length;\r\n if (n === 1) {\r\n dest.push(source.getPoint3dAtCheckedPointIndex(0)!);\r\n return;\r\n }\r\n const context = new PolylineCompressionContext(source, dest, chordTolerance);\r\n // Do compression on inclusive interval from indexA to indexB, with indices interpreted cyclically if closed\r\n let indexA = 0;\r\n let indexB = n - 1;\r\n if (n > 2 && source.distanceIndexIndex(0, n - 1)! <= chordTolerance) {\r\n // cyclic data. It is possible that the wrap point itself has to be seen as an internal point.\r\n // do the search from point index where there is a large triangle . ..\r\n const maxCrossProductIndex = context.indexOfMaxCrossProduct(0, n - 1);\r\n if (maxCrossProductIndex !== undefined) {\r\n indexA = maxCrossProductIndex + 1;\r\n indexB = indexA + n;\r\n }\r\n }\r\n context.acceptPointByIndex(indexA);\r\n context.recursiveCompressByChordErrorGo(indexA, indexB);\r\n }\r\n /** Copy points from source to dest, omitting those too close to predecessor.\r\n * * First and last points are always preserved.\r\n */\r\n public static compressInPlaceByShortEdgeLength(data: GrowableXYZArray, edgeLength: number) {\r\n const n = data.length;\r\n if (n < 2)\r\n return;\r\n let lastAcceptedIndex = 0;\r\n // back up from final point ..\r\n let indexB = n - 1;\r\n while (indexB > 0 && data.distanceIndexIndex(indexB - 1, n - 1)! < edgeLength)\r\n indexB--;\r\n if (indexB === 0) {\r\n // Theres only one point there.\r\n data.length = 1;\r\n return;\r\n }\r\n // we want the exact bits of the final point even if others were nearby ..\r\n if (indexB < n - 1)\r\n data.moveIndexToIndex(n - 1, indexB);\r\n let candidateIndex = lastAcceptedIndex + 1;\r\n while (candidateIndex <= indexB) {\r\n const d = data.distanceIndexIndex(lastAcceptedIndex, candidateIndex)!;\r\n if (d >= edgeLength) {\r\n data.moveIndexToIndex(candidateIndex, lastAcceptedIndex + 1);\r\n lastAcceptedIndex++;\r\n }\r\n candidateIndex++;\r\n }\r\n data.length = lastAcceptedIndex + 1;\r\n }\r\n\r\n /** Copy points from source to dest, omitting those too close to predecessor.\r\n * * First and last points are always preserved.\r\n */\r\n public static compressInPlaceBySmallTriangleArea(data: GrowableXYZArray, triangleArea: number) {\r\n const n = data.length;\r\n if (n < 3)\r\n return;\r\n let lastAcceptedIndex = 0;\r\n const cross = Vector3d.create();\r\n for (let i1 = 1; i1 + 1 < n; i1++) {\r\n data.crossProductIndexIndexIndex(lastAcceptedIndex, i1, i1 + 1, cross);\r\n if (0.5 * cross.magnitude() > triangleArea) {\r\n data.moveIndexToIndex(i1, ++lastAcceptedIndex);\r\n }\r\n }\r\n data.moveIndexToIndex(n - 1, ++lastAcceptedIndex);\r\n data.length = lastAcceptedIndex + 1;\r\n }\r\n\r\n /** Copy points from source to dest, omitting those too close to edge between neighbors.\r\n * * First and last points are always preserved.\r\n */\r\n public static compressInPlaceByPerpendicularDistance(data: GrowableXYZArray, perpendicularDistance: number, maxExtensionFraction = 1.0001) {\r\n const n = data.length;\r\n if (n < 3)\r\n return;\r\n let lastAcceptedIndex = 0;\r\n const vector01 = PolylineCompressionContext._vector01;\r\n const vectorQ = PolylineCompressionContext._vectorQ;\r\n let distanceSquared;\r\n const perpendicularDistanceSquared = perpendicularDistance * perpendicularDistance;\r\n let denominator;\r\n let i1 = 1;\r\n for (; i1 + 1 < n; i1++) {\r\n data.vectorIndexIndex(lastAcceptedIndex, i1 + 1, vector01);\r\n data.vectorIndexIndex(lastAcceptedIndex, i1, vectorQ);\r\n denominator = vector01.magnitudeSquared();\r\n const s = Geometry.conditionalDivideFraction(vectorQ.dotProduct(vector01), denominator);\r\n if (s !== undefined) {\r\n if (s >= 0.0 && s <= maxExtensionFraction) {\r\n distanceSquared = PolylineCompressionContext._vectorQ.magnitudeSquared() - denominator * s * s;\r\n if (distanceSquared <= perpendicularDistanceSquared) {\r\n // force accept of point i1+1 .\r\n data.moveIndexToIndex(i1 + 1, ++lastAcceptedIndex);\r\n i1 = i1 + 1;\r\n continue;\r\n }\r\n }\r\n }\r\n data.moveIndexToIndex(i1, ++lastAcceptedIndex);\r\n }\r\n if (i1 < n)\r\n data.moveIndexToIndex(i1, ++lastAcceptedIndex);\r\n data.length = lastAcceptedIndex + 1;\r\n }\r\n /**\r\n * IF the first and last points are close AND first and last segments are colinear, remove first and last points. Prior second to last becomes replicated start and end.\r\n * * Expected to be called \"last\" after other compressions, so points \"next to\" shared first and last are good to keep.\r\n * @param points\r\n * @param perpendicularDistance\r\n */\r\n public static compressColinearWrapInPlace(points: Point3d[], tolerance: number) {\r\n const lastIndex = points.length - 1;\r\n if (lastIndex >= 3 && points[0].distance(points[lastIndex]) < tolerance) {\r\n // indices of 3 points potentially colinear.\r\n const indexA = lastIndex - 1;\r\n const indexB = 0;\r\n const indexC = 1;\r\n const vectorU = Vector3d.createStartEnd(points[indexA], points[indexC]);\r\n const vectorV = Vector3d.createStartEnd(points[indexA], points[indexB]);\r\n const uDotU = vectorU.dotProduct(vectorU);\r\n const uDotV = vectorU.dotProduct(vectorV);\r\n const fraction = Geometry.conditionalDivideFraction(uDotV, uDotU);\r\n if (fraction !== undefined && fraction > 0.0 && fraction < 1.0) {\r\n const h2 = vectorV.magnitudeSquared() - fraction * fraction * uDotU;\r\n if (Math.sqrt(Math.abs(h2)) < tolerance) {\r\n points[0] = points[indexA];\r\n points.pop();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolylineOps.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/PolylineOps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC;;;GAGG;AACH,qBAAa,WAAW;IACtB;;;OAGG;WACW,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO;IAOzD;;;;;;OAMG;WACW,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE;IAGxF;;;;;OAKG;WACW,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,EAAE;IAKrF;;;;;OAKG;WACW,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,EAAE;IAM3F;;;;;;;OAOG;WACW,+BAA+B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,GAAG,OAAO,EAAE;IAYrH,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAOjD;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiCvC;;;SAGK;WACY,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,GAAE,OAAe,EAAE,SAAS,GAAE,MAAqC,GAAG,OAAO,EAAE;CAoCzI"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolylineOps.js","sourceRoot":"","sources":["../../../src/geometry3d/PolylineOps.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\n\r\nimport { Geometry } from \"../Geometry\";\r\nimport { GrowableXYZArray } from \"./GrowableXYZArray\";\r\nimport { Point3d } from \"./Point3dVector3d\";\r\nimport { PolylineCompressionContext } from \"./PolylineCompressionByEdgeOffset\";\r\nimport { Range1d } from \"./Range\";\r\n\r\n// cspell:word Puecker\r\n/**\r\n * PolylineOps is a collection of static methods operating on polylines.\r\n * @public\r\n */\r\nexport class PolylineOps {\r\n /**\r\n * Return a Range1d with the shortest and longest edge lengths of the polyline.\r\n * @param points points to examine.\r\n */\r\n public static edgeLengthRange(points: Point3d[]): Range1d {\r\n const range = Range1d.createNull();\r\n for (let i = 1; i < points.length; i++) {\r\n range.extendX(points[i - 1].distance(points[i]));\r\n }\r\n return range;\r\n }\r\n /**\r\n * Return a simplified subset of given points.\r\n * * Points are removed by the Douglas-Puecker algorithm, viz https://en.wikipedia.org/wiki/Ramer–Douglas–Peucker_algorithm\r\n * * This is a global search, with multiple passes over the data.\r\n * @param source\r\n * @param chordTolerance\r\n */\r\n public static compressByChordError(source: Point3d[], chordTolerance: number): Point3d[] {\r\n return PolylineCompressionContext.compressPoint3dArrayByChordError(source, chordTolerance);\r\n }\r\n /**\r\n * Return a simplified subset of given points, omitting points if very close to their neighbors.\r\n * * This is a local search, with a single pass over the data.\r\n * @param source input points\r\n * @param maxEdgeLength\r\n */\r\n public static compressShortEdges(source: Point3d[], maxEdgeLength: number): Point3d[] {\r\n const dest = GrowableXYZArray.create(source);\r\n PolylineCompressionContext.compressInPlaceByShortEdgeLength(dest, maxEdgeLength);\r\n return dest.getPoint3dArray();\r\n }\r\n /**\r\n * Return a simplified subset of given points, omitting points of the triangle with adjacent points is small.\r\n * * This is a local search, with a single pass over the data.\r\n * @param source input points\r\n * @param maxEdgeLength\r\n */\r\n public static compressSmallTriangles(source: Point3d[], maxTriangleArea: number): Point3d[] {\r\n const dest = GrowableXYZArray.create(source);\r\n PolylineCompressionContext.compressInPlaceBySmallTriangleArea(dest, maxTriangleArea);\r\n return dest.getPoint3dArray();\r\n }\r\n\r\n /**\r\n * Return a simplified subset of given points, omitting points if close to the edge between neighboring points before and after\r\n * * This is a local search, with a single pass over the data for each pass.\r\n * @param source input points\r\n * @param maxDistance omit points if this close to edge between points before and after\r\n * @param numPass max number of times to run the filter. numPass=2 is observed to behave well.\r\n *\r\n */\r\n public static compressByPerpendicularDistance(source: Point3d[], maxDistance: number, numPass: number = 2): Point3d[] {\r\n const dest = GrowableXYZArray.create(source);\r\n let num0 = dest.length;\r\n for (let pass = 0; pass < numPass; pass++) {\r\n PolylineCompressionContext.compressInPlaceByPerpendicularDistance(dest, maxDistance);\r\n const num1 = dest.length;\r\n if (num1 === num0)\r\n break;\r\n num0 = num1;\r\n }\r\n return dest.getPoint3dArray();\r\n }\r\n private static squaredDistanceToInterpolatedPoint(pointQ: Point3d, point0: Point3d, fraction: number, point1: Point3d): number {\r\n const g = 1.0 - fraction;\r\n const dx = pointQ.x - (g * point0.x + fraction * point1.x);\r\n const dy = pointQ.y - (g * point0.y + fraction * point1.y);\r\n const dz = pointQ.z - (g * point0.z + fraction * point1.z);\r\n return dx * dx + dy * dy + dz * dz;\r\n }\r\n /**\r\n * test if either\r\n * * points[indexA] matches pointQ\r\n * * line from points[indexA] to points[indexB] overlaps points[indexA] to pointQ\r\n * @param points\r\n * @param pointQ\r\n * @param tolerance\r\n */\r\n private static isDanglerConfiguration(points: Point3d[], indexA: number, indexB: number,pointQ: Point3d, squaredDistanceTolerance: number): boolean {\r\n if (indexA < 0 || indexA >= points.length)\r\n return false;\r\n const pointA = points[indexA];\r\n // simple point match ...\r\n const d2Q = pointA.distanceSquared(pointQ);\r\n if (d2Q <= squaredDistanceTolerance)\r\n return true;\r\n if (indexB < 0 || indexB >= points.length)\r\n return false;\r\n const pointB = points[indexB];\r\n // The expensive test .. does newPoint double back to an interior or extrapolation of the final dest segment?\r\n //\r\n // or pointQ\r\n const dot = pointA.dotVectorsToTargets(pointB, pointQ);\r\n // simple case -- pointB..pointA..pointQ continues forward\r\n if (dot <= 0.0)\r\n return false;\r\n const d2B = pointA.distanceSquared(pointB);\r\n let distanceSquared;\r\n if (d2Q >= d2B) {\r\n // pointB----------------------------------->>>>>>> pointA\r\n // pointQ<<<<---------------------------------------------------------\r\n const fraction = dot / d2Q; // safe to divide because of earlier d2Q test.\r\n distanceSquared = this.squaredDistanceToInterpolatedPoint(pointB, pointA, fraction, pointQ);\r\n } else {\r\n // pointB----------------------------------->>>>>>> pointA\r\n // pointQ<<<<----------------------\r\n const fraction = dot / d2B;\r\n distanceSquared = this.squaredDistanceToInterpolatedPoint(pointQ, pointA, fraction, pointB);\r\n }\r\n return distanceSquared < squaredDistanceTolerance;\r\n }\r\n/**\r\n * Return a simplified subset of given points, omitting points on \"danglers\" that depart and return on a single path.\r\n * @param source input points\r\n */\r\n public static compressDanglers(source: Point3d[], closed: boolean = false, tolerance: number = Geometry.smallMetricDistance): Point3d[] {\r\n let n = source.length;\r\n const squaredDistanceTolerance = tolerance * tolerance;\r\n if (closed)\r\n while (n > 1 && source[n - 1].distanceSquared(source[0]) <= squaredDistanceTolerance)\r\n n--;\r\n const dest = [];\r\n dest.push(source[0].clone());\r\n for (let i = 1; i < n; i++){\r\n const newPoint = source[i];\r\n while (this.isDanglerConfiguration(dest, dest.length - 1, dest.length - 2, newPoint, squaredDistanceTolerance))\r\n dest.pop();\r\n dest.push(newPoint.clone());\r\n }\r\n if (closed) {\r\n // No purge moving backwards. Last point\r\n let leftIndex = 0;\r\n let rightIndex = dest.length - 1;\r\n while (rightIndex > leftIndex + 2) {\r\n if (this.isDanglerConfiguration(dest, leftIndex, leftIndex + 1, dest[rightIndex], squaredDistanceTolerance)) {\r\n leftIndex++;\r\n } else if (this.isDanglerConfiguration(dest, rightIndex, rightIndex - 1, dest[leftIndex], squaredDistanceTolerance)) {\r\n rightIndex--;\r\n } else {\r\n break;\r\n }\r\n }\r\n if (rightIndex + 1 < dest.length)\r\n dest.length = rightIndex + 1;\r\n if (leftIndex > 0) {\r\n dest.splice(0, leftIndex);\r\n }\r\n }\r\n return dest;\r\n }\r\n\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Range.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|