@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LineString3d.js","sourceRoot":"","sources":["../../src/curve/LineString3d.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 Curve\r\n */\r\nimport { Clipper } from \"../clipping/ClipUtils\";\r\nimport { AxisOrder, BeJSONFunctions, Geometry, PlaneAltitudeEvaluator } from \"../Geometry\";\r\nimport { Angle } from \"../geometry3d/Angle\";\r\nimport { GeometryHandler, IStrokeHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { GrowableFloat64Array } from \"../geometry3d/GrowableFloat64Array\";\r\nimport { GrowableXYArray } from \"../geometry3d/GrowableXYArray\";\r\nimport { GrowableXYZArray } from \"../geometry3d/GrowableXYZArray\";\r\nimport { Matrix3d } from \"../geometry3d/Matrix3d\";\r\nimport { Plane3dByOriginAndUnitNormal } from \"../geometry3d/Plane3dByOriginAndUnitNormal\";\r\nimport { Plane3dByOriginAndVectors } from \"../geometry3d/Plane3dByOriginAndVectors\";\r\nimport { Point3d, Vector3d } from \"../geometry3d/Point3dVector3d\";\r\nimport { PointStreamGrowableXYZArrayCollector, VariantPointDataStream } from \"../geometry3d/PointStreaming\";\r\nimport { Range3d } from \"../geometry3d/Range\";\r\nimport { Ray3d } from \"../geometry3d/Ray3d\";\r\nimport { Transform } from \"../geometry3d/Transform\";\r\nimport { XAndY } from \"../geometry3d/XYZProps\";\r\nimport { MultiLineStringDataVariant } from \"../topology/Triangulation\";\r\nimport { CurveExtendOptions, VariantCurveExtendParameter } from \"./CurveExtendMode\";\r\nimport { CurveIntervalRole, CurveLocationDetail, CurveSearchStatus } from \"./CurveLocationDetail\";\r\nimport { AnnounceNumberNumberCurvePrimitive, CurvePrimitive } from \"./CurvePrimitive\";\r\nimport { GeometryQuery } from \"./GeometryQuery\";\r\nimport { LineSegment3d } from \"./LineSegment3d\";\r\nimport { StrokeCountMap } from \"./Query/StrokeCountMap\";\r\nimport { StrokeOptions } from \"./StrokeOptions\";\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention, no-empty */\r\n\r\n/* Starting with baseIndex and moving index by stepDirection:\r\nIf the vector from baseIndex to baseIndex +1 crossed with vectorA can be normalized, accumulate it (scaled) to normal.\r\nReturn when successful.\r\n(Do nothing if everything is parallel through limits of the array)\r\n*/\r\nfunction accumulateGoodUnitPerpendicular(\r\n points: GrowableXYZArray,\r\n vectorA: Vector3d,\r\n baseIndex: number,\r\n stepDirection: number,\r\n weight: number,\r\n normal: Vector3d,\r\n workVector: Vector3d): boolean {\r\n const n = points.length;\r\n if (stepDirection > 0) {\r\n for (let i = baseIndex; i + 1 < n; i++) {\r\n points.vectorIndexIndex(i, i + 1, workVector);\r\n vectorA.crossProduct(workVector, workVector);\r\n if (workVector.normalizeInPlace()) {\r\n normal.addScaledInPlace(workVector, weight);\r\n return true;\r\n }\r\n }\r\n } else {\r\n if (baseIndex + 1 >= n)\r\n baseIndex = n - 2;\r\n for (let i = baseIndex; i >= 0; i--) {\r\n points.vectorIndexIndex(i, i + 1, workVector);\r\n workVector.crossProduct(vectorA, workVector);\r\n if (workVector.normalizeInPlace()) {\r\n normal.addScaledInPlace(workVector, weight);\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * * A LineString3d (sometimes called a PolyLine) is a sequence of xyz coordinates that are to be joined by line segments.\r\n * * The point coordinates are stored in a GrowableXYZArray, not as full point objects\r\n * * The parameterization of \"fraction along\" is\r\n * * In a linestring with `N` segments (i.e. `N+1` points), each segment (regardless of physical length) occupies the same fraction (1/N) of the 0-to-1 fraction space.\r\n * * Within segment `i`, the fraction interval `i/N` to `(i+1)/N` is mapped proportionally to the segment\r\n * * Note that this `fraction` is therefore NOT fraction of true distance along.\r\n * * Use `moveSignedDistanceFromFraction` to do true-length evaluations.\r\n * @public\r\n */\r\nexport class LineString3d extends CurvePrimitive implements BeJSONFunctions {\r\n /** String name for schema properties */\r\n public readonly curvePrimitiveType = \"lineString\";\r\n\r\n private static _workPointA = Point3d.create();\r\n private static _workPointB = Point3d.create();\r\n private static _workPointC = Point3d.create();\r\n private static _workRay = Ray3d.createXAxis();\r\n /** test if `other` is an instance of `LineString3d` */\r\n public isSameGeometryClass(other: GeometryQuery): boolean { return other instanceof LineString3d; }\r\n /**\r\n * A LineString3d extends along its first and final segments.\r\n */\r\n public override get isExtensibleFractionSpace(): boolean { return true; }\r\n\r\n private _points: GrowableXYZArray;\r\n private _fractions?: GrowableFloat64Array;\r\n private _uvParams?: GrowableXYArray;\r\n private _derivatives?: GrowableXYZArray;\r\n private _surfaceNormals?: GrowableXYZArray;\r\n\r\n private _pointIndices?: GrowableFloat64Array;\r\n private _uvIndices?: GrowableFloat64Array;\r\n private _normalIndices?: GrowableFloat64Array;\r\n\r\n /** return the points array (cloned). */\r\n public get points(): Point3d[] { return this._points.getPoint3dArray(); }\r\n /** Return (reference to) point data in packed GrowableXYZArray. */\r\n public get packedPoints(): GrowableXYZArray { return this._points; }\r\n /** Return array of fraction parameters.\r\n * * These Are only present during certain constructions such as faceting.\r\n * * When present, these fractions are fractions of some other curve being stroked, and are NOT related to the linestring fraction parameters.\r\n */\r\n public get fractions(): GrowableFloat64Array | undefined { return this._fractions; }\r\n /** Return the (optional) array of derivatives. These Are only present during certain constructions such as faceting. */\r\n public get packedDerivatives(): GrowableXYZArray | undefined { return this._derivatives; }\r\n /** Return the (optional) array of uv params. These Are only present during certain constructions such as faceting. */\r\n public get packedUVParams(): GrowableXYArray | undefined { return this._uvParams; }\r\n /** Return the (optional) array of surface normals. These Are only present during certain constructions such as faceting. */\r\n public get packedSurfaceNormals(): GrowableXYZArray | undefined { return this._surfaceNormals; }\r\n /** Return the (optional) array of normal indices. These Are only present during certain constructions such as faceting. */\r\n public get normalIndices(): GrowableFloat64Array | undefined { return this._normalIndices; }\r\n /** Return the (optional) array of param indices. These Are only present during certain constructions such as faceting. */\r\n public get paramIndices(): GrowableFloat64Array | undefined { return this._uvIndices; }\r\n /** Return the (optional) array of point indices. These Are only present during certain constructions such as faceting. */\r\n public get pointIndices(): GrowableFloat64Array | undefined { return this._pointIndices; }\r\n\r\n private constructor(points?: GrowableXYZArray) {\r\n super();\r\n if (points)\r\n this._points = points;\r\n else\r\n this._points = new GrowableXYZArray();\r\n }\r\n /** Clone this linestring and apply the transform to the clone points. */\r\n public cloneTransformed(transform: Transform): CurvePrimitive { // we know tryTransformInPlace succeeds.\r\n const c = this.clone();\r\n c.tryTransformInPlace(transform);\r\n return c;\r\n }\r\n /** Create a linestring, using flex length arg list and any typical combination of points such as\r\n * Point3d, Point2d, `[1,2,3]', array of any of those, or GrowableXYZArray\r\n */\r\n public static create(...points: any[]): LineString3d {\r\n const result = new LineString3d();\r\n result.addPoints(points);\r\n return result;\r\n }\r\n /** Create a linestring, capturing the given GrowableXYZArray as the points.\r\n * Point3d, Point2d, `[1,2,3]', array of any of those, or GrowableXYZArray\r\n */\r\n public static createCapture(points: GrowableXYZArray): LineString3d {\r\n return new LineString3d(points);\r\n\r\n }\r\n\r\n /** Create a linestring from `XAndY` points, with a specified z applied to all. */\r\n public static createXY(points: XAndY[], z: number, enforceClosure: boolean = false): LineString3d {\r\n const result = new LineString3d();\r\n const xyz = result._points;\r\n for (const xy of points) {\r\n xyz.pushXYZ(xy.x, xy.y, z);\r\n }\r\n if (enforceClosure && points.length > 1) {\r\n const distance = xyz.distanceIndexIndex(0, xyz.length - 1);\r\n if (distance !== undefined && distance !== 0.0) {\r\n if (Geometry.isSameCoordinate(0, distance)) {\r\n xyz.pop(); // nonzero but small distance -- to be replaced by point 0 exactly.\r\n const xyzA = xyz.front();\r\n xyz.push(xyzA!);\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n /** Add points to the linestring.\r\n * Valid inputs are:\r\n * * a Point2d\r\n * * a point3d\r\n * * An array of 2 doubles\r\n * * An array of 3 doubles\r\n * * A GrowableXYZArray\r\n * * An array of any of the above\r\n */\r\n public addPoints(...points: any[]) {\r\n this._points.pushFrom(points);\r\n }\r\n /** Add points accessed by index in a GrowableXYZArray, with a specified index step. */\r\n public addSteppedPoints(source: GrowableXYZArray, pointIndex0: number, step: number, numAdd: number) {\r\n this._points.addSteppedPoints(source, pointIndex0, step, numAdd);\r\n }\r\n\r\n /**\r\n * Add a point to the linestring.\r\n * @param point\r\n */\r\n public addPoint(point: Point3d) {\r\n this._points.push(point);\r\n }\r\n /**\r\n * Add a point to the linestring.\r\n * @param point\r\n */\r\n public addPointXYZ(x: number, y: number, z: number = 0) {\r\n this._points.pushXYZ(x, y, z);\r\n }\r\n /**\r\n * Append a fraction to the fractions array.\r\n * @param fraction\r\n */\r\n public addFraction(fraction: number) {\r\n if (!this._fractions)\r\n this._fractions = new GrowableFloat64Array();\r\n this._fractions.push(fraction);\r\n }\r\n\r\n /** Ensure that the fraction array exists with no fractions but at least the capacity of the point array. */\r\n public ensureEmptyFractions(): GrowableFloat64Array {\r\n const n = this.numPoints();\r\n if (!this._fractions) {\r\n this._fractions = new GrowableFloat64Array(n);\r\n return this._fractions;\r\n }\r\n this._fractions.clear();\r\n this._fractions.ensureCapacity(n);\r\n return this._fractions;\r\n }\r\n /** Ensure that the parameter array exists with no points but at least the capacity of the point array. */\r\n public ensureEmptyUVParams(): GrowableXYArray {\r\n const n = this.numPoints();\r\n if (!this._uvParams) {\r\n this._uvParams = new GrowableXYArray(n);\r\n return this._uvParams;\r\n }\r\n this._uvParams.clear();\r\n this._uvParams.ensureCapacity(n);\r\n return this._uvParams;\r\n }\r\n /** Ensure that the surfaceNormals array exists with no points but at least the capacity of the point array. */\r\n public ensureEmptySurfaceNormals(): GrowableXYZArray {\r\n const n = this.numPoints();\r\n if (!this._surfaceNormals) {\r\n this._surfaceNormals = new GrowableXYZArray(n);\r\n return this._surfaceNormals;\r\n }\r\n this._surfaceNormals.clear();\r\n this._surfaceNormals.ensureCapacity(n);\r\n return this._surfaceNormals;\r\n }\r\n\r\n /** Ensure that the surfaceNormals array exists with no points but at least the capacity of the point array. */\r\n public ensureEmptyDerivatives(): GrowableXYZArray {\r\n const n = this.numPoints();\r\n if (!this._derivatives) {\r\n this._derivatives = new GrowableXYZArray(n);\r\n return this._derivatives;\r\n }\r\n this._derivatives.clear();\r\n this._derivatives.ensureCapacity(n);\r\n return this._derivatives;\r\n }\r\n\r\n /** Ensure that the surfaceNormals array exists with no points but at least the capacity of the point array. */\r\n public ensureEmptyNormalIndices(): GrowableFloat64Array {\r\n const n = this.numPoints();\r\n if (!this._normalIndices) {\r\n this._normalIndices = new GrowableFloat64Array(n);\r\n return this._normalIndices;\r\n }\r\n this._normalIndices.clear();\r\n this._normalIndices.ensureCapacity(n);\r\n return this._normalIndices;\r\n }\r\n\r\n /** Ensure that the surfaceNormals array exists with no points but at least the capacity of the point array. */\r\n public ensureEmptyUVIndices(): GrowableFloat64Array {\r\n const n = this.numPoints();\r\n if (!this._uvIndices) {\r\n this._uvIndices = new GrowableFloat64Array(n);\r\n return this._uvIndices;\r\n }\r\n this._uvIndices.clear();\r\n this._uvIndices.ensureCapacity(n);\r\n return this._uvIndices;\r\n }\r\n\r\n /** Ensure that the surfaceNormals array exists with no points but at least the capacity of the point array. */\r\n public ensureEmptyPointIndices(): GrowableFloat64Array {\r\n const n = this.numPoints();\r\n if (!this._pointIndices) {\r\n this._pointIndices = new GrowableFloat64Array(n);\r\n return this._pointIndices;\r\n }\r\n this._pointIndices.clear();\r\n this._pointIndices.ensureCapacity(n);\r\n return this._pointIndices;\r\n }\r\n\r\n /**\r\n * Append a uv coordinate to the uvParams array\r\n * @param uv\r\n */\r\n public addUVParam(uvParam: XAndY) {\r\n if (!this._uvParams)\r\n this._uvParams = new GrowableXYArray();\r\n this._uvParams.pushXY(uvParam.x, uvParam.y);\r\n }\r\n\r\n /**\r\n * Append a uv coordinate to the uvParams array\r\n * @param uv\r\n */\r\n public addUVParamAsUV(u: number, v: number) {\r\n if (!this._uvParams)\r\n this._uvParams = new GrowableXYArray();\r\n this._uvParams.pushXY(u, v);\r\n }\r\n\r\n /**\r\n * Append a derivative to the derivative array\r\n * @param vector\r\n */\r\n public addDerivative(vector: Vector3d) {\r\n if (!this._derivatives)\r\n this._derivatives = new GrowableXYZArray();\r\n this._derivatives.push(vector);\r\n }\r\n\r\n /**\r\n * Append a surface normal to the surface normal array.\r\n * @param vector\r\n */\r\n public addSurfaceNormal(vector: Vector3d) {\r\n if (!this._surfaceNormals)\r\n this._surfaceNormals = new GrowableXYZArray();\r\n this._surfaceNormals.push(vector);\r\n }\r\n\r\n /**\r\n * If the linestring is not already closed, add a closure point.\r\n */\r\n public addClosurePoint() {\r\n const distance = this._points.distanceIndexIndex(0, this._points.length - 1);\r\n if (distance !== undefined && !Geometry.isSameCoordinate(distance, 0))\r\n this._points.pushWrap(1);\r\n }\r\n /** Eliminate (but do not return!!) the final point of the linestring */\r\n public popPoint() {\r\n this._points.pop();\r\n }\r\n /** Compute `uvParams` array as (xy parts of) a linear transform of the xyz coordinates */\r\n public computeUVFromXYZTransform(transform: Transform) {\r\n this._uvParams = GrowableXYArray.createFromGrowableXYZArray(this._points, transform);\r\n }\r\n /** Create the linestring for a rectangle parallel to the xy plane.\r\n * * The z coordinate from `point0` is used for all points.\r\n * * `ax` and `ay` are signed.\r\n * * The point sequence is:\r\n * * Start at `point0`\r\n * * move by (signed !) `ax` in the x direction.\r\n * * move by (signed !) `ay` in the y direction.\r\n * * move by (signed !) negative `ax` in the x direction.\r\n * * move by (signed !) negative `ay` in the y direction.\r\n * * (this returns to `point0`)\r\n */\r\n public static createRectangleXY(point0: Point3d, ax: number, ay: number, closed: boolean = true): LineString3d {\r\n const ls = LineString3d.create();\r\n const x0 = point0.x;\r\n const x1 = point0.x + ax;\r\n const y0 = point0.y;\r\n const y1 = point0.y + ay;\r\n const z = point0.z;\r\n ls.addPointXYZ(x0, y0, z);\r\n ls.addPointXYZ(x1, y0, z);\r\n ls.addPointXYZ(x1, y1, z);\r\n ls.addPointXYZ(x0, y1, z);\r\n if (closed)\r\n ls.addClosurePoint();\r\n return ls;\r\n }\r\n /**\r\n * Create a regular polygon centered\r\n * @param center center of the polygon.\r\n * @param edgeCount number of edges.\r\n * @param radius distance to vertex or edge (see `radiusToVertices`)\r\n * @param radiusToVertices true if polygon is inscribed in circle (radius measured to vertices); false if polygon is outside circle (radius to edges)\r\n */\r\n public static createRegularPolygonXY(center: Point3d, edgeCount: number, radius: number, radiusToVertices: boolean = true): LineString3d {\r\n if (edgeCount < 3)\r\n edgeCount = 3;\r\n const ls = LineString3d.create();\r\n const i0 = radiusToVertices ? 0 : -1; // offset to make first vector (radius,0,0)\r\n const radiansStep = Math.PI / edgeCount;\r\n let c;\r\n let s;\r\n let radians;\r\n if (!radiusToVertices)\r\n radius = radius / Math.cos(radiansStep);\r\n for (let i = 0; i < edgeCount; i++) {\r\n radians = (i0 + 2 * i) * radiansStep;\r\n c = Angle.cleanupTrigValue(Math.cos(radians));\r\n s = Angle.cleanupTrigValue(Math.sin(radians));\r\n ls.addPointXYZ(center.x + radius * c, center.y + radius * s, center.z);\r\n }\r\n ls.addClosurePoint();\r\n return ls;\r\n }\r\n\r\n /**\r\n * Copy coordinate data from another linestring.\r\n * * The copied content is:\r\n * * points\r\n * * derivatives (if present)\r\n * * fractions (if present)\r\n * * surfaceNormals (if present)\r\n * * uvParams (if present)\r\n * @param other\r\n */\r\n public setFrom(other: LineString3d) {\r\n // ugly -- \"clone\" methods are inconsistent about 'reuse' and 'result' parameter . . .\r\n this._points = other._points.clone(this._points);\r\n if (other._derivatives)\r\n this._derivatives = other._derivatives.clone(this._derivatives);\r\n else\r\n this._derivatives = undefined;\r\n if (other._fractions)\r\n this._fractions = other._fractions.clone(false);\r\n else this._fractions = undefined;\r\n if (other._surfaceNormals)\r\n this._surfaceNormals = other._surfaceNormals.clone(this._surfaceNormals);\r\n else\r\n this._surfaceNormals = undefined;\r\n if (other._uvParams)\r\n this._uvParams = other._uvParams.clone();\r\n else\r\n this._uvParams = undefined;\r\n }\r\n /** Create a linestring from an array of points. */\r\n public static createPoints(points: Point3d[]): LineString3d {\r\n const ls = new LineString3d();\r\n let point;\r\n for (point of points)\r\n ls._points.push(point);\r\n return ls;\r\n }\r\n /** Create a linestring, taking points at specified indices from an array of points. */\r\n public static createIndexedPoints(points: Point3d[], index: number[], addClosure: boolean = false): LineString3d {\r\n const ls = new LineString3d();\r\n for (const i of index)\r\n ls._points.push(points[i]); // no clone needed -- we know this reformats to packed array.\r\n if (addClosure && index.length > 1)\r\n ls._points.push(points[index[0]]);\r\n return ls;\r\n }\r\n\r\n /** Create a LineString3d from xyz coordinates packed in a Float64Array */\r\n public static createFloat64Array(xyzData: Float64Array): LineString3d {\r\n const ls = new LineString3d();\r\n for (let i = 0; i + 3 <= xyzData.length; i += 3)\r\n ls._points.push(Point3d.create(xyzData[i], xyzData[i + 1], xyzData[i + 2]));\r\n return ls;\r\n }\r\n /** Return a clone of this linestring. */\r\n public clone(): LineString3d {\r\n const retVal = new LineString3d();\r\n retVal.setFrom(this);\r\n return retVal;\r\n }\r\n /** Set point coordinates from a json array, e.g. `[[1,2,3],[4,5,6] . . .]`\r\n * * The `json` parameter must be an array.\r\n * * Each member `i` of the array is converted to a point with `Point3d.fromJSON(json[i]`)\r\n */\r\n public setFromJSON(json?: any) {\r\n this._points.clear();\r\n if (Array.isArray(json)) {\r\n let xyz;\r\n for (xyz of json)\r\n this._points.push(Point3d.fromJSON(xyz));\r\n }\r\n }\r\n /**\r\n * Convert an LineString3d to a JSON object.\r\n * * The returned object is an array of arrays of x,y,z coordinates, `[[x,y,z],...[x,y,z]]`\r\n */\r\n public toJSON(): any {\r\n const value = [];\r\n let i = 0;\r\n while (this._points.isIndexValid(i)) {\r\n value.push(this._points.getPoint3dAtUncheckedPointIndex(i).toJSON());\r\n i++;\r\n }\r\n return value;\r\n }\r\n /** construct a new linestring.\r\n * * See `LineString3d.setFromJSON ()` for remarks on `json` structure.\r\n */\r\n public static fromJSON(json?: any): LineString3d {\r\n const ls = new LineString3d(); ls.setFromJSON(json); return ls;\r\n }\r\n /**\r\n * Evaluate a point a fractional position along this linestring.\r\n * * See `LineString3d` class comments for description of how fraction relates to the linestring points.\r\n * @param fraction fractional position\r\n * @param result optional result\r\n */\r\n public fractionToPoint(fraction: number, result?: Point3d): Point3d {\r\n const n = this._points.length;\r\n if (n === 0)\r\n return Point3d.createZero();\r\n if (n === 1)\r\n return Point3d.createFrom(this._points.getPoint3dAtUncheckedPointIndex(0), result);\r\n const df = 1.0 / (n - 1);\r\n if (fraction <= df)\r\n return this._points.interpolate(0, fraction / df, 1, result)!;\r\n if (fraction + df >= 1.0)\r\n return this._points.interpolate(n - 1, (1.0 - fraction) / df, n - 2, result)!;\r\n const index0 = Math.floor(fraction / df);\r\n return this._points.interpolate(index0, (fraction - index0 * df) / df, index0 + 1, result)!;\r\n }\r\n\r\n /**\r\n * Evaluate a point a fractional position and derivative with respect to fraction along this linestring.\r\n * * See `LineString3d` class comments for description of how fraction relates to the linestring points.\r\n * @param fraction fractional position\r\n * @param result optional result\r\n */\r\n public fractionToPointAndDerivative(fraction: number, result?: Ray3d): Ray3d {\r\n result = result ? result : Ray3d.createZero();\r\n const n = this._points.length;\r\n if (n <= 1) {\r\n result.direction.setZero();\r\n if (n === 1)\r\n result.origin.setFrom(this._points.getPoint3dAtUncheckedPointIndex(0));\r\n else result.origin.setZero();\r\n return result;\r\n }\r\n const numSegment = n - 1;\r\n const df = 1.0 / numSegment;\r\n if (fraction <= df) {\r\n result = result ? result : Ray3d.createZero();\r\n this._points.interpolate(0, fraction / df, 1, result.origin);\r\n this._points.vectorIndexIndex(0, 1, result.direction);\r\n result.direction.scaleInPlace(1.0 / df);\r\n return result;\r\n }\r\n\r\n if (fraction + df >= 1.0) {\r\n result = result ? result : Ray3d.createZero();\r\n this._points.interpolate(n - 2, 1.0 - (1.0 - fraction) / df, n - 1, result.origin);\r\n this._points.vectorIndexIndex(n - 2, n - 1, result.direction);\r\n result.direction.scaleInPlace(1.0 / df);\r\n return result;\r\n }\r\n\r\n /* true interior point */\r\n result = result ? result : Ray3d.createZero();\r\n const index0 = Math.floor(fraction / df);\r\n const localFraction = (fraction - index0 * df) / df;\r\n this._points.interpolate(index0, localFraction, index0 + 1, result.origin);\r\n this._points.vectorIndexIndex(index0, index0 + 1, result.direction);\r\n result.direction.scaleInPlace(1.0 / df);\r\n return result;\r\n }\r\n\r\n /** Return point and derivative at fraction, with 000 second derivative. */\r\n public fractionToPointAnd2Derivatives(fraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors {\r\n const ray = this.fractionToPointAndDerivative(fraction);\r\n result = Plane3dByOriginAndVectors.createCapture(ray.origin, ray.direction, Vector3d.createZero(), result);\r\n return result;\r\n }\r\n /**\r\n * Convert a segment index and local fraction to a global fraction.\r\n * @param index index of segment being evaluated\r\n * @param localFraction local fraction within that segment\r\n */\r\n public segmentIndexAndLocalFractionToGlobalFraction(index: number, localFraction: number): number {\r\n const numSegment = this._points.length - 1;\r\n if (numSegment < 1)\r\n return 0.0;\r\n return (index + localFraction) / numSegment;\r\n }\r\n /** Return a frenet frame, using nearby points to estimate a plane. */\r\n public override fractionToFrenetFrame(fraction: number, result?: Transform): Transform {\r\n const n = this._points.length;\r\n if (n <= 1) {\r\n if (n === 1)\r\n return Transform.createTranslation(this._points.getPoint3dAtUncheckedPointIndex(0), result);\r\n return Transform.createIdentity(result);\r\n }\r\n\r\n if (n === 2)\r\n return Transform.createRefs(\r\n this._points.interpolate(0, fraction, 1),\r\n Matrix3d.createRigidHeadsUp(this._points.vectorIndexIndex(0, 1)!, AxisOrder.XYZ));\r\n\r\n /** 3 or more points. */\r\n const numSegment = n - 1;\r\n const df = 1.0 / numSegment;\r\n let baseIndex = 0;\r\n let localFraction = 0;\r\n if (fraction <= df) {\r\n localFraction = fraction / df;\r\n baseIndex = 0;\r\n } else if (fraction + df >= 1.0) {\r\n baseIndex = n - 2;\r\n localFraction = 1.0 - (1.0 - fraction) / df;\r\n } else {\r\n baseIndex = Math.floor(fraction / df);\r\n localFraction = fraction * numSegment - baseIndex;\r\n }\r\n\r\n const origin = this._points.interpolate(baseIndex, localFraction, baseIndex + 1)!;\r\n const vectorA = this._points.vectorIndexIndex(baseIndex, baseIndex + 1)!;\r\n // tricky stuff to handle colinear points. But if vectorA is zero it is still a mess . ..\r\n const normal = Vector3d.create();\r\n const workVector = Vector3d.create();\r\n if (baseIndex === 0) { // only look forward\r\n accumulateGoodUnitPerpendicular(this._points, vectorA, baseIndex + 1, 1, 1.0, normal, workVector);\r\n } else if (baseIndex + 2 >= n) { // only look back\r\n accumulateGoodUnitPerpendicular(this._points, vectorA, baseIndex - 1, -1, 1.0, normal, workVector);\r\n } else {\r\n accumulateGoodUnitPerpendicular(this._points, vectorA, baseIndex - 1, -1, (1.0 - localFraction), normal, workVector);\r\n accumulateGoodUnitPerpendicular(this._points, vectorA, baseIndex + 1, 1, (localFraction), normal, workVector);\r\n }\r\n const matrix = Matrix3d.createRigidFromColumns(normal, vectorA, AxisOrder.ZXY);\r\n if (matrix)\r\n return Transform.createOriginAndMatrix(origin, matrix, result);\r\n return Transform.createTranslation(origin, result);\r\n }\r\n /** evaluate the start point of the linestring. */\r\n public override startPoint() {\r\n if (this._points.length === 0)\r\n return Point3d.createZero();\r\n return this._points.getPoint3dAtUncheckedPointIndex(0);\r\n }\r\n /** If i is a valid index, return that point. */\r\n public pointAt(i: number, result?: Point3d): Point3d | undefined {\r\n if (this._points.isIndexValid(i))\r\n return this._points.getPoint3dAtUncheckedPointIndex(i, result);\r\n return undefined;\r\n }\r\n /** If i and j are both valid indices, return the vector from point i to point j\r\n */\r\n public vectorBetween(i: number, j: number, result?: Vector3d): Vector3d | undefined {\r\n return this._points.vectorIndexIndex(i, j, result);\r\n }\r\n /** If i is a valid index, return that stored derivative vector. */\r\n public derivativeAt(i: number, result?: Vector3d): Vector3d | undefined {\r\n if (this._derivatives && this._derivatives.isIndexValid(i))\r\n return this._derivatives.getVector3dAtCheckedVectorIndex(i, result);\r\n return undefined;\r\n }\r\n\r\n /** If i is a valid index, return that stored surfaceNormal vector. */\r\n public surfaceNormalAt(i: number, result?: Vector3d): Vector3d | undefined {\r\n if (this._surfaceNormals && this._surfaceNormals.isIndexValid(i))\r\n return this._surfaceNormals.getVector3dAtCheckedVectorIndex(i, result);\r\n return undefined;\r\n }\r\n /** Return the number of points in this linestring. */\r\n public numPoints(): number { return this._points.length; }\r\n /** evaluate the end point of the linestring. */\r\n public override endPoint() {\r\n if (this._points.length === 0)\r\n return Point3d.createZero();\r\n return this._points.getPoint3dAtUncheckedPointIndex(this._points.length - 1);\r\n }\r\n /** Reverse the points within the linestring. */\r\n public reverseInPlace(): void {\r\n if (this._points.length >= 2) {\r\n this._points.reverseInPlace();\r\n if (this._uvParams)\r\n this._uvParams.reverseInPlace();\r\n }\r\n }\r\n /** Apply `transform` to each point of this linestring. */\r\n public tryTransformInPlace(transform: Transform): boolean {\r\n this._points.multiplyTransformInPlace(transform);\r\n if (this._derivatives)\r\n this._derivatives.multiplyMatrix3dInPlace(transform.matrix);\r\n if (this._surfaceNormals)\r\n this._surfaceNormals.multiplyAndRenormalizeMatrix3dInverseTransposeInPlace(transform.matrix);\r\n return true;\r\n }\r\n\r\n /** Sum the lengths of segments within the linestring */\r\n public override curveLength(): number { return this._points.sumLengths(); }\r\n /** Sum the lengths of segments between fractional positions on a linestring. */\r\n public override curveLengthBetweenFractions(fraction0: number, fraction1: number): number {\r\n const numSegments = this._points.length - 1;\r\n if (fraction1 === fraction0 || numSegments < 1)\r\n return 0.0;\r\n if (fraction1 < fraction0)\r\n return this.curveLengthBetweenFractions(fraction1, fraction0);\r\n const scaledFraction0 = fraction0 * numSegments;\r\n const scaledFraction1 = fraction1 * numSegments;\r\n const index0 = Math.max(1, Math.ceil(scaledFraction0));\r\n const index1 = Math.min(Math.floor(scaledFraction1), numSegments - 1);\r\n const localFraction0 = index0 - scaledFraction0;\r\n const localFraction1 = scaledFraction1 - index1;\r\n if (index0 > index1) {\r\n // the interval is entirely within a single segment\r\n return Math.abs(scaledFraction1 - scaledFraction0) * this._points.distanceIndexIndex(index0 - 1, index0)!;\r\n } else {\r\n // there is leading partial interval, 0 or more complete segments, and a trailing partial interval.\r\n // (either or both partial may be zero length)\r\n let sum = localFraction0 * this._points.distanceIndexIndex(index0 - 1, index0)!\r\n + localFraction1 * (this._points.distanceIndexIndex(index1, index1 + 1))!;\r\n for (let i = index0; i < index1; i++)\r\n sum += this._points.distanceIndexIndex(i, i + 1)!;\r\n return sum;\r\n }\r\n }\r\n /**\r\n * * Implementation of `CurvePrimitive.moveSignedDistanceFromFraction`. (see comments there!)\r\n * * Find the segment that contains the start fraction\r\n * * Move point-by-point from that position to the start or end (respectively for negative or positive signedDistance)\r\n * * Optionally extrapolate\r\n * @param startFraction\r\n * @param signedDistance\r\n * @param allowExtension\r\n * @param result\r\n */\r\n public override moveSignedDistanceFromFraction(startFraction: number, signedDistance: number, allowExtension: false, result?: CurveLocationDetail): CurveLocationDetail {\r\n const numSegments = this._points.length - 1;\r\n const scaledFraction = startFraction * numSegments;\r\n let leftPointIndex = Geometry.restrictToInterval(Math.floor(scaledFraction), 0, numSegments - 1); // lower point index on active segment.\r\n const localFraction = scaledFraction - leftPointIndex;\r\n const point0 = this._points.interpolate(leftPointIndex, localFraction, leftPointIndex + 1, LineString3d._workPointA)!;\r\n const point1 = LineString3d._workPointB;\r\n const context = new MoveByDistanceContext(point0, startFraction, signedDistance);\r\n\r\n if (signedDistance > 0.0) {\r\n for (; leftPointIndex <= numSegments;) {\r\n leftPointIndex++;\r\n this._points.getPoint3dAtCheckedPointIndex(leftPointIndex, point1);\r\n if (context.announcePoint(point1, leftPointIndex / numSegments))\r\n return CurveLocationDetail.createCurveFractionPointDistanceCurveSearchStatus(this, context.fraction0, context.point0,\r\n signedDistance, CurveSearchStatus.success, result);\r\n }\r\n // fall through for extrapolation from final segment\r\n if (allowExtension)\r\n context.announceExtrapolation(this._points, numSegments - 1, numSegments,\r\n (numSegments - 1) / numSegments, 1.0);\r\n return CurveLocationDetail.createCurveFractionPointDistanceCurveSearchStatus(this, context.fraction0, context.point0,\r\n signedDistance, context.distanceStatus(), result);\r\n } else { // (moving backwards)\r\n if (localFraction <= 0.0)\r\n leftPointIndex--;\r\n for (; leftPointIndex >= 0; leftPointIndex--) {\r\n this._points.getPoint3dAtCheckedPointIndex(leftPointIndex, point1);\r\n if (context.announcePoint(point1, leftPointIndex / numSegments))\r\n return CurveLocationDetail.createCurveFractionPointDistanceCurveSearchStatus(this, context.fraction0, context.point0,\r\n signedDistance, CurveSearchStatus.success, result);\r\n }\r\n // fall through for backward extrapolation from initial segment\r\n if (allowExtension)\r\n context.announceExtrapolation(this._points, 1, 0, 1.0 / numSegments, 0.0);\r\n return CurveLocationDetail.createCurveFractionPointDistanceCurveSearchStatus(this, context.fraction0, context.point0,\r\n -context.distance0, context.distanceStatus(), result);\r\n }\r\n }\r\n\r\n /** sum lengths of segments in the linestring. (This is a true length.) */\r\n public quickLength(): number { return this.curveLength(); }\r\n /**\r\n * compute and normalize cross product among 3 points on the linestring.\r\n * * \"any\" 3 points are acceptable -- no test for positive overall sense.\r\n * * This is appropriate for polygon known to be convex.\r\n * * use points spread at index step n/3, hopefully avoiding colinear points.\r\n * * If that fails, try points 012\r\n * @param result computed normal.\r\n */\r\n public quickUnitNormal(result?: Vector3d): Vector3d | undefined {\r\n let step = Math.floor(this._points.length / 3);\r\n if (step < 1)\r\n step = 1;\r\n result = this._points.crossProductIndexIndexIndex(0, step, step + step);\r\n if (result && result.normalizeInPlace())\r\n return result;\r\n return undefined;\r\n }\r\n\r\n /** Find the point on the linestring (including its segment interiors) that is closest to spacePoint. */\r\n public override closestPoint(spacePoint: Point3d, extend: VariantCurveExtendParameter, result?: CurveLocationDetail): CurveLocationDetail {\r\n result = CurveLocationDetail.create(this, result);\r\n const extend0 = CurveExtendOptions.resolveVariantCurveExtendParameterToCurveExtendMode(extend, 0);\r\n const extend1 = CurveExtendOptions.resolveVariantCurveExtendParameterToCurveExtendMode(extend, 1);\r\n const numPoints = this._points.length;\r\n if (numPoints > 0) {\r\n const lastIndex = numPoints - 1;\r\n result.setFP(1.0, this._points.getPoint3dAtUncheckedPointIndex(lastIndex), undefined);\r\n result.setDistanceTo(spacePoint);\r\n if (numPoints > 1) {\r\n let segmentFraction = 0;\r\n let d = 0;\r\n const df = 1.0 / lastIndex;\r\n for (let i = 1; i < numPoints; i++) {\r\n segmentFraction = spacePoint.fractionOfProjectionToLine(this._points.getPoint3dAtUncheckedPointIndex(i - 1), this._points.getPoint3dAtUncheckedPointIndex(i));\r\n if (segmentFraction < 0) {\r\n if (!extend0 || i > 1)\r\n segmentFraction = 0.0;\r\n } else if (segmentFraction > 1.0) {\r\n if (!extend1 || i < lastIndex)\r\n segmentFraction = 1.0;\r\n }\r\n this._points.getPoint3dAtUncheckedPointIndex(i - 1).interpolate(segmentFraction, this._points.getPoint3dAtUncheckedPointIndex(i), result.pointQ);\r\n d = result.pointQ.distance(spacePoint);\r\n if (d < result.a) {\r\n result.setFP((i - 1 + segmentFraction) * df, result.pointQ, undefined, d);\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n /** Test if all points of the linestring are in a plane. */\r\n public isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean {\r\n return this._points.isCloseToPlane(plane, Geometry.smallMetricDistance);\r\n }\r\n\r\n /** push a hit, fixing up the prior entry if needed.\r\n * return the incremented counter.\r\n */\r\n private static pushVertexHit(result: CurveLocationDetail[], counter: number, cp: CurvePrimitive, fraction: number, point: Point3d) {\r\n const detail = CurveLocationDetail.createCurveFractionPoint(cp, fraction, point);\r\n result.push(detail);\r\n if (counter === 0) {\r\n detail.setIntervalRole(CurveIntervalRole.isolatedAtVertex);\r\n } else if (counter === 1) { // last entry must be isolatedAtVertex !!!\r\n result[result.length - 2].setIntervalRole(CurveIntervalRole.intervalStart);\r\n detail.setIntervalRole(CurveIntervalRole.intervalEnd);\r\n } else {\r\n result[result.length - 2].setIntervalRole(CurveIntervalRole.intervalInterior);\r\n detail.setIntervalRole(CurveIntervalRole.intervalEnd);\r\n }\r\n }\r\n /** find intersections with a plane.\r\n * Intersections within segments are recorded as CurveIntervalRole.isolated\r\n * Intersections at isolated \"on\" vertex are recoded as CurveIntervalRole.isolatedAtVertex.\r\n */\r\n public override appendPlaneIntersectionPoints(plane: PlaneAltitudeEvaluator, result: CurveLocationDetail[]): number {\r\n if (this._points.length < 1) return 0;\r\n const initialLength = result.length;\r\n const n = this._points.length;\r\n const divisor = n === 1 ? 1.0 : n - 1;\r\n const pointA = LineString3d._workPointA;\r\n const pointB = LineString3d._workPointB;\r\n const pointC = LineString3d._workPointC;\r\n this._points.getPoint3dAtUncheckedPointIndex(0, pointA);\r\n let hB = 0;\r\n let numConsecutiveZero = 0;\r\n let hA = 0;\r\n let segmentFraction = 0;\r\n for (let i = 0; i < this._points.length; i++, pointA.setFrom(pointB), hA = hB) {\r\n this._points.getPoint3dAtUncheckedPointIndex(i, pointB);\r\n hB = Geometry.correctSmallMetricDistance(plane.altitude(pointB));\r\n if (hB === 0.0)\r\n LineString3d.pushVertexHit(result, numConsecutiveZero++, this, i / divisor, pointB);\r\n else {\r\n if (hA * hB < 0.0) { // at point0, hA=0 will keep us out of here . ..\r\n segmentFraction = hA / (hA - hB); // this division is safe because the signs are different.\r\n pointA.interpolate(segmentFraction, pointB, pointC);\r\n const detail = CurveLocationDetail.createCurveFractionPoint(this, (i - 1 + segmentFraction) / divisor, pointC);\r\n detail.setIntervalRole(CurveIntervalRole.isolated);\r\n result.push(detail);\r\n numConsecutiveZero = 0;\r\n }\r\n }\r\n }\r\n return result.length - initialLength;\r\n }\r\n /** Extend `rangeToExtend` to include all points of this linestring. */\r\n public extendRange(rangeToExtend: Range3d, transform?: Transform): void { this._points.extendRange(rangeToExtend, transform); }\r\n /** Test if each point of this linestring isAlmostEqual with corresponding point in `other`. */\r\n public override isAlmostEqual(other: GeometryQuery): boolean {\r\n if (!(other instanceof LineString3d))\r\n return false;\r\n if (!GrowableXYZArray.isAlmostEqual(this._points, other._points)) return false;\r\n return true;\r\n }\r\n /** Append (clone of) one point.\r\n * * BUT ... skip if duplicates the tail of prior points.\r\n * * if fraction is given, \"duplicate\" considers both point and fraction.\r\n */\r\n public appendStrokePoint(point: Point3d, fraction?: number) {\r\n const n = this._points.length;\r\n let add = true;\r\n const addFraction = fraction !== undefined && this._fractions !== undefined;\r\n if (n > 0) {\r\n if (addFraction && Geometry.isSameCoordinate(fraction, this._fractions!.back()))\r\n add = false;\r\n if (point.isAlmostEqual(this._points.getPoint3dAtUncheckedPointIndex(n - 1)))\r\n add = false;\r\n }\r\n\r\n if (add) {\r\n this._points.push(point);\r\n if (addFraction)\r\n this.addFraction(fraction);\r\n }\r\n\r\n }\r\n\r\n /** Append a suitable evaluation of a curve ..\r\n * * always append the curve point\r\n * * if fraction array is present, append the fraction\r\n * * if derivative array is present, append the derivative\r\n * BUT ... skip if duplicates the tail of prior points.\r\n */\r\n public appendFractionToPoint(curve: CurvePrimitive, fraction: number) {\r\n if (this._derivatives) {\r\n const ray = curve.fractionToPointAndDerivative(fraction, LineString3d._workRay);\r\n if (this._fractions)\r\n this._fractions.push(fraction);\r\n this._points.push(ray.origin);\r\n if (this._derivatives)\r\n this._derivatives.push(ray.direction);\r\n\r\n } else {\r\n const point = curve.fractionToPoint(fraction, LineString3d._workPointA);\r\n if (this._fractions)\r\n this._fractions.push(fraction);\r\n this._points.push(point);\r\n }\r\n }\r\n /**\r\n * clear all array data:\r\n * * points\r\n * * optional fractions.\r\n * * optional derivatives.\r\n */\r\n public clear() {\r\n this._points.clear();\r\n if (this._fractions)\r\n this._fractions.clear();\r\n if (this._derivatives)\r\n this._derivatives.clear();\r\n }\r\n /**\r\n * * options.needParams triggers creation of fraction array and uvParams array.\r\n * * options.needNormals triggers creation of derivatives array\r\n * @param capacity if positive, initial capacity of arrays\r\n * @param options optional, to indicate if fraction and derivative arrays are required.\r\n */\r\n public static createForStrokes(capacity: number = 0, options: StrokeOptions | undefined): LineString3d {\r\n const ls = LineString3d.create();\r\n if (capacity > 0)\r\n ls._points.ensureCapacity(capacity);\r\n if (options) {\r\n if (options.needParams) {\r\n ls._fractions = new GrowableFloat64Array(capacity);\r\n ls._uvParams = new GrowableXYArray(capacity);\r\n }\r\n if (options.needNormals) {\r\n ls._derivatives = new GrowableXYZArray(capacity);\r\n ls._surfaceNormals = new GrowableXYZArray(capacity);\r\n }\r\n }\r\n return ls;\r\n }\r\n\r\n /** Evaluate a curve at uniform fractions. Append the evaluations to this linestring.\r\n * @param curve primitive to evaluate.\r\n * @param numStrokes number of strokes (edges).\r\n * @param fraction0 starting fraction coordinate\r\n * @param fraction1 end fraction coordinate\r\n * @param include01 if false, points at fraction0 and fraction1 are omitted.\r\n */\r\n public appendFractionalStrokePoints(\r\n curve: CurvePrimitive,\r\n numStrokes: number,\r\n fraction0: number = 0,\r\n fraction1: number = 1,\r\n include01: boolean = true): void {\r\n let i0 = 1;\r\n let i1 = numStrokes - 1;\r\n if (include01) {\r\n i0 = 0;\r\n i1 = numStrokes;\r\n }\r\n if (numStrokes >= 1) {\r\n const df = (fraction1 - fraction0) / numStrokes;\r\n for (let i = i0; i <= i1; i++)\r\n this.appendFractionToPoint(curve, fraction0 + i * df);\r\n }\r\n }\r\n\r\n /** Append points constructed as interpolation between two points.\r\n * @param numStrokes number of strokes.\r\n * @param point0 first point\r\n * @param point1 last point\r\n * @param include01 if false, OMIT both start and end points (i.e. only compute and add true interior points)\r\n */\r\n public appendInterpolatedStrokePoints(numStrokes: number, point0: Point3d, point1: Point3d, include01: boolean): void {\r\n if (include01)\r\n this.appendStrokePoint(point0, 0.0);\r\n if (numStrokes > 1) {\r\n const df = 1.0 / numStrokes;\r\n for (let i = 1; i < numStrokes; i++) {\r\n const f = i * df;\r\n this.appendStrokePoint(point0.interpolate(f, point1), f);\r\n }\r\n }\r\n if (include01)\r\n this.appendStrokePoint(point1, 1.0);\r\n }\r\n\r\n /** Emit strokes to caller-supplied linestring */\r\n public emitStrokes(dest: LineString3d, options?: StrokeOptions): void {\r\n const n = this._points.length;\r\n const pointA = LineString3d._workPointA;\r\n const pointB = LineString3d._workPointB;\r\n\r\n if (n > 0) {\r\n // This is a linestring.\r\n // There is no need for chordTol and angleTol within a segment.\r\n // Do NOT apply min strokes per primitive.\r\n if (options && options.hasMaxEdgeLength) {\r\n dest.appendStrokePoint(this._points.getPoint3dAtUncheckedPointIndex(0));\r\n for (let i = 1; i < n; i++) {\r\n this._points.getPoint3dAtUncheckedPointIndex(i - 1, pointA);\r\n this._points.getPoint3dAtUncheckedPointIndex(i, pointB);\r\n const numStroke = options.applyMaxEdgeLength(1, pointA.distance(pointB));\r\n if (numStroke > 1)\r\n dest.appendInterpolatedStrokePoints(numStroke, pointA, pointB, false);\r\n dest.appendStrokePoint(pointB);\r\n }\r\n } else {\r\n for (let i = 0; i < n; i++) {\r\n dest.appendStrokePoint(this._points.getPoint3dAtUncheckedPointIndex(i));\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Emit strokable parts of the curve to a caller-supplied handler.\r\n * If the stroke options does not have a maxEdgeLength, one stroke is emitted for each segment of the linestring.\r\n * If the stroke options has a maxEdgeLength, smaller segments are emitted as needed.\r\n */\r\n public emitStrokableParts(handler: IStrokeHandler, options?: StrokeOptions): void {\r\n const n = this._points.length;\r\n handler.startCurvePrimitive(this);\r\n if (n > 1) {\r\n const df = 1.0 / (n - 1);\r\n // This is a linestring.\r\n // There is no need for chordTol and angleTol within a segment.\r\n // Do NOT apply min strokes per primitive.\r\n if (options && options.hasMaxEdgeLength) {\r\n for (let i = 1; i < n; i++) {\r\n const numStroke = options.applyMaxEdgeLength(1, this._points.getPoint3dAtUncheckedPointIndex(i - 1).distance(this._points.getPoint3dAtUncheckedPointIndex(i)));\r\n handler.announceSegmentInterval(this, this._points.getPoint3dAtUncheckedPointIndex(i - 1), this._points.getPoint3dAtUncheckedPointIndex(i), numStroke, (i - 1) * df, i * df);\r\n }\r\n } else {\r\n for (let i = 1; i < n; i++) {\r\n handler.announceSegmentInterval(this, this._points.getPoint3dAtUncheckedPointIndex(i - 1), this._points.getPoint3dAtUncheckedPointIndex(i), 1, (i - 1) * df, i * df);\r\n }\r\n }\r\n }\r\n handler.endCurvePrimitive(this);\r\n }\r\n\r\n /**\r\n * return the stroke count required for given options.\r\n * @param options StrokeOptions that determine count\r\n */\r\n public computeStrokeCountForOptions(options?: StrokeOptions): number {\r\n const numPoints = this._points.length;\r\n let numStroke = numPoints - 1;\r\n\r\n if (options && options.hasMaxEdgeLength) {\r\n numStroke = 0;\r\n for (let i = 1; i < numPoints; i++) {\r\n numStroke += options.applyMaxEdgeLength(1, this._points.distanceIndexIndex(i - 1, i)!);\r\n }\r\n }\r\n return numStroke;\r\n }\r\n /**\r\n * Compute individual segment stroke counts. Attach in a StrokeCountMap.\r\n * @param options StrokeOptions that determine count\r\n * @param parentStrokeMap evolving parent map.\r\n */\r\n public override computeAndAttachRecursiveStrokeCounts(options?: StrokeOptions, parentStrokeMap?: StrokeCountMap) {\r\n const numPoints = this._points.length;\r\n const applyOptions = options !== undefined && options.hasMaxEdgeLength;\r\n const myData = StrokeCountMap.createWithCurvePrimitiveAndOptionalParent(this, parentStrokeMap, []);\r\n for (let i = 1; i < numPoints; i++) {\r\n const segmentLength = this._points.distanceIndexIndex(i - 1, i)!;\r\n const numStrokeOnSegment = applyOptions ? options.applyMaxEdgeLength(1, segmentLength)! : 1;\r\n myData.addToCountAndLength(numStrokeOnSegment, segmentLength);\r\n }\r\n CurvePrimitive.installStrokeCountMap(this, myData, parentStrokeMap);\r\n }\r\n /** Second step of double dispatch: call `handler.handleLineString3d(this)` */\r\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\r\n return handler.handleLineString3d(this);\r\n }\r\n // HARD TO TEST -- tests that get to announceClipInterval for arc, bspline do NOT get here with\r\n // linestring because the controller has special case loops through segments?\r\n /**\r\n * Find intervals of this CurvePrimitive that are interior to a clipper\r\n * @param clipper clip structure (e.g. clip planes)\r\n * @param announce (optional) function to be called announcing fractional intervals\" ` announce(fraction0, fraction1, curvePrimitive)`\r\n * @returns true if any \"in\" segments are announced.\r\n */\r\n public override announceClipIntervals(clipper: Clipper, announce?: AnnounceNumberNumberCurvePrimitive): boolean {\r\n const n = this._points.length;\r\n if (n < 2) return false;\r\n let globalFractionA = 0.0;\r\n let globalFractionB = 1.0;\r\n const capture = (localFraction0: number, localFraction1: number) => {\r\n if (announce)\r\n announce(\r\n Geometry.interpolate(globalFractionA, localFraction0, globalFractionB),\r\n Geometry.interpolate(globalFractionA, localFraction1, globalFractionB),\r\n this);\r\n };\r\n const pointA = LineString3d._workPointA;\r\n const pointB = LineString3d._workPointB;\r\n this._points.getPoint3dAtUncheckedPointIndex(0, pointA);\r\n let status = false;\r\n for (let i = 1; i < n; i++, pointA.setFrom(pointB), globalFractionA = globalFractionB) {\r\n this._points.getPoint3dAtUncheckedPointIndex(i, pointB);\r\n globalFractionB = i / (n - 1);\r\n if (clipper.announceClippedSegmentIntervals(0.0, 1.0, pointA, pointB, capture))\r\n status = true;\r\n }\r\n return status;\r\n }\r\n private static _indexPoint = Point3d.create(); // private point for indexAndFractionToPoint.\r\n private addResolvedPoint(index: number, fraction: number, dest: GrowableXYZArray) {\r\n const n = this._points.length;\r\n if (n === 0) return;\r\n if (n === 1) {\r\n this._points.getPoint3dAtUncheckedPointIndex(0, LineString3d._indexPoint);\r\n dest.push(LineString3d._indexPoint);\r\n return;\r\n }\r\n if (index < 0)\r\n index = 0;\r\n if (index >= n) {\r\n index = n - 1;\r\n fraction += 1;\r\n }\r\n this._points.interpolate(index, fraction, index + 1, LineString3d._indexPoint);\r\n dest.push(LineString3d._indexPoint);\r\n }\r\n /** Return (if possible) a LineString which is a portion of this curve.\r\n * * This implementation does NOT extrapolate the linestring -- fractions are capped at 0 and 1.\r\n * @param fractionA [in] start fraction\r\n * @param fractionB [in] end fraction\r\n */\r\n public override clonePartialCurve(fractionA: number, fractionB: number): CurvePrimitive | undefined {\r\n if (fractionB < fractionA) {\r\n const linestringA = this.clonePartialCurve(fractionB, fractionA);\r\n if (linestringA)\r\n linestringA.reverseInPlace();\r\n return linestringA;\r\n }\r\n const n = this._points.length;\r\n const numEdge = n - 1;\r\n if (n < 2 || fractionA >= 1.0 || fractionB <= 0.0)\r\n return undefined;\r\n if (fractionA < 0)\r\n fractionA = 0;\r\n if (fractionB > 1)\r\n fractionB = 1;\r\n const gA = fractionA * numEdge;\r\n const gB = fractionB * numEdge;\r\n const indexA = Math.floor(gA);\r\n const indexB = Math.floor(gB);\r\n const localFractionA = gA - indexA;\r\n const localFractionB = gB - indexB;\r\n const result = LineString3d.create();\r\n this.addResolvedPoint(indexA, localFractionA, result._points);\r\n for (let index = indexA + 1; index <= indexB; index++) {\r\n this._points.getPoint3dAtUncheckedPointIndex(index, LineString3d._workPointA);\r\n result._points.push(LineString3d._workPointA);\r\n }\r\n if (!Geometry.isSmallRelative(localFractionB)) {\r\n this.addResolvedPoint(indexB, localFractionB, result._points);\r\n }\r\n return result;\r\n }\r\n /** Return (if possible) a specific segment of the linestring */\r\n public getIndexedSegment(index: number): LineSegment3d | undefined {\r\n if (index >= 0 && index + 1 < this._points.length)\r\n return LineSegment3d.create(this._points.getPoint3dAtCheckedPointIndex(index)!, this._points.getPoint3dAtCheckedPointIndex(index + 1)!);\r\n return undefined;\r\n }\r\n /**\r\n * Returns true if first and last points are within metric tolerance.\r\n */\r\n public get isPhysicallyClosed(): boolean {\r\n return this._points.length > 0 && Geometry.isSmallMetricDistance(this._points.distanceIndexIndex(0, this._points.length - 1)!);\r\n }\r\n\r\n /**\r\n * evaluate strokes at fractions indicated in a StrokeCountMap.\r\n * * The map must have an array of component counts corresponding to the segment of this linestring.\r\n * * \"fractions\" in the output are mapped within a0,a1 of the map.componentData\r\n * @param map = stroke count data.\r\n * @param destLinestring = receiver linestring.\r\n * @return number of strokes added. 0 if `map.componentData` does not match the linestring\r\n */\r\n public override addMappedStrokesToLineString3D(map: StrokeCountMap, destLinestring: LineString3d): number {\r\n const numPoint0 = destLinestring.numPoints();\r\n const needFractions = destLinestring._fractions !== undefined;\r\n const needDerivatives = destLinestring._derivatives !== undefined;\r\n const points = this._points;\r\n const pointA = LineString3d._workPointA;\r\n const pointB = LineString3d._workPointB;\r\n const pointC = LineString3d._workPointC;\r\n const numParentPoint = points.length;\r\n if (map.primitive && map.primitive === this && map.componentData && map.componentData.length + 1 === numParentPoint) {\r\n points.getPoint3dAtUncheckedPointIndex(0, pointA);\r\n for (let k = 0; k + 1 < numParentPoint; k++, pointA.setFromPoint3d(pointB)) {\r\n points.getPoint3dAtUncheckedPointIndex(k + 1, pointB);\r\n const segmentMap = map.componentData[k];\r\n const m = segmentMap.numStroke;\r\n const vectorAB = pointA.vectorTo(pointB);\r\n vectorAB.scale(m);\r\n for (let i = 0; i <= m; i++) {\r\n const fraction = i / m;\r\n const outputFraction = segmentMap.fractionToA(fraction);\r\n destLinestring.addPoint(pointA.interpolate(fraction, pointB, pointC));\r\n if (needFractions)\r\n destLinestring._fractions!.push((outputFraction));\r\n if (needDerivatives)\r\n destLinestring._derivatives!.push(vectorAB);\r\n\r\n }\r\n }\r\n }\r\n return destLinestring.numPoints() - numPoint0;\r\n }\r\n /** convert variant point data to a single level array of linestrings.\r\n * * The result is always an array of LineString3d.\r\n * * Single linestring is NOT bubbled out as a special case.\r\n * * data with no point is an empty array.\r\n * * \"deep\" data is flattened to a single array of linestrings, losing structure.\r\n */\r\n public static createArrayOfLineString3d(data: MultiLineStringDataVariant): LineString3d[] {\r\n const collector = new PointStreamGrowableXYZArrayCollector();\r\n VariantPointDataStream.streamXYZ(data, collector);\r\n const growableArrays = collector.claimArrayOfGrowableXYZArray();\r\n const result = [];\r\n if (growableArrays !== undefined) {\r\n for (const points of growableArrays)\r\n result.push(LineString3d.createCapture(points));\r\n }\r\n return result;\r\n }\r\n /**\r\n * Return an array containing only the curve primitives.\r\n * * This DEFAULT simply pushes `this` to the collectorArray.\r\n * * CurvePrimitiveWithDistanceIndex optionally collects its members.\r\n * @param collectorArray array to receive primitives (pushed -- the array is not cleared)\r\n * @param smallestPossiblePrimitives if false, CurvePrimitiveWithDistanceIndex returns only itself. If true, it recurses to its (otherwise hidden) children.\r\n */\r\n public override collectCurvePrimitivesGo(collectorArray: CurvePrimitive[], _smallestPossiblePrimitives: boolean, explodeLinestrings: boolean = false) {\r\n if (explodeLinestrings) {\r\n let segment: LineSegment3d | undefined;\r\n for (let i = 0; (segment = this.getIndexedSegment(i)) !== undefined; i++)\r\n collectorArray.push(segment);\r\n } else {\r\n collectorArray.push(this);\r\n }\r\n }\r\n}\r\n/** An AnnotatedLineString3d is a linestring with additional surface-related data attached to each point\r\n * * This is useful in facet construction.\r\n * @internal\r\n */\r\nexport class AnnotatedLineString3d {\r\n /** parameter along curve being faceted. */\r\n public curveParam?: GrowableFloat64Array;\r\n /** uv parameters, stored as uvw with the w possibly used for distinguishing among multiple \"faces\". */\r\n public uvwParam?: GrowableXYZArray;\r\n /** u direction tangent vectors from surface being faceted. */\r\n public vectorU?: GrowableXYZArray;\r\n /** v direction tangent vectors from surface being faceted. */\r\n public vectorV?: GrowableXYZArray;\r\n}\r\n/**\r\n * context to be called to incrementally accumulate distance along line segments.\r\n */\r\nclass MoveByDistanceContext {\r\n public distance0: number; // accumulated distance through point0\r\n public point0: Point3d; // most recent point\r\n public fraction0: number; // most recent fraction position\r\n public targetDistance: number; // this is always positive.\r\n /** CAPTURE point0, fraction0, targetDistance */\r\n public constructor(point0: Point3d, fraction0: number, targetDistance: number) {\r\n this.point0 = point0;\r\n this.distance0 = 0.0;\r\n this.targetDistance = Math.abs(targetDistance);\r\n this.fraction0 = fraction0;\r\n }\r\n // Return CurveSearchStatus indicating whether the accumulated distance has reached the target.\r\n public distanceStatus(): CurveSearchStatus {\r\n return Geometry.isSameCoordinate(this.distance0, this.targetDistance) ?\r\n CurveSearchStatus.success : CurveSearchStatus.stoppedAtBoundary;\r\n }\r\n /**\r\n * Announce next point on the polyline.\r\n * * if the additional segment does NOT reach the target:\r\n * * accumulate the segment length\r\n * * update point0 and fraction0\r\n * * return false\r\n * * if the additional segment DOES reach the target:\r\n * * update point0 and fraction0 to the (possibly interpolated) final point and fraction\r\n * * return true\r\n * @param point1 new point\r\n * @param fraction1 fraction at point1\r\n * @return true if targetDistance reached.\r\n */\r\n public announcePoint(point1: Point3d, fraction1: number): boolean {\r\n const a = this.point0.distance(point1);\r\n const distance1 = this.distance0 + a;\r\n if (distance1 < this.targetDistance && !Geometry.isSameCoordinate(distance1, this.targetDistance)) {\r\n this.point0.setFromPoint3d(point1);\r\n this.distance0 = distance1;\r\n this.fraction0 = fraction1;\r\n return false;\r\n }\r\n const b = this.targetDistance - this.distance0;\r\n const intervalFraction = Geometry.safeDivideFraction(b, a, 0.0);\r\n this.point0.interpolate(intervalFraction, point1, this.point0);\r\n this.fraction0 = Geometry.interpolate(this.fraction0, intervalFraction, fraction1);\r\n this.distance0 = this.targetDistance;\r\n return true;\r\n }\r\n /**\r\n * Update point0, fraction0, and distance0 based on extrapolation of a segment between indices of a point array.\r\n * @returns true if extrapolation succeeded. (False if indexed points are coincident)\r\n * @param points\r\n * @param index0\r\n * @param index1\r\n * @param fraction0\r\n * @param fraction1\r\n * @param result\r\n * @param CurveLocationDetail\r\n */\r\n public announceExtrapolation(points: GrowableXYZArray,\r\n index0: number, index1: number,\r\n fraction0: number, fraction1: number): boolean {\r\n const residual = this.targetDistance - this.distance0;\r\n const d01 = points.distanceIndexIndex(index0, index1);\r\n if (!d01)\r\n return false;\r\n const extensionFraction = Geometry.conditionalDivideFraction(residual, d01);\r\n if (extensionFraction === undefined)\r\n return false;\r\n // (Remark: indices are swapped and extensionFraction negated to prevent incidental precision\r\n // loss with the alternative call with (index0, 1 + extensionFraction, index1);\r\n points.interpolate(index1, -extensionFraction, index0, this.point0);\r\n this.distance0 = this.targetDistance;\r\n this.fraction0 = Geometry.interpolate(fraction1, -extensionFraction, fraction0);\r\n return true;\r\n }\r\n}\r\n"]}
|
package/lib/curve/Loop.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Loop.d.ts","sourceRoot":"","sources":["../../src/curve/Loop.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,wCAAwC;IACxC,SAAgB,mBAAmB,UAAU;IAE7C,qFAAqF;IACrE,OAAO,EAAE,OAAO,CAAS;IACzC,kCAAkC;IAC3B,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IACzD,+CAA+C;;IAE/C;;;OAGG;WACW,MAAM,CAAC,GAAG,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAOvD;;;OAGG;WACW,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAOzD,4CAA4C;WAC9B,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,EAAE,GAAG,IAAI;IAK3E,wDAAwD;IACjD,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ;IAMtD,gFAAgF;IACzE,eAAe,IAAI,MAAM;IAChC,2DAA2D;IACpD,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,EAAE,aAAa,GAAE,MAAW,GAAG,IAAI;IAGrG,2CAA2C;IACpC,cAAc,IAAI,IAAI;IAC7B,uEAAuE;IAChE,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG;CAGhE;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,iBAAiB;IACV,KAAK,CAAC,EAAE,IAAI,CAAC;IACpB,2CAA2C;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;IAC/B,kBAAkB;IACX,KAAK,CAAC,EAAE,IAAI,CAAC;IACpB,2CAA2C;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;gBACZ,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS;IAM3I,uCAAuC;IAChC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc;IAI7C,uCAAuC;IAChC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc;CAI9C;AACD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC1B,mEAAmE;IACnE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,2CAA2C;IACzC,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAE9B"}
|
package/lib/curve/Loop.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/curve/Loop.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 Curve\r\n */\r\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { IndexedXYZCollection } from \"../geometry3d/IndexedXYZCollection\";\r\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\r\nimport { AnyCurve } from \"./CurveChain\";\r\nimport { CurveChain } from \"./CurveCollection\";\r\nimport { CurvePrimitive } from \"./CurvePrimitive\";\r\nimport { RecursiveCurveProcessor } from \"./CurveProcessor\";\r\nimport { GeometryQuery } from \"./GeometryQuery\";\r\nimport { LineString3d } from \"./LineString3d\";\r\nimport { StrokeOptions } from \"./StrokeOptions\";\r\n\r\n/**\r\n * A `Loop` is a curve chain that is the boundary of a closed (planar) loop.\r\n * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.\r\n * @public\r\n */\r\nexport class Loop extends CurveChain {\r\n /** String name for schema properties */\r\n public readonly curveCollectionType = \"loop\";\r\n\r\n /** tag value that can be set to true for user code to mark inner and outer loops. */\r\n public override isInner: boolean = false;\r\n /** test if `other` is a `Loop` */\r\n public isSameGeometryClass(other: GeometryQuery): boolean { return other instanceof Loop; }\r\n /** Test if `other` is an instance of `Loop` */\r\n public constructor() { super(); }\r\n /**\r\n * Create a loop from variable length list of CurvePrimitives\r\n * @param curves array of individual curve primitives\r\n */\r\n public static create(...curves: CurvePrimitive[]): Loop {\r\n const result = new Loop();\r\n for (const curve of curves) {\r\n result.children.push(curve);\r\n }\r\n return result;\r\n }\r\n /**\r\n * Create a loop from an array of curve primitives\r\n * @param curves array of individual curve primitives\r\n */\r\n public static createArray(curves: CurvePrimitive[]): Loop {\r\n const result = new Loop();\r\n for (const curve of curves) {\r\n result.children.push(curve);\r\n }\r\n return result;\r\n }\r\n /** Create a loop from an array of points */\r\n public static createPolygon(points: IndexedXYZCollection | Point3d[]): Loop {\r\n const linestring = LineString3d.create(points);\r\n linestring.addClosurePoint();\r\n return Loop.create(linestring);\r\n }\r\n /** Create a loop with the stroked form of this loop. */\r\n public cloneStroked(options?: StrokeOptions): AnyCurve {\r\n const strokes = LineString3d.create();\r\n for (const curve of this.children)\r\n curve.emitStrokes(strokes, options);\r\n return Loop.create(strokes);\r\n }\r\n /** Return the boundary type (2) of a corresponding MicroStation CurveVector */\r\n public dgnBoundaryType(): number { return 2; } // (2) all \"Loop\" become \"outer\"\r\n /** invoke `processor.announceLoop(this, indexInParent)` */\r\n public announceToCurveProcessor(processor: RecursiveCurveProcessor, indexInParent: number = -1): void {\r\n return processor.announceLoop(this, indexInParent);\r\n }\r\n /** Create a new `Loop` with no children */\r\n public cloneEmptyPeer(): Loop { return new Loop(); }\r\n /** Second step of double dispatch: call `handler.handleLoop(this)` */\r\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\r\n return handler.handleLoop(this);\r\n }\r\n}\r\n\r\n/**\r\n * structure carrying a pair of loops with curve geometry.\r\n * @public\r\n */\r\nexport class LoopCurveLoopCurve {\r\n /** First loop */\r\n public loopA?: Loop;\r\n /** A curve (typically an edge of loopA) */\r\n public curveA?: CurvePrimitive;\r\n /** second loop */\r\n public loopB?: Loop;\r\n /** A curve (typically an edge of loopB) */\r\n public curveB?: CurvePrimitive;\r\n public constructor(loopA: Loop | undefined, curveA: CurvePrimitive | undefined, loopB: Loop | undefined, curveB: CurvePrimitive | undefined) {\r\n this.loopA = loopA;\r\n this.curveA = curveA;\r\n this.loopB = loopB;\r\n this.curveB = curveB;\r\n }\r\n /** Set the loopA and curveA members */\r\n public setA(loop: Loop, curve: CurvePrimitive) {\r\n this.loopA = loop;\r\n this.curveA = curve;\r\n }\r\n /** Set the loopB and curveB members */\r\n public setB(loop: Loop, curve: CurvePrimitive) {\r\n this.loopB = loop;\r\n this.curveB = curve;\r\n }\r\n}\r\n/** Carrier object for loops characterized by area sign\r\n * @public\r\n */\r\nexport interface SignedLoops {\r\n /** Array of loops that have positive area sign. (i.e. counterclockwise loops) */\r\n positiveAreaLoops: Loop[];\r\n /** Array of loops that have negative area sign. (i.e. clockwise loops. */\r\n negativeAreaLoops: Loop[];\r\n /** slivers where there are coincident sections of input curves. */\r\n slivers: Loop[];\r\n/** Array indicating edges between loops */\r\n edges?: LoopCurveLoopCurve[];\r\n\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParityRegion.d.ts","sourceRoot":"","sources":["../../src/curve/ParityRegion.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C,wCAAwC;IACxC,SAAgB,mBAAmB,kBAAkB;IAErD,uDAAuD;IAChD,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IACzD,4CAA4C;IAC5C,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5B,uDAAuD;IACvD,IAAoB,QAAQ,IAAI,IAAI,EAAE,CAA2B;IACjE,oDAAoD;;IAEpD;;OAEG;IACI,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;IAa/C;;;OAGG;WACW,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,GAAG,YAAY;IAQ/E,8CAA8C;WAChC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY;IAOnD,gFAAgF;IACzE,eAAe,IAAI,MAAM;IAChC,mEAAmE;IAC5D,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,EAAE,aAAa,GAAE,MAAW,GAAG,IAAI;IAGrG,0BAA0B;IACV,KAAK,IAAI,YAAY;IAUrC,mDAAmD;IAC5C,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY;IAU1D,wCAAwC;IACjC,cAAc,IAAI,YAAY;IACrC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO;IAOxD,8BAA8B;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAK5C,yEAAyE;IAClE,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG;CAGhE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParityRegion.js","sourceRoot":"","sources":["../../src/curve/ParityRegion.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 Curve\r\n */\r\n\r\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { AnyCurve } from \"./CurveChain\";\r\nimport { CurveCollection } from \"./CurveCollection\";\r\nimport { RecursiveCurveProcessor } from \"./CurveProcessor\";\r\nimport { GeometryQuery } from \"./GeometryQuery\";\r\nimport { Loop } from \"./Loop\";\r\nimport { StrokeOptions } from \"./StrokeOptions\";\r\n\r\n/**\r\n * * A `ParityRegion` is a collection of `Loop` objects.\r\n * * The loops collectively define a planar region.\r\n * * A point is \"in\" the composite region if it is \"in\" an odd number of the loops.\r\n * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.\r\n * @public\r\n */\r\nexport class ParityRegion extends CurveCollection {\r\n /** String name for schema properties */\r\n public readonly curveCollectionType = \"parityRegion\";\r\n\r\n /** Test if `other` is an instance of `ParityRegion` */\r\n public isSameGeometryClass(other: GeometryQuery): boolean { return other instanceof ParityRegion; }\r\n /** Array of loops in this parity region. */\r\n protected _children: Loop[];\r\n /** Return the array of loops in this parity region. */\r\n public override get children(): Loop[] { return this._children; }\r\n /** Construct parity region with empty loop array */\r\n public constructor() { super(); this._children = []; }\r\n /**\r\n * Add loops (recursively) to this region's children\r\n */\r\n public addLoops(data?: Loop | Loop[] | Loop[][]) {\r\n if (data === undefined) {\r\n } else if (data instanceof Loop)\r\n this.children.push(data);\r\n else if (Array.isArray(data)) {\r\n for (const child of data) {\r\n if (child instanceof Loop)\r\n this.children.push(child);\r\n else if (Array.isArray(child))\r\n this.addLoops(child);\r\n }\r\n }\r\n }\r\n /** Return a single loop or parity region with given loops.\r\n * * The returned structure CAPTURES the loops.\r\n * * The loops are NOT reorganized by hole analysis.\r\n */\r\n public static createLoops(data?: Loop | Loop[] | Loop[][]): Loop | ParityRegion {\r\n if (data instanceof Loop)\r\n return data;\r\n const result = new ParityRegion();\r\n result.addLoops(data);\r\n return result;\r\n }\r\n\r\n /** Create a parity region with given loops */\r\n public static create(...data: Loop[]): ParityRegion {\r\n const result = new ParityRegion();\r\n for (const child of data) {\r\n result.children.push(child);\r\n }\r\n return result;\r\n }\r\n /** Return the boundary type (4) of a corresponding MicroStation CurveVector */\r\n public dgnBoundaryType(): number { return 4; }\r\n /** invoke `processor.announceParityRegion(this, indexInParent)` */\r\n public announceToCurveProcessor(processor: RecursiveCurveProcessor, indexInParent: number = -1): void {\r\n return processor.announceParityRegion(this, indexInParent);\r\n }\r\n /** Return a deep copy. */\r\n public override clone(): ParityRegion {\r\n const clone = new ParityRegion();\r\n let child;\r\n for (child of this.children) {\r\n const childClone = child.clone();\r\n if (childClone instanceof Loop)\r\n clone.children.push(childClone);\r\n }\r\n return clone;\r\n }\r\n /** Stroke these curves into a new ParityRegion. */\r\n public cloneStroked(options?: StrokeOptions): ParityRegion {\r\n const clone = new ParityRegion();\r\n let child;\r\n for (child of this.children) {\r\n const childStrokes = child.cloneStroked(options) as Loop;\r\n if (childStrokes)\r\n clone.children.push(childStrokes);\r\n }\r\n return clone;\r\n }\r\n /** Create a new empty parity region. */\r\n public cloneEmptyPeer(): ParityRegion { return new ParityRegion(); }\r\n /** Add `child` to this parity region.\r\n * * any child type other than `Loop` is ignored.\r\n */\r\n public tryAddChild(child: AnyCurve | undefined): boolean {\r\n if (child && child instanceof Loop) {\r\n this._children.push(child);\r\n return true;\r\n }\r\n return false;\r\n }\r\n /** Get child `i` by index. */\r\n public getChild(i: number): Loop | undefined {\r\n if (i < this._children.length)\r\n return this._children[i];\r\n return undefined;\r\n }\r\n /** Second step of double dispatch: call `handler.handleRegion(this)` */\r\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\r\n return handler.handleParityRegion(this);\r\n }\r\n}\r\n"]}
|
package/lib/curve/Path.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/curve/Path.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,wCAAwC;IACxC,SAAgB,mBAAmB,UAAU;IAE7C,+CAA+C;IACxC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IACzD,2DAA2D;IACpD,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,EAAE,aAAa,GAAE,MAAW,GAAG,IAAI;IAGrG,+BAA+B;;IAE/B;;;;OAIG;WACW,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI;IAWxE;;;OAGG;WACW,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAOzD,oEAAoE;IAC7D,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ;IAMtD,gFAAgF;IACzE,eAAe,IAAI,MAAM;IAChC,+CAA+C;IACxC,cAAc,IAAI,IAAI;IAC7B,uEAAuE;IAChE,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG;CAGhE"}
|
package/lib/curve/Path.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/curve/Path.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAO/F,mEAAwD;AAExD,uDAA+C;AAC/C,qDAAkD;AAGlD,iDAA8C;AAG9C;;;;;GAKG;AACH,MAAa,IAAK,SAAQ,4BAAU;IAUlC,+BAA+B;IAC/B;QAAuB,KAAK,EAAE,CAAC;QAV/B,wCAAwC;QACxB,wBAAmB,GAAG,MAAM,CAAC;IASb,CAAC;IAPjC,+CAA+C;IACxC,mBAAmB,CAAC,KAAoB,IAAa,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;IAC3F,2DAA2D;IACpD,wBAAwB,CAAC,SAAkC,EAAE,gBAAwB,CAAC,CAAC;QAC5F,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IAGD;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,GAAG,MAAyC;QAC/D,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,KAAK,YAAY,+BAAc;gBACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,yBAAO,EAAE;gBAChF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAClD;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,MAAwB;QAChD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,oEAAoE;IAC7D,YAAY,CAAC,OAAuB;QACzC,MAAM,OAAO,GAAG,2BAAY,CAAC,MAAM,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAC/B,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,gFAAgF;IACzE,eAAe,KAAa,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,+CAA+C;IACxC,cAAc,KAAW,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,uEAAuE;IAChE,yBAAyB,CAAC,OAAwB;QACvD,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAtDD,oBAsDC","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 Curve\r\n */\r\n\r\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\r\nimport { AnyCurve } from \"./CurveChain\";\r\nimport { CurveChain } from \"./CurveCollection\";\r\nimport { CurvePrimitive } from \"./CurvePrimitive\";\r\nimport { RecursiveCurveProcessor } from \"./CurveProcessor\";\r\nimport { GeometryQuery } from \"./GeometryQuery\";\r\nimport { LineString3d } from \"./LineString3d\";\r\nimport { StrokeOptions } from \"./StrokeOptions\";\r\n\r\n/**\r\n * * A `Path` object is a collection of curves that join head-to-tail to form a path.\r\n * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.\r\n * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.\r\n * @public\r\n */\r\nexport class Path extends CurveChain {\r\n /** String name for schema properties */\r\n public readonly curveCollectionType = \"path\";\r\n\r\n /** Test if `other` is an instance of `Path` */\r\n public isSameGeometryClass(other: GeometryQuery): boolean { return other instanceof Path; }\r\n /** invoke `processor.announcePath(this, indexInParent)` */\r\n public announceToCurveProcessor(processor: RecursiveCurveProcessor, indexInParent: number = -1): void {\r\n return processor.announcePath(this, indexInParent);\r\n }\r\n /** Construct an empty path. */\r\n public constructor() { super(); }\r\n /**\r\n * Create a path from a variable length list of curve primitives\r\n * * CurvePrimitive params are captured !!!\r\n * @param curves variable length list of individual curve primitives or point arrays.\r\n */\r\n public static create(...curves: Array<CurvePrimitive | Point3d[]>): Path {\r\n const result = new Path();\r\n for (const curve of curves) {\r\n if (curve instanceof CurvePrimitive)\r\n result.children.push(curve);\r\n else if (Array.isArray(curve) && curve.length > 0 && curve[0] instanceof Point3d) {\r\n result.children.push(LineString3d.create(curve));\r\n }\r\n }\r\n return result;\r\n }\r\n /**\r\n * Create a path from a an array of curve primitives\r\n * @param curves array of individual curve primitives\r\n */\r\n public static createArray(curves: CurvePrimitive[]): Path {\r\n const result = new Path();\r\n for (const curve of curves) {\r\n result.children.push(curve);\r\n }\r\n return result;\r\n }\r\n /** Return a deep copy, with leaf-level curve primitives stroked. */\r\n public cloneStroked(options?: StrokeOptions): AnyCurve {\r\n const strokes = LineString3d.create();\r\n for (const curve of this.children)\r\n curve.emitStrokes(strokes, options);\r\n return Path.create(strokes);\r\n }\r\n /** Return the boundary type (1) of a corresponding MicroStation CurveVector */\r\n public dgnBoundaryType(): number { return 1; }\r\n /** Clone as a new `Path` with no primitives */\r\n public cloneEmptyPeer(): Path { return new Path(); }\r\n /** Second step of double dispatch: call `handler.handlePath(this)` */\r\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\r\n return handler.handlePath(this);\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PointString3d.d.ts","sourceRoot":"","sources":["../../src/curve/PointString3d.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAY,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,aAAc,YAAW,eAAe;IACzE,wCAAwC;IACxC,SAAgB,gBAAgB,qBAAqB;IAErD,yCAAyC;IAClC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IACzD,OAAO,CAAC,OAAO,CAAY;IAC3B,0CAA0C;IAC1C,IAAW,MAAM,IAAI,OAAO,EAAE,CAAyB;IACvD,OAAO;IAIP,mCAAmC;IAC5B,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa;IAK5D,OAAO,CAAC,MAAM,CAAC,YAAY;IAK3B,0CAA0C;WAC5B,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,aAAa;IAMrD,+CAA+C;IACxC,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE;IAOjC,8CAA8C;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO;IAG9B,uDAAuD;IAChD,QAAQ;IAIf,kFAAkF;IAC3E,OAAO,CAAC,KAAK,EAAE,aAAa;IAGnC,sCAAsC;WACxB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa;IAK5D,2EAA2E;WAC7D,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa;IAMtE,2BAA2B;IACpB,KAAK,IAAI,aAAa;IAK7B,2FAA2F;IACpF,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG;IAQ7B;;;OAGG;IACI,MAAM,IAAI,GAAG;IAKpB,0EAA0E;WAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,aAAa;IAGjD,sCAAsC;IAC/B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAOhE,mCAAmC;IAC5B,SAAS,IAAI,MAAM;IAE1B,8BAA8B;IACvB,cAAc,IAAI,IAAI;IAa7B,mCAAmC;IAC5B,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAIzD,2EAA2E;IACpE,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE;IASzE,wDAAwD;IACjD,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO;IAG9D,kEAAkE;IAC3D,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAGvE,4DAA4D;IAC5C,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAK5D,qCAAqC;IAC9B,KAAK;IACZ,8EAA8E;IACvE,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG;CAIhE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PointString3d.js","sourceRoot":"","sources":["../../src/curve/PointString3d.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 Curve\r\n */\r\n\r\nimport { BeJSONFunctions, Geometry } from \"../Geometry\";\r\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { Plane3dByOriginAndUnitNormal } from \"../geometry3d/Plane3dByOriginAndUnitNormal\";\r\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\r\nimport { Point3dArray } from \"../geometry3d/PointHelpers\";\r\nimport { Range3d } from \"../geometry3d/Range\";\r\nimport { Transform } from \"../geometry3d/Transform\";\r\nimport { GeometryQuery } from \"./GeometryQuery\";\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention, no-empty */\r\n\r\n/**\r\n * A PointString3d is an array of points.\r\n * * PointString3D is first class (displayable, possibly persistent) geometry derived from the GeometryQuery base class.\r\n * * The various points in the PointString3d are NOT connected by line segments for display or other calculations.\r\n * @public\r\n */\r\nexport class PointString3d extends GeometryQuery implements BeJSONFunctions {\r\n /** String name for schema properties */\r\n public readonly geometryCategory = \"pointCollection\";\r\n\r\n /** Test if `other` is a PointString3d */\r\n public isSameGeometryClass(other: GeometryQuery): boolean { return other instanceof PointString3d; }\r\n private _points: Point3d[];\r\n /** return a clone of the points array. */\r\n public get points(): Point3d[] { return this._points; }\r\n private constructor() {\r\n super();\r\n this._points = [];\r\n }\r\n /** Clone and apply a transform. */\r\n public cloneTransformed(transform: Transform): PointString3d { // we know tryTransformInPlace succeeds.\r\n const c = this.clone();\r\n c.tryTransformInPlace(transform);\r\n return c;\r\n }\r\n private static flattenArray(arr: any): any {\r\n return arr.reduce((flat: any, toFlatten: any) => {\r\n return flat.concat(Array.isArray(toFlatten) ? PointString3d.flattenArray(toFlatten) : toFlatten);\r\n }, []);\r\n }\r\n /** Create a PointString3d from points. */\r\n public static create(...points: any[]): PointString3d {\r\n const result = new PointString3d();\r\n result.addPoints(points);\r\n return result;\r\n }\r\n\r\n /** Add multiple points to the PointString3d */\r\n public addPoints(...points: any[]) {\r\n const toAdd: any[] = PointString3d.flattenArray(points);\r\n for (const p of toAdd) {\r\n if (p instanceof Point3d)\r\n this._points.push(p);\r\n }\r\n }\r\n /** Add a single point to the PointString3d */\r\n public addPoint(point: Point3d) {\r\n this._points.push(point);\r\n }\r\n /** Remove the last point added to the PointString3d */\r\n public popPoint() {\r\n this._points.pop();\r\n }\r\n\r\n /** Replace this PointString3d's point array by a clone of the array in `other` */\r\n public setFrom(other: PointString3d) {\r\n this._points = Point3dArray.clonePoint3dArray(other._points);\r\n }\r\n /** Create from an array of Point3d */\r\n public static createPoints(points: Point3d[]): PointString3d {\r\n const ps = new PointString3d();\r\n ps._points = Point3dArray.clonePoint3dArray(points);\r\n return ps;\r\n }\r\n /** Create a PointString3d from xyz coordinates packed in a Float64Array */\r\n public static createFloat64Array(xyzData: Float64Array): PointString3d {\r\n const ps = new PointString3d();\r\n for (let i = 0; i + 3 <= xyzData.length; i += 3)\r\n ps._points.push(Point3d.create(xyzData[i], xyzData[i + 1], xyzData[i + 2]));\r\n return ps;\r\n }\r\n /** Return a deep clone. */\r\n public clone(): PointString3d {\r\n const retVal = new PointString3d();\r\n retVal.setFrom(this);\r\n return retVal;\r\n }\r\n /** Replace this instance's points by those from a json array, e.g. `[[1,2,3], [4,2,2]]` */\r\n public setFromJSON(json?: any) {\r\n this._points.length = 0;\r\n if (Array.isArray(json)) {\r\n let xyz;\r\n for (xyz of json)\r\n this._points.push(Point3d.fromJSON(xyz));\r\n }\r\n }\r\n /**\r\n * Convert an PointString3d to a JSON object.\r\n * @return {*} [[x,y,z],...[x,y,z]]\r\n */\r\n public toJSON(): any {\r\n const value = [];\r\n for (const p of this._points) value.push(p.toJSON());\r\n return value;\r\n }\r\n /** Create a PointString3d from a json array, e.g. `[[1,2,3], [4,2,2]]` */\r\n public static fromJSON(json?: any): PointString3d {\r\n const ps = new PointString3d(); ps.setFromJSON(json); return ps;\r\n }\r\n /** Access a single point by index. */\r\n public pointAt(i: number, result?: Point3d): Point3d | undefined {\r\n if (i >= 0 && i < this._points.length) {\r\n if (result) { result.setFrom(this._points[i]); return result; }\r\n return this._points[i].clone();\r\n }\r\n return undefined;\r\n }\r\n /** Return the number of points. */\r\n public numPoints(): number { return this._points.length; }\r\n\r\n /** Reverse the point order */\r\n public reverseInPlace(): void {\r\n if (this._points.length >= 2) {\r\n let i0 = 0;\r\n let i1 = this._points.length - 1;\r\n while (i0 < i1) {\r\n const a = this._points[i0];\r\n this._points[i1] = this._points[i0];\r\n this._points[i0] = a;\r\n i0++;\r\n i1--;\r\n }\r\n }\r\n }\r\n /** Return the number of points. */\r\n public tryTransformInPlace(transform: Transform): boolean {\r\n transform.multiplyPoint3dArrayInPlace(this._points);\r\n return true;\r\n }\r\n /** Return the index and coordinates of the closest point to spacePoint. */\r\n public closestPoint(spacePoint: Point3d): { index: number, xyz: Point3d } {\r\n const result = { index: -1, xyz: Point3d.create() };\r\n const index = Point3dArray.closestPointIndex(this._points, spacePoint);\r\n if (index >= 0) {\r\n result.index = index;\r\n result.xyz.setFrom(this._points[index]);\r\n }\r\n return result;\r\n }\r\n /** Return true if all points are in the given plane. */\r\n public isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean {\r\n return Point3dArray.isCloseToPlane(this._points, plane, Geometry.smallMetricDistance);\r\n }\r\n /** Extend a range to include the points in this PointString3d. */\r\n public extendRange(rangeToExtend: Range3d, transform?: Transform): void {\r\n rangeToExtend.extendArray(this._points, transform);\r\n }\r\n /** Return true if corresponding points are almost equal. */\r\n public override isAlmostEqual(other: GeometryQuery): boolean {\r\n if (!(other instanceof PointString3d))\r\n return false;\r\n return Point3dArray.isAlmostEqual(this._points, other._points);\r\n }\r\n /** Reduce to empty set of points. */\r\n public clear() { this._points.length = 0; }\r\n /** Second step of double dispatch: call `handler.handlePointString(this)` */\r\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\r\n return handler.handlePointString3d(this);\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyCurve.d.ts","sourceRoot":"","sources":["../../src/curve/ProxyCurve.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,UAAW,SAAQ,cAAc;IAC9C,yBAAyB,CAAC,OAAO,EAAE,eAAe;IAIzD,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC;IACtC,kDAAkD;gBAC/B,UAAU,EAAE,cAAc;IAK7C,+CAA+C;IAC/C,IAAW,UAAU,IAAI,cAAc,CAA4B;IACnE,8BAA8B;IACvB,4BAA4B,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAIpE,8BAA8B;IACvB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAGhF,8BAA8B;IACvB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAGrE,8BAA8B;IACvB,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAIvE,8BAA8B;IACd,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAGvE,8BAA8B;IACvB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAInE,8BAA8B;IACvB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK;IAI5E,8BAA8B;IACrB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,GAAG,SAAS;IAIlI,8BAA8B;IACzB,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO;IAGrD,WAAW,IAAI,MAAM;CAI7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyCurve.js","sourceRoot":"","sources":["../../src/curve/ProxyCurve.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,4DAAyD;AAWzD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAsB,UAAW,SAAQ,+BAAc;IAMrD,kDAAkD;IAClD,YAAmB,UAA0B;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IATM,yBAAyB,CAAC,OAAwB;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IASD,+CAA+C;IAC/C,IAAW,UAAU,KAAqB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAA,CAAC;IACnE,8BAA8B;IACvB,4BAA4B,CAAC,OAAuB;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,8BAA8B;IACvB,kBAAkB,CAAC,IAAoB,EAAE,OAAuB;QACvE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACH,8BAA8B;IACvB,WAAW,CAAC,IAAkB,EAAE,OAAuB;QAC5D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACH,8BAA8B;IACvB,WAAW,CAAC,aAAsB,EAAE,SAAqB;QAC9D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAEH,8BAA8B;IACd,KAAK,CAAC,SAAqB,EAAE,MAAgB;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IACH,8BAA8B;IACvB,eAAe,CAAC,QAAgB,EAAE,MAAgB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEH,8BAA8B;IACvB,4BAA4B,CAAC,QAAgB,EAAE,MAAc;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAEH,8BAA8B;IACrB,8BAA8B,CAAC,QAAgB,EAAE,MAAkC;QACxF,OAAO,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,8BAA8B;IACzB,SAAS,CAAC,KAAmC;QAChD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACM,WAAW;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;CAEF;AA3DD,gCA2DC","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 Curve\r\n */\r\n\r\nimport { CurvePrimitive } from \"../curve/CurvePrimitive\";\r\nimport { GeometryHandler, IStrokeHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { Plane3dByOriginAndUnitNormal } from \"../geometry3d/Plane3dByOriginAndUnitNormal\";\r\nimport { Plane3dByOriginAndVectors } from \"../geometry3d/Plane3dByOriginAndVectors\";\r\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\r\nimport { Range3d } from \"../geometry3d/Range\";\r\nimport { Ray3d } from \"../geometry3d/Ray3d\";\r\nimport { Transform } from \"../geometry3d/Transform\";\r\nimport { LineString3d } from \"./LineString3d\";\r\nimport { StrokeOptions } from \"./StrokeOptions\";\r\n\r\n/**\r\n * A ProxyCurve is expected to be used as a base class for\r\n * curve types that use some existing curve (the proxy) for evaluation and display\r\n * but carry other defining data.\r\n * * The ProxyCurve implements all required CurvePrimitive methods by dispatching\r\n * to the proxy.\r\n * * These methods presumably require support from the application class and are left abstract:\r\n * * clone\r\n * * clonePartialCurve\r\n * * cloneTransformed\r\n * * curvePrimitiveType\r\n * * isSameCurvePrimitiveType\r\n * * isSameGeometryClass\r\n * * tryTransformInPlace\r\n * * reverseInPlace\r\n *\r\n * @public\r\n */\r\nexport abstract class ProxyCurve extends CurvePrimitive{\r\n public dispatchToGeometryHandler(handler: GeometryHandler) {\r\n return this._proxyCurve.dispatchToGeometryHandler(handler);\r\n }\r\n\r\n protected _proxyCurve: CurvePrimitive;\r\n /** Constructor CAPTURES the proxyCurve pointer */\r\n public constructor(proxyCurve: CurvePrimitive) {\r\n super();\r\n this._proxyCurve = proxyCurve;\r\n }\r\n\r\n /** return the (pointer to) the proxy curve. */\r\n public get proxyCurve(): CurvePrimitive { return this._proxyCurve;}\r\n /** Implement by proxyCurve */\r\n public computeStrokeCountForOptions(options?: StrokeOptions): number {\r\n return this._proxyCurve.computeStrokeCountForOptions(options);\r\n }\r\n\r\n /** Implement by proxyCurve */\r\n public emitStrokableParts(dest: IStrokeHandler, options?: StrokeOptions): void{\r\n this._proxyCurve.emitStrokableParts(dest, options);\r\n }\r\n/** Implement by proxyCurve */\r\npublic emitStrokes(dest: LineString3d, options?: StrokeOptions): void{\r\n this._proxyCurve.emitStrokes(dest, options);\r\n }\r\n/** Implement by proxyCurve */\r\npublic extendRange(rangeToExtend: Range3d, transform?: Transform): void{\r\n this._proxyCurve.extendRange (rangeToExtend, transform);\r\n }\r\n\r\n/** Implement by proxyCurve */\r\npublic override range(transform?: Transform, result?: Range3d): Range3d {\r\n return this._proxyCurve.range(transform, result);\r\n }\r\n/** Implement by proxyCurve */\r\npublic fractionToPoint(fraction: number, result?: Point3d): Point3d{\r\n return this._proxyCurve.fractionToPoint(fraction, result);\r\n }\r\n\r\n/** Implement by proxyCurve */\r\npublic fractionToPointAndDerivative(fraction: number, result?: Ray3d): Ray3d{\r\n return this._proxyCurve.fractionToPointAndDerivative(fraction, result);\r\n }\r\n\r\n/** Implement by proxyCurve */\r\n public fractionToPointAnd2Derivatives(fraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors | undefined{\r\n return this._proxyCurve.fractionToPointAnd2Derivatives(fraction, result);\r\n }\r\n\r\n /** Implement by proxyCurve */\r\npublic isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean {\r\n return this._proxyCurve.isInPlane(plane);\r\n }\r\n public quickLength(): number {\r\n return this._proxyCurve.quickLength();\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolidateAdjacentPrimitivesContext.d.ts","sourceRoot":"","sources":["../../../src/curve/Query/ConsolidateAdjacentPrimitivesContext.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAKvE,OAAO,EAAE,yCAAyC,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAI3F,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,qBAAa,yCAA0C,SAAQ,mBAAmB;IAChF,OAAO,CAAC,QAAQ,CAA4C;gBACzC,OAAO,CAAC,EAAE,yCAAyC;IAItE,iEAAiE;IAC1D,gBAAgB,CAAC,CAAC,EAAE,UAAU;IAmErB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG;IACxB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG;IACxB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,GAAG;IAIxC,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,GAAG;CAIvD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolidateAdjacentPrimitivesContext.js","sourceRoot":"","sources":["../../../src/curve/Query/ConsolidateAdjacentPrimitivesContext.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 Curve\r\n */\r\n\r\nimport { NullGeometryHandler } from \"../../geometry3d/GeometryHandler\";\r\nimport { Point3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { PolylineCompressionContext } from \"../../geometry3d/PolylineCompressionByEdgeOffset\";\r\nimport { PolylineOps } from \"../../geometry3d/PolylineOps\";\r\nimport { Arc3d } from \"../Arc3d\";\r\nimport { ConsolidateAdjacentCurvePrimitivesOptions, CurveChain } from \"../CurveCollection\";\r\nimport { CurveFactory } from \"../CurveFactory\";\r\nimport { LineSegment3d } from \"../LineSegment3d\";\r\nimport { LineString3d } from \"../LineString3d\";\r\nimport { Loop } from \"../Loop\";\r\nimport { Path } from \"../Path\";\r\nimport { ParityRegion } from \"../ParityRegion\";\r\nimport { UnionRegion } from \"../UnionRegion\";\r\n\r\n/**\r\n * * Implementation class for ConsolidateAdjacentCurvePrimitives.\r\n *\r\n * @internal\r\n */\r\nexport class ConsolidateAdjacentCurvePrimitivesContext extends NullGeometryHandler {\r\n private _options: ConsolidateAdjacentCurvePrimitivesOptions;\r\n public constructor(options?: ConsolidateAdjacentCurvePrimitivesOptions) {\r\n super();\r\n this._options = options ? options : new ConsolidateAdjacentCurvePrimitivesOptions();\r\n }\r\n /** look for adjacent compatible primitives in a path or loop. */\r\n public handleCurveChain(g: CurveChain) {\r\n const children = g.children;\r\n const numOriginal = children.length;\r\n const points: Point3d[] = [];\r\n let numAccept = 0;\r\n // i0 <=i < i1 is a range of child indices.\r\n // numAccept is the number of children accepted (contiguously at front of children)\r\n for (let i0 = 0; i0 < numOriginal;) {\r\n const basePrimitive = g.children[i0];\r\n if (this._options.consolidateLinearGeometry && (basePrimitive instanceof LineSegment3d || basePrimitive instanceof LineString3d)) {\r\n points.length = 0;\r\n let i1 = i0;\r\n // on exit, i1 is beyond the block of linear primitives . ..\r\n for (; i1 < g.children.length; i1++) {\r\n const nextPrimitive = g.children[i1];\r\n if (nextPrimitive instanceof LineSegment3d) {\r\n points.push(nextPrimitive.startPoint());\r\n points.push(nextPrimitive.endPoint());\r\n } else if (nextPrimitive instanceof LineString3d) {\r\n const source = nextPrimitive.packedPoints;\r\n for (let k = 0; k < source.length; k++) {\r\n points.push(source.getPoint3dAtUncheckedPointIndex(k));\r\n }\r\n } else {\r\n break;\r\n }\r\n }\r\n if (points.length > 1) {\r\n const tolerance = this._options.colinearPointTolerance;\r\n const compressedPointsA = PolylineOps.compressShortEdges(points, tolerance);\r\n const compressedPointsB = PolylineOps.compressByPerpendicularDistance(compressedPointsA, tolerance);\r\n if (i0 === 0 && i1 === numOriginal) {\r\n // points is the entire curve, and the curve is closed. Maybe the first and last segments are colinear.\r\n PolylineCompressionContext.compressColinearWrapInPlace(compressedPointsB, tolerance);\r\n }\r\n if (compressedPointsB.length < 2) {\r\n // Collapsed to a point? Make a single point linestring\r\n g.children[numAccept++] = LineString3d.create(compressedPointsB[0]);\r\n } else if (compressedPointsB.length === 2) {\r\n g.children[numAccept++] = LineSegment3d.create(compressedPointsB[0], compressedPointsB[1]);\r\n } else {\r\n g.children[numAccept++] = LineString3d.createPoints(compressedPointsB);\r\n }\r\n } else {\r\n g.children[numAccept++] = basePrimitive;\r\n }\r\n i0 = i1;\r\n } else if (this._options.consolidateCompatibleArcs && basePrimitive instanceof Arc3d) {\r\n // subsume subsequent arcs into basePrimitive.\r\n // always accept base primitive.\r\n for (; ++i0 < g.children.length;) {\r\n const nextPrimitive = g.children[i0];\r\n if (!(nextPrimitive instanceof Arc3d))\r\n break;\r\n if (!CurveFactory.appendToArcInPlace(basePrimitive, nextPrimitive))\r\n break;\r\n }\r\n // i0 has already advanced\r\n g.children[numAccept++] = basePrimitive; // which has been extended 0 or more times.\r\n } else {\r\n g.children[numAccept++] = basePrimitive;\r\n i0++;\r\n }\r\n }\r\n g.children.length = numAccept;\r\n }\r\n\r\n public override handlePath(g: Path): any { return this.handleCurveChain(g); }\r\n public override handleLoop(g: Loop): any { return this.handleCurveChain(g); }\r\n public override handleParityRegion(g: ParityRegion): any {\r\n for (const child of g.children)\r\n child.dispatchToGeometryHandler(this);\r\n }\r\n public override handleUnionRegion(g: UnionRegion): any {\r\n for (const child of g.children)\r\n child.dispatchToGeometryHandler(this);\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CurveSplitContext.d.ts","sourceRoot":"","sources":["../../../src/curve/Query/CurveSplitContext.ts"],"names":[],"mappings":"AAUA,OAAO,EAAc,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiCnD;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAS9C,OAAO,CAAC,4BAA4B;IAWpC;;OAEG;IACH,OAAO,CAAC,+BAA+B;WAkBzB,2BAA2B,CAAC,WAAW,EAAE,cAAc,GAAG,eAAe,GAAG,SAAS,EAAE,YAAY,EAAE,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,SAAS;CAoBlL"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CurveSplitContext.js","sourceRoot":"","sources":["../../../src/curve/Query/CurveSplitContext.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 Curve\r\n */\r\n\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { CurveChain, CurveCollection } from \"../CurveCollection\";\r\nimport { CurveCurve } from \"../CurveCurve\";\r\nimport { CurveLocationDetail, CurveLocationDetailPair } from \"../CurveLocationDetail\";\r\nimport { CurvePrimitive } from \"../CurvePrimitive\";\r\nimport { Path } from \"../Path\";\r\n\r\n/**\r\n * Data about a curve cut.\r\n */\r\nclass CutFractionDescriptor {\r\n /** Fractional position along the curve */\r\n public fraction: number;\r\n public otherCurveDetail?: CurveLocationDetail;\r\n public constructor(fraction: number, otherCurveDetail?: CurveLocationDetail) {\r\n this.fraction = fraction;\r\n this.otherCurveDetail = otherCurveDetail;\r\n }\r\n /** Transfer data from other to this.\r\n * * Optionally look at both to set `otherCurveDetail`\r\n * * `other.otherCurveDetail` wins over `this.otherCurveDetail`\r\n */\r\n public setFrom(other: CutFractionDescriptor, combineCutFlag: boolean) {\r\n if (combineCutFlag && this.isSameFraction(other))\r\n this.otherCurveDetail = other.otherCurveDetail ? other.otherCurveDetail : this.otherCurveDetail;\r\n this.fraction = other.fraction;\r\n }\r\n /** Test if a the fractions are almost equal. */\r\n public isSameFraction(other: CutFractionDescriptor): boolean {\r\n return Geometry.isSmallAngleRadians(this.fraction - other.fraction);\r\n }\r\n /** set from direct data */\r\n public set(fraction: number, otherCurveDetail?: CurveLocationDetail) {\r\n this.fraction = fraction;\r\n this.otherCurveDetail = otherCurveDetail;\r\n }\r\n}\r\n/**\r\n * Context for splitting curves.\r\n * @internal\r\n */\r\nexport class CurveSplitContext {\r\n // return true if data has one or more non-endpoint intersections.\r\n private static hasInteriorDetailAIntersections(data: CurveLocationDetailPair[], fractionTolerance: number = Geometry.smallAngleRadians): boolean {\r\n if (data.length === 0)\r\n return false;\r\n for (const pair of data) {\r\n if (pair.detailA.fraction > fractionTolerance || pair.detailA.fraction < 1 - fractionTolerance)\r\n return true;\r\n }\r\n return false;\r\n }\r\n private collectFragmentAndAdvanceCut(curveToCut: CurvePrimitive, cutA: CutFractionDescriptor, cutB: CutFractionDescriptor, dest: CurvePrimitive[]) {\r\n if (!cutA.isSameFraction(cutB)) {\r\n const fragment = curveToCut.clonePartialCurve(cutA.fraction, cutB.fraction);\r\n if (fragment !== undefined) {\r\n fragment.startCut = cutA.otherCurveDetail;\r\n fragment.endCut = cutB.otherCurveDetail;\r\n dest.push(fragment);\r\n }\r\n }\r\n cutA.setFrom(cutB, true);\r\n }\r\n /** Collect fragments from an intersections array, with the array detailA entries all referencing to curveToCut.\r\n * * The `intersections` array is sorted on its detailA field.\r\n */\r\n private collectSinglePrimitiveFragments(curveToCut: CurvePrimitive, intersections: CurveLocationDetailPair[] | undefined, fragments: CurvePrimitive[]) {\r\n\r\n if (intersections === undefined || !CurveSplitContext.hasInteriorDetailAIntersections(intersections)) {\r\n const fragment = curveToCut.clone();\r\n if (fragment)\r\n fragments.push(fragment as CurvePrimitive);\r\n return;\r\n }\r\n intersections.sort((pairA: CurveLocationDetailPair, pairB: CurveLocationDetailPair) => (pairA.detailA.fraction - pairB.detailA.fraction));\r\n const cutA = new CutFractionDescriptor(0.0, undefined);\r\n const cutB = new CutFractionDescriptor(1.0, undefined); // but those values are immediately reset before use.\r\n for (const pair of intersections) {\r\n cutB.set(pair.detailA.fraction, pair.detailB);\r\n this.collectFragmentAndAdvanceCut(curveToCut, cutA, cutB, fragments);\r\n }\r\n cutB.set(1.0, undefined);\r\n this.collectFragmentAndAdvanceCut(curveToCut, cutA, cutB, fragments);\r\n }\r\n public static cloneCurvesWithXYSplitFlags(curvesToCut: CurvePrimitive | CurveCollection | undefined, cutterCurves: CurveCollection): CurveCollection | CurvePrimitive | undefined {\r\n const context = new CurveSplitContext();\r\n if (curvesToCut instanceof CurvePrimitive) {\r\n const result: CurvePrimitive[] = [];\r\n const intersections = CurveCurve.intersectionXYPairs(curvesToCut, false, cutterCurves, false);\r\n context.collectSinglePrimitiveFragments(curvesToCut, intersections, result);\r\n if (result.length === 1)\r\n return result[0];\r\n return Path.createArray(result);\r\n\r\n } else if (curvesToCut instanceof CurveChain) {\r\n const result: CurvePrimitive[] = [];\r\n for (const primitive of curvesToCut.children) {\r\n const intersections = CurveCurve.intersectionXYPairs(primitive, false, cutterCurves, false);\r\n context.collectSinglePrimitiveFragments(primitive, intersections, result);\r\n }\r\n return Path.createArray(result);\r\n }\r\n return undefined;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CylindricalRange.d.ts","sourceRoot":"","sources":["../../../src/curve/Query/CylindricalRange.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAW,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,8BAA8B;IAEvE,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAY;IACjC,kDAAkD;IAClD,OAAO;IAMP,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa;IAWL,mBAAmB,CAAC,QAAQ,EAAE,aAAa;IAI3C,kBAAkB,CAAC,GAAG,EAAE,YAAY;IAOpC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG;IAc7C;;;;OAIG;WACW,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,QAAQ;IAMpF;;;;;;;;;OASG;WACW,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ;CA8BnH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CylindricalRange.js","sourceRoot":"","sources":["../../../src/curve/Query/CylindricalRange.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,sEAAkF;AAClF,sEAAqE;AAOrE,kDAA+C;AAC/C,oDAAiD;AAEjD;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,gDAA8B;IAKvE,kDAAkD;IAClD,YAAoB,GAAU;QAC5B,KAAK,EAAE,CAAC;QAKF,gBAAW,GAAG,yBAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,gBAAW,GAAG,yBAAO,CAAC,MAAM,EAAE,CAAC;QALrC,IAAI,CAAC,WAAW,GAAG,0BAAQ,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,EAAG,CAAC;IAC5C,CAAC;IAGO,aAAa,CAAC,GAAY;QAChC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAChG;IACH,CAAC;IAEe,mBAAmB,CAAC,QAAuB;QACzD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,CAAC;IACe,kBAAkB,CAAC,GAAiB;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;YACxC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACtC;IACH,CAAC;IAEe,WAAW,CAAC,IAAW;QACrC,8BAA8B;QAC9B,qBAAqB;QACrB,0DAA0D;QAC1D,iCAAiC;QACjC,MAAM,SAAS,GAAG,6BAAa,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC1F,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACtC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,uBAAuB,CAAC,GAAU,EAAE,QAAuB;QACvE,MAAM,WAAW,GAAG,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACnD,QAAQ,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,mCAAmC,CAAC,QAAkB,EAAE,IAAW,EAAE,qBAA+B;QAChH,IAAI,QAAQ,YAAY,2BAAY,EAAE;YACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;YACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,yBAAyB,EAAE,CAAC;YACrD,IAAI,WAAW,IAAI,OAAO,EAAE;gBAC1B,MAAM,OAAO,GAAG,0BAAQ,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,0BAAQ,CAAC,MAAM,EAAE,CAAC,CAAE,8DAA8D;gBAClG,MAAM,GAAG,GAAG,yBAAO,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC1B,MAAM,CAAC,+BAA+B,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC/C,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACrD,IAAI,OAAO,CAAC,YAAY;wBACtB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;;wBAE5D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAChD,QAAQ,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,qCAAqC;oBAC7G,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAE,4BAA4B;oBACrE,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACvB;aACF;SACF;aAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;gBAC5B,IAAI,CAAC,mCAAmC,CAAC,KAAiB,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;aAC1F;SACF;IACH,CAAC;CACF;AArGD,sDAqGC","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 Curve\r\n */\r\n\r\nimport { RecurseToCurvesGeometryHandler } from \"../../geometry3d/GeometryHandler\";\r\nimport { Point3d, Vector3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { Ray3d } from \"../../geometry3d/Ray3d\";\r\nimport { Transform } from \"../../geometry3d/Transform\";\r\nimport { Arc3d } from \"../Arc3d\";\r\nimport { AnyCurve } from \"../CurveChain\";\r\nimport { GeometryQuery } from \"../GeometryQuery\";\r\nimport { LineSegment3d } from \"../LineSegment3d\";\r\nimport { LineString3d } from \"../LineString3d\";\r\nimport { StrokeOptions } from \"../StrokeOptions\";\r\n\r\n/**\r\n * Context for computing geometry range around an axis.\r\n * * The publicly called method is `computeZRRange (ray, geometry)\r\n */\r\nexport class CylindricalRangeQuery extends RecurseToCurvesGeometryHandler {\r\n // private geometry0: GeometryQuery; <-- Never used\r\n private _perpVector: Vector3d;\r\n private _maxDistance: number;\r\n private _localToWorld: Transform;\r\n /** capture ray and initialize evolving ranges. */\r\n private constructor(ray: Ray3d) {\r\n super();\r\n this._perpVector = Vector3d.createZero();\r\n this._maxDistance = 0.0;\r\n this._localToWorld = ray.toRigidZFrame()!;\r\n }\r\n private _localPoint = Point3d.create();\r\n private _worldPoint = Point3d.create();\r\n private announcePoint(xyz: Point3d) {\r\n this._localToWorld.multiplyInversePoint3d(xyz, this._localPoint);\r\n const distance = this._localPoint.magnitudeXY();\r\n if (distance >= this._maxDistance) {\r\n this._maxDistance = distance;\r\n this._perpVector.setFromPoint3d(this._localPoint);\r\n this._perpVector.z = 0.0;\r\n this._localToWorld.matrix.multiplyXY(this._localPoint.x, this._localPoint.y, this._perpVector);\r\n }\r\n }\r\n\r\n public override handleLineSegment3d(segment0: LineSegment3d) {\r\n this.announcePoint(segment0.startPoint(this._worldPoint));\r\n this.announcePoint(segment0.endPoint(this._worldPoint));\r\n }\r\n public override handleLineString3d(ls0: LineString3d) {\r\n for (let i = 0; i < ls0.numPoints(); i++) {\r\n ls0.pointAt(i, this._worldPoint);\r\n this.announcePoint(this._worldPoint);\r\n }\r\n }\r\n\r\n public override handleArc3d(arc0: Arc3d): any {\r\n // humbug .. just stroke it ..\r\n // exact solution is:\r\n // project the arc to the z=0 plane of the local system.\r\n // find max distance to origin.\r\n const numStroke = StrokeOptions.applyAngleTol(undefined, 3, arc0.sweep.sweepRadians, 0.1);\r\n const df = 1.0 / numStroke;\r\n for (let i = 0; i <= numStroke; i++) {\r\n arc0.fractionToPoint(i * df, this._worldPoint);\r\n this.announcePoint(this._worldPoint);\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Compute the largest vector perpendicular to a ray and ending on the geometry.\r\n * @param geometry0 geometry to search\r\n * @returns vector from ray to geometry.\r\n */\r\n public static computeMaxVectorFromRay(ray: Ray3d, geometry: GeometryQuery): Vector3d {\r\n const accumulator = new CylindricalRangeQuery(ray);\r\n geometry.dispatchToGeometryHandler(accumulator);\r\n return accumulator._perpVector.clone();\r\n }\r\n\r\n /**\r\n * Recurse through geometry.children to find linestrings.\r\n * In each linestring, compute the surface normal annotation from\r\n * * the curve tangent stored in the linestring\r\n * * the axis of rotation\r\n * * a default V vector to be used when the linestring point is close to the axis.\r\n * @param geometry\r\n * @param axis\r\n * @param defaultVectorV\r\n */\r\n public static buildRotationalNormalsInLineStrings(geometry: AnyCurve, axis: Ray3d, defaultVectorFromAxis: Vector3d) {\r\n if (geometry instanceof LineString3d) {\r\n const points = geometry.packedPoints;\r\n const derivatives = geometry.packedDerivatives;\r\n const normals = geometry.ensureEmptySurfaceNormals();\r\n if (derivatives && normals) {\r\n const vectorU = Vector3d.create();\r\n const vectorV = Vector3d.create(); // v direction (forwward along sweep) for surface of rotation.\r\n const xyz = Point3d.create();\r\n const n = points.length;\r\n for (let i = 0; i < n; i++) {\r\n points.getPoint3dAtUncheckedPointIndex(i, xyz);\r\n axis.perpendicularPartOfVectorToTarget(xyz, vectorU);\r\n if (vectorU.isAlmostZero)\r\n axis.direction.crossProduct(defaultVectorFromAxis, vectorV);\r\n else\r\n axis.direction.crossProduct(vectorU, vectorV);\r\n geometry.packedDerivatives.getVector3dAtCheckedVectorIndex(i, vectorU); // reuse vector U as curve derivative\r\n vectorU.crossProduct(vectorV, vectorV); // reuse vector V as normal!\r\n vectorV.normalizeInPlace();\r\n normals.push(vectorV);\r\n }\r\n }\r\n } else if (geometry.children) {\r\n const children = geometry.children;\r\n for (const child of children) {\r\n this.buildRotationalNormalsInLineStrings(child as AnyCurve, axis, defaultVectorFromAxis);\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InOutTests.d.ts","sourceRoot":"","sources":["../../../src/curve/Query/InOutTests.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;OAUG;WACW,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IA8C9E;;;;;OAKG;WACW,8BAA8B,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;WAalF,6BAA6B,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;WAQhF,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;CAUxF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InOutTests.js","sourceRoot":"","sources":["../../../src/curve/Query/InOutTests.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 Curve\r\n */\r\n\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { Angle } from \"../../geometry3d/Angle\";\r\nimport { Plane3dByOriginAndUnitNormal } from \"../../geometry3d/Plane3dByOriginAndUnitNormal\";\r\nimport { Point3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { AnyRegion } from \"../CurveChain\";\r\nimport { CurveIntervalRole, CurveLocationDetail } from \"../CurveLocationDetail\";\r\nimport { CurvePrimitive } from \"../CurvePrimitive\";\r\nimport { Loop } from \"../Loop\";\r\nimport { ParityRegion } from \"../ParityRegion\";\r\nimport { UnionRegion } from \"../UnionRegion\";\r\n\r\n/**\r\n * Context for testing containment in Loop, ParityRegion and UnionRegion.\r\n * @internal\r\n */\r\nexport class PointInOnOutContext {\r\n /**\r\n * In-out test for a single loop.\r\n * * Test by finding intersections with an xy line (xyz plane) in \"some\" direction.\r\n * * Test logic gets complicated if the plane has a vertex hit.\r\n * * If that happens, don't try to figure out the cases. Just move on to another plane.\r\n * * Any \"on\" point triggers immediate 0 return.\r\n * * (Hence if there are overlapping lines their self-canceling effect might be wrong.)\r\n * @param loop\r\n * @param x tested x coordinate\r\n * @param y tested y coordinate\r\n */\r\n public static testPointInOnOutLoopXY(loop: Loop, x: number, y: number): number {\r\n let plane: Plane3dByOriginAndUnitNormal;\r\n const xy = Point3d.create(x, y);\r\n for (let radians = 0.0; Math.abs(radians) < 6.0; radians = -1.2313 * (radians + 0.3212897)) {\r\n plane = Plane3dByOriginAndUnitNormal.createXYAngle(x, y, Angle.createRadians(radians))!;\r\n const normal = plane.getNormalRef();\r\n const intersections: CurveLocationDetail[] = [];\r\n for (const cp of loop.children) {\r\n if (cp instanceof CurvePrimitive)\r\n cp.appendPlaneIntersectionPoints(plane, intersections);\r\n }\r\n CurvePrimitive.snapAndRestrictDetails(intersections, false, true);\r\n let numLeft = 0;\r\n let numRight = 0;\r\n let numTricky = 0;\r\n let wx, wy;\r\n // Count simple crossings to left and right.\r\n // Also count tricky crossings (vertex hits, onEdge)\r\n // If there are any tricky ones, go around with a different plane.\r\n // A intently devious tester could make every plane hit tricky things.\r\n for (const intersection of intersections) {\r\n if (intersection.intervalRole !== CurveIntervalRole.isolated\r\n && intersection.intervalRole !== undefined) {\r\n numTricky++;\r\n }\r\n wx = intersection.point.x - x;\r\n wy = intersection.point.y - y;\r\n if (Geometry.isSameCoordinateXY(wx, wy, 0, 0))\r\n return 0;\r\n const cross = Geometry.crossProductXYXY(normal.x, normal.y, wx, wy);\r\n if (xy.isAlmostEqualXY(intersection.point))\r\n return 0;\r\n if (cross < 0.0)\r\n numLeft++;\r\n else if (cross > 0.0)\r\n numRight++;\r\n }\r\n if (numTricky !== 0) // try another angle !!\r\n continue;\r\n const leftParity = numLeft & (0x01);\r\n const rightParity = numRight & (0x01);\r\n if (leftParity === rightParity)\r\n return leftParity === 1 ? 1 : -1;\r\n }\r\n return -1;\r\n }\r\n /**\r\n * strongly-typed parity region handling: XOR of all loops. (But any ON is returned as edge hit.)\r\n * @param parent\r\n * @param x\r\n * @param y\r\n */\r\n public static testPointInOnOutParityRegionXY(parent: ParityRegion, x: number, y: number): number {\r\n let result = -1;\r\n for (const loop of parent.children) {\r\n if (loop instanceof Loop) {\r\n const q = this.testPointInOnOutLoopXY(loop, x, y);\r\n if (q === 0)\r\n return 0;\r\n if (q > 0)\r\n result = - result;\r\n }\r\n }\r\n return result;\r\n }\r\n public static testPointInOnOutUnionRegionXY(parent: UnionRegion, x: number, y: number): number {\r\n for (const loop of parent.children) {\r\n const classify = this.testPointInOnOutRegionXY(loop, x, y);\r\n if (classify >= 0)\r\n return classify;\r\n }\r\n return -1;\r\n }\r\n public static testPointInOnOutRegionXY(parent: AnyRegion, x: number, y: number): number {\r\n if (parent instanceof Loop)\r\n return this.testPointInOnOutLoopXY(parent, x, y);\r\n else if (parent instanceof ParityRegion)\r\n return this.testPointInOnOutParityRegionXY(parent, x, y);\r\n else if (parent instanceof UnionRegion)\r\n return this.testPointInOnOutUnionRegionXY(parent, x, y);\r\n return -1;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlanarSubdivision.d.ts","sourceRoot":"","sources":["../../../src/curve/Query/PlanarSubdivision.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAuB,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAsB,WAAW,EAAE,MAAM,SAAS,CAAC;AAqDhE;;GAEG;AACH,qBAAa,iBAAiB;WACd,qBAAqB,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,GAAG,aAAa;WA4CxG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,GAAE,MAAgB,GAAG,MAAM;WAepG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAC/C,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAuB7E,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,OAAO,CAAC,MAAM,CAAC,eAAe;WAWhB,oCAAoC,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,GAAE,MAAgB,GAAG,WAAW,EAAE;CAmC7H"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlanarSubdivision.js","sourceRoot":"","sources":["../../../src/curve/Query/PlanarSubdivision.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F,gDAA+D;AAC/D,4EAAyE;AACzE,oDAA4D;AAC5D,gEAAsF;AAEtF,kCAAgE;AAChE,4CAAyC;AAEzC;;GAEG;AAEH,MAAM,+CAA+C;IAArD;QACS,oBAAe,GAAG,IAAI,GAAG,EAA6C,CAAC;QAC9E,yDAAyD;QAClD,qBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAC;QACpD,0BAAqB,GAAW,CAAC,CAAC;IA4B5C,CAAC;IA3BQ,oBAAoB,CAAC,SAAqC;QAC/D,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;aACpE;SACF;IACH,CAAC;IACM,qBAAqB,CAAC,SAAqC,EAAE,IAA6B;QAC/F,IAAI,SAAS,EAAE;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE;gBACf,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7C;iBAAM;gBACL,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;SACF;IACH,CAAC;IACM,UAAU,CAAC,IAA6B;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,IAAI,UAAU;YACZ,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,IAAI,UAAU;YACZ,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF;AACD;;;;;;;;;;;;EAYE;AACF;;GAEG;AACH,MAAa,iBAAiB;IACrB,MAAM,CAAC,qBAAqB,CAAC,WAA6B,EAAE,QAAmC;QACpG,MAAM,iBAAiB,GAAG,IAAI,+CAA+C,EAAE,CAAC,CAAG,0DAA0D;QAC7I,KAAK,MAAM,CAAC,IAAI,WAAW;YACzB,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,MAAM,KAAK,GAAG,IAAI,qBAAa,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;YAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,KAA8B,EAAE,KAA8B,EAAE,EAAE;gBAC9E,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;oBACpD,OAAO,CAAC,MAAM,CAAC;gBACjB,OAAO,SAAS,GAAG,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,4CAA4C;gBAC5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;gBACjD,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;iBAE/C;qBAAM;oBACL,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM,QAAQ,GAAG,yCAAmB,CAAC,oCAAoC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACjH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBAC/B,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;oBACxB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;oBACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC;oBACrB,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC1E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAM,EAAE,QAAQ,CAAC,SAAU,EAAE,IAAI,CAAC,CAAC;iBACxE;gBACD,OAAO,GAAG,OAAO,CAAC;aACnB;SACF;QACD,4BAAkB,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,SAAU,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sIAAsI;IACtI,uDAAuD;IAChD,MAAM,CAAC,iBAAiB,CAAC,IAAU,EAAE,WAAwB,EAAE,oBAA4B,OAAO;QACvG,IAAI,IAAI,GAAG,qBAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS;YACpB,IAAI,GAAG,CAAC,CAAC;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,iBAAiB;YACpC,IAAI,GAAG,GAAG,CAAC;QACZ,IAAY,CAAC,+BAA+B,GAAG,IAAI,CAAC;QACrD,IAAI,IAAI,GAAG,CAAC;YACV,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtC,IAAI,IAAI,GAAG,CAAC;YACf,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAEzC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACM,MAAM,CAAC,gBAAgB,CAAC,QAAkB,EAC/C,QAAoE;QACpE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,WAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG;YACD,MAAM,MAAM,GAAG,EAAE,CAAC,OAA8B,CAAC;YACjD,IAAI,MAAM,EAAE;gBACV,IAAI,KAAK,CAAC;gBACV,IAAI,EAAE,CAAC,QAAS,GAAG,CAAC;oBAClB,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAU,CAAC,CAAC;;oBAE5E,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9E,IAAI,KAAK,EAAE;oBACT,IAAI,QAAQ,KAAK,SAAS;wBACxB,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;iBACzB;aACF;YACD,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;SACvB,QAAQ,EAAE,KAAK,QAAQ,EAAE;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACH,2CAA2C;IACzC,kDAAkD;IAC1C,MAAM,CAAC,UAAU,CAAC,EAAY;QACpC,OAAO,EAAE,CAAC,aAAa,CAAC,aAAa,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,sEAAsE;IAC9D,MAAM,CAAC,eAAe,CAAC,MAAqB,EAAE,CAAW;QAC/D,IAAI,IAAI,CAAC,UAAU,CAAE,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAC;YACzB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC/B,IAAI,EAAE,KAAK,CAAC;gBACV,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACM,MAAM,CAAC,oCAAoC,CAAC,KAAoB,EAAE,oBAA4B,OAAO;QAC1G,MAAM,CAAC,GAAG,yCAAmB,CAAC,iDAAiD,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClG,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,CAAC,EAAE;YACzB,MAAM,cAAc,GAAgB,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAClG,MAAM,KAAK,GAAyB,EAAE,CAAC;YACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAY,EAAE,MAAsB,EAAE,KAAW,EAAE,EAAE;oBACjG,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;wBACvB,kCAAkC;qBACnC;yBAAM;wBACL,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC3C,IAAI,IAAI,KAAK,SAAS,EAAC;4BACrB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC5B,IAAI,CAAC,KAAK,SAAS,EAAE;gCACnB,oGAAoG;gCACpG,MAAM,EAAE,GAAG,IAAI,yBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gCACvE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;6BACrB;iCAAM,IAAI,CAAC,YAAY,yBAAkB,EAAE;gCAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gCACtB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACd,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BACtB;yBACJ;qBACF;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;aACjE;YACD,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;SACjB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAtID,8CAsIC;AAED,SAAS,SAAS,CAAC,KAAqB,EAAE,QAAgB,EAAE,OAAgB;IAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B,EAAE,KAAqB;IAC9E,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,SAAS,gBAAgB,CAAC,IAA6B,EAAE,KAAqB;IAC5E,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,OAAO,SAAS,CAAC;AACnB,CAAC","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 { HalfEdge, HalfEdgeGraph } from \"../../topology/Graph\";\r\nimport { HalfEdgeGraphSearch } from \"../../topology/HalfEdgeGraphSearch\";\r\nimport { HalfEdgeGraphMerge } from \"../../topology/Merging\";\r\nimport { CurveLocationDetail, CurveLocationDetailPair } from \"../CurveLocationDetail\";\r\nimport { CurvePrimitive } from \"../CurvePrimitive\";\r\nimport { Loop, LoopCurveLoopCurve, SignedLoops } from \"../Loop\";\r\nimport { RegionOps } from \"../RegionOps\";\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\n\r\nclass MapCurvePrimitiveToCurveLocatioNDetailPairArray {\r\n public primitiveToPair = new Map<CurvePrimitive, CurveLocationDetailPair[]>();\r\n // index assigned to this primitive for this calculation.\r\n public primitiveToIndex = new Map<CurvePrimitive, number>();\r\n private _numIndexedPrimitives: number = 0;\r\n public assignPrimitiveIndex(primitive: CurvePrimitive | undefined) {\r\n if (primitive !== undefined) {\r\n const index = this.primitiveToIndex.get(primitive);\r\n if (index === undefined) {\r\n this.primitiveToIndex.set(primitive, this._numIndexedPrimitives++);\r\n }\r\n }\r\n }\r\n public insertPrimitiveToPair(primitive: CurvePrimitive | undefined, pair: CurveLocationDetailPair) {\r\n if (primitive) {\r\n const priorPairs = this.primitiveToPair.get(primitive);\r\n this.assignPrimitiveIndex(primitive);\r\n if (!priorPairs) {\r\n this.primitiveToPair.set(primitive, [pair]);\r\n } else {\r\n priorPairs.push(pair);\r\n }\r\n }\r\n }\r\n public insertPair(pair: CurveLocationDetailPair) {\r\n const primitiveA = pair.detailA.curve;\r\n if (primitiveA)\r\n this.insertPrimitiveToPair(primitiveA, pair);\r\n const primitiveB = pair.detailB.curve;\r\n if (primitiveB)\r\n this.insertPrimitiveToPair(primitiveB, pair);\r\n }\r\n}\r\n/*\r\n function getDetailString(detail: CurveLocationDetail | undefined): string {\r\n if (!detail)\r\n return \"{}\";\r\n else return tagString(\"primitive\", this.primitiveToIndex.get(detail.curve!)) + tagString(\"f0\", detail.fraction) + tagString(\"f1\", detail.fraction1);\r\n }\r\n}\r\nfunction tagString(name: string, value: number | undefined): string {\r\n if (value !== undefined)\r\n return \"(\" + name + \" \" + value + \")\";\r\n return \"\";\r\n}\r\n*/\r\n/**\r\n * @internal\r\n */\r\nexport class PlanarSubdivision {\r\n public static assembleHalfEdgeGraph(_primitives: CurvePrimitive[], allPairs: CurveLocationDetailPair[]): HalfEdgeGraph {\r\n const detailByPrimitive = new MapCurvePrimitiveToCurveLocatioNDetailPairArray(); // map from key CurvePrimitive to CurveLocationDetailPair.\r\n for (const p of _primitives)\r\n detailByPrimitive.assignPrimitiveIndex(p);\r\n for (const pair of allPairs) {\r\n detailByPrimitive.insertPair(pair);\r\n }\r\n const graph = new HalfEdgeGraph();\r\n for (const entry of detailByPrimitive.primitiveToPair.entries()) {\r\n const p = entry[0];\r\n const details = entry[1];\r\n details.sort((pairA: CurveLocationDetailPair, pairB: CurveLocationDetailPair) => {\r\n const fractionA = getFractionOnCurve(pairA, p);\r\n const fractionB = getFractionOnCurve(pairB, p);\r\n if (fractionA === undefined || fractionB === undefined)\r\n return -1000.0;\r\n return fractionA - fractionB;\r\n });\r\n let detail0 = getDetailOnCurve(details[0], p)!;\r\n for (let i = 1; i < details.length; i++) {\r\n // create (both sides of) a graph edge . . .\r\n const detail1 = getDetailOnCurve(details[i], p)!;\r\n if (detail0.point.isAlmostEqual(detail1.point)) {\r\n\r\n } else {\r\n const halfEdge = graph.createEdgeXYAndZ(detail0.point, 0, detail1.point, 0);\r\n const detail01 = CurveLocationDetail.createCurveEvaluatedFractionFraction(p, detail0.fraction, detail1.fraction);\r\n const mate = halfEdge.edgeMate;\r\n halfEdge.edgeTag = detail01;\r\n halfEdge.sortData = 1.0;\r\n mate.edgeTag = detail01;\r\n mate.sortData = -1.0;\r\n halfEdge.sortAngle = sortAngle(detail01.curve!, detail01.fraction, false);\r\n mate.sortAngle = sortAngle(detail01.curve!, detail01.fraction1!, true);\r\n }\r\n detail0 = detail1;\r\n }\r\n }\r\n HalfEdgeGraphMerge.clusterAndMergeXYTheta(graph, (he: HalfEdge) => he.sortAngle!);\r\n return graph;\r\n }\r\n\r\n // based on computed (and toleranced) area, push the loop (pointer) onto the appropriate array of positive, negative, or sliver loops.\r\n // return the area (forced to zero if within tolerance)\r\n public static collectSignedLoop(loop: Loop, signedAreas: SignedLoops, zeroAreaTolerance: number = 1.0e-10): number{\r\n let area = RegionOps.computeXYArea(loop);\r\n if (area === undefined)\r\n area = 0;\r\n if (Math.abs(area) < zeroAreaTolerance)\r\n area = 0.0;\r\n (loop as any).computedAreaInPlanarSubdivision = area;\r\n if (area > 0)\r\n signedAreas.positiveAreaLoops.push(loop);\r\n else if (area < 0)\r\n signedAreas.negativeAreaLoops.push(loop);\r\n else\r\n signedAreas.slivers.push(loop);\r\n return area;\r\n }\r\n public static createLoopInFace(faceSeed: HalfEdge,\r\n announce?: (he: HalfEdge, curve: CurvePrimitive, loop: Loop) => void): Loop {\r\n let he = faceSeed;\r\n const loop = Loop.create();\r\n do {\r\n const detail = he.edgeTag as CurveLocationDetail;\r\n if (detail) {\r\n let curve;\r\n if (he.sortData! > 0)\r\n curve = detail.curve!.clonePartialCurve(detail.fraction, detail.fraction1!);\r\n else\r\n curve = detail.curve!.clonePartialCurve(detail.fraction1!, detail.fraction);\r\n if (curve) {\r\n if (announce !== undefined)\r\n announce(he, curve, loop);\r\n loop.tryAddChild(curve);\r\n }\r\n }\r\n he = he.faceSuccessor;\r\n } while (he !== faceSeed);\r\n return loop;\r\n }\r\n// return true if there are only two edges.\r\n // In a line-only graph, this is a null-area face.\r\n private static isNullFace(he: HalfEdge): boolean {\r\n return he.faceSuccessor.faceSuccessor === he;\r\n }\r\n // Look across edge mates (possibly several) for a nonnull mate face.\r\n private static nonNullEdgeMate(_graph: HalfEdgeGraph, e: HalfEdge): HalfEdge | undefined {\r\n if (this.isNullFace (e))\r\n return undefined;\r\n let e1 = e.edgeMate;\r\n while (this.isNullFace(e1)){\r\n e1 = e1.faceSuccessor.edgeMate;\r\n if (e1 === e)\r\n return undefined;\r\n }\r\n return e1;\r\n }\r\n public static collectSignedLoopSetsInHalfEdgeGraph(graph: HalfEdgeGraph, zeroAreaTolerance: number = 1.0e-10): SignedLoops[] {\r\n const q = HalfEdgeGraphSearch.collectConnectedComponentsWithExteriorParityMasks(graph, undefined);\r\n const result: SignedLoops[] = [];\r\n const edgeMap = new Map<HalfEdge, LoopCurveLoopCurve>();\r\n for (const faceSeeds of q) {\r\n const componentAreas: SignedLoops = { positiveAreaLoops: [], negativeAreaLoops: [], slivers: [] };\r\n const edges: LoopCurveLoopCurve[] = [];\r\n for (const faceSeed of faceSeeds) {\r\n const loop = this.createLoopInFace(faceSeed, (he: HalfEdge, curveC: CurvePrimitive, loopC: Loop) => {\r\n if (this.isNullFace(he)) {\r\n // Ignore all edges of null faces.\r\n } else {\r\n const mate = this.nonNullEdgeMate(graph, he);\r\n if (mate !== undefined){\r\n const e = edgeMap.get(mate);\r\n if (e === undefined) {\r\n // Record this as loopA,edgeA of a shared edge to be completed later from the other side of the edge\r\n const e1 = new LoopCurveLoopCurve(loopC, curveC, undefined, undefined);\r\n edgeMap.set(he, e1);\r\n } else if (e instanceof LoopCurveLoopCurve) {\r\n e.setB(loopC, curveC);\r\n edges.push(e);\r\n edgeMap.delete(mate);\r\n }\r\n }\r\n }\r\n });\r\n this.collectSignedLoop(loop, componentAreas, zeroAreaTolerance);\r\n }\r\n componentAreas.edges = edges;\r\n result.push(componentAreas);\r\n edgeMap.clear();\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nfunction sortAngle(curve: CurvePrimitive, fraction: number, reverse: boolean): number {\r\n const ray = curve.fractionToPointAndDerivative(fraction);\r\n const s = reverse ? -1.0 : 1.0;\r\n return Math.atan2(s * ray.direction.y, s * ray.direction.x);\r\n}\r\n\r\nfunction getFractionOnCurve(pair: CurveLocationDetailPair, curve: CurvePrimitive): number | undefined {\r\n if (pair.detailA.curve === curve)\r\n return pair.detailA.fraction;\r\n if (pair.detailB.curve === curve)\r\n return pair.detailB.fraction;\r\n return undefined;\r\n}\r\nfunction getDetailOnCurve(pair: CurveLocationDetailPair, curve: CurvePrimitive): CurveLocationDetail | undefined {\r\n if (pair.detailA.curve === curve)\r\n return pair.detailA;\r\n if (pair.detailB.curve === curve)\r\n return pair.detailB;\r\n return undefined;\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StrokeCountChain.d.ts","sourceRoot":"","sources":["../../../src/curve/Query/StrokeCountChain.ts"],"names":[],"mappings":"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"}
|