@itwin/core-geometry 3.0.0-dev.76 → 3.0.0-dev.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1049 -0
- package/lib/{Constant.d.ts → cjs/Constant.d.ts} +0 -0
- package/lib/cjs/Constant.d.ts.map +1 -0
- package/lib/{Constant.js → cjs/Constant.js} +0 -0
- package/lib/cjs/Constant.js.map +1 -0
- package/lib/{Geometry.d.ts → cjs/Geometry.d.ts} +0 -0
- package/lib/cjs/Geometry.d.ts.map +1 -0
- package/lib/{Geometry.js → cjs/Geometry.js} +0 -0
- package/lib/cjs/Geometry.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/AkimaCurve3d.d.ts +0 -0
- package/lib/cjs/bspline/AkimaCurve3d.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/AkimaCurve3d.js +0 -0
- package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSpline1dNd.d.ts +0 -0
- package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSpline1dNd.js +0 -0
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve.d.ts +0 -0
- package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve.js +0 -0
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve3dH.d.ts +0 -0
- package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurve3dH.js +0 -0
- package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurveOps.d.ts +0 -0
- package/lib/cjs/bspline/BSplineCurveOps.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineCurveOps.js +0 -0
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -0
- package/lib/cjs/bspline/BSplineSurface.d.ts +491 -0
- package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BSplineSurface.js +0 -0
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/Bezier1dNd.d.ts +0 -0
- package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/Bezier1dNd.js +0 -0
- package/lib/cjs/bspline/Bezier1dNd.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3d.d.ts +0 -0
- package/lib/cjs/bspline/BezierCurve3d.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3d.js +0 -0
- package/lib/cjs/bspline/BezierCurve3d.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3dH.d.ts +0 -0
- package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurve3dH.js +0 -0
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurveBase.d.ts +0 -0
- package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/BezierCurveBase.js +0 -0
- package/lib/cjs/bspline/BezierCurveBase.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/InterpolationCurve3d.d.ts +0 -0
- package/lib/cjs/bspline/InterpolationCurve3d.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/InterpolationCurve3d.js +0 -0
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/KnotVector.d.ts +0 -0
- package/lib/cjs/bspline/KnotVector.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/KnotVector.js +0 -0
- package/lib/cjs/bspline/KnotVector.js.map +1 -0
- package/lib/{bspline → cjs/bspline}/SurfaceLocationDetail.d.ts +0 -0
- package/lib/cjs/bspline/SurfaceLocationDetail.d.ts.map +1 -0
- package/lib/{bspline → cjs/bspline}/SurfaceLocationDetail.js +0 -0
- package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/AlternatingConvexClipTree.d.ts +0 -0
- package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/AlternatingConvexClipTree.js +0 -0
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipFactory.d.ts +0 -0
- package/lib/cjs/clipping/BooleanClipFactory.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipFactory.js +0 -0
- package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipNode.d.ts +0 -0
- package/lib/cjs/clipping/BooleanClipNode.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/BooleanClipNode.js +0 -0
- package/lib/cjs/clipping/BooleanClipNode.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPlane.d.ts +0 -0
- package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPlane.js +0 -0
- package/lib/cjs/clipping/ClipPlane.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPrimitive.d.ts +0 -0
- package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipPrimitive.js +0 -0
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipUtils.d.ts +0 -0
- package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipUtils.js +0 -0
- package/lib/cjs/clipping/ClipUtils.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipVector.d.ts +0 -0
- package/lib/cjs/clipping/ClipVector.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ClipVector.js +0 -0
- package/lib/cjs/clipping/ClipVector.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/ConvexClipPlaneSet.d.ts +0 -0
- package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/ConvexClipPlaneSet.js +0 -0
- package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/UnionOfConvexClipPlaneSets.d.ts +0 -0
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/UnionOfConvexClipPlaneSets.js +0 -0
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -0
- package/lib/{clipping → cjs/clipping}/internalContexts/LineStringOffsetClipperContext.d.ts +0 -0
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -0
- package/lib/{clipping → cjs/clipping}/internalContexts/LineStringOffsetClipperContext.js +0 -0
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -0
- package/lib/{core-geometry.d.ts → cjs/core-geometry.d.ts} +0 -0
- package/lib/cjs/core-geometry.d.ts.map +1 -0
- package/lib/{core-geometry.js → cjs/core-geometry.js} +0 -0
- package/lib/cjs/core-geometry.js.map +1 -0
- package/lib/{curve → cjs/curve}/Arc3d.d.ts +0 -0
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Arc3d.js +0 -0
- package/lib/cjs/curve/Arc3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/ChainCollectorContext.d.ts +0 -0
- package/lib/cjs/curve/ChainCollectorContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ChainCollectorContext.js +0 -0
- package/lib/cjs/curve/ChainCollectorContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/ConstructCurveBetweenCurves.d.ts +0 -0
- package/lib/cjs/curve/ConstructCurveBetweenCurves.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ConstructCurveBetweenCurves.js +0 -0
- package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -0
- package/lib/{curve → cjs/curve}/CoordinateXYZ.d.ts +0 -0
- package/lib/cjs/curve/CoordinateXYZ.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CoordinateXYZ.js +0 -0
- package/lib/cjs/curve/CoordinateXYZ.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChain.d.ts +0 -0
- package/lib/cjs/curve/CurveChain.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChain.js +0 -0
- package/lib/cjs/curve/CurveChain.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChainWithDistanceIndex.d.ts +0 -0
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveChainWithDistanceIndex.js +0 -0
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCollection.d.ts +0 -0
- package/lib/cjs/curve/CurveCollection.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCollection.js +0 -0
- package/lib/cjs/curve/CurveCollection.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurve.d.ts +0 -0
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurve.js +0 -0
- package/lib/cjs/curve/CurveCurve.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveCloseApproachXY.d.ts +0 -0
- package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveCloseApproachXY.js +0 -0
- package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXY.d.ts +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXY.js +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXYZ.d.ts +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveCurveIntersectXYZ.js +0 -0
- package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveExtendMode.d.ts +0 -0
- package/lib/cjs/curve/CurveExtendMode.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveExtendMode.js +0 -0
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveFactory.d.ts +0 -0
- package/lib/cjs/curve/CurveFactory.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveFactory.js +0 -0
- package/lib/cjs/curve/CurveFactory.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveLocationDetail.d.ts +0 -0
- package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveLocationDetail.js +0 -0
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurvePrimitive.d.ts +0 -0
- package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurvePrimitive.js +0 -0
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveProcessor.d.ts +0 -0
- package/lib/cjs/curve/CurveProcessor.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveProcessor.js +0 -0
- package/lib/cjs/curve/CurveProcessor.js.map +1 -0
- package/lib/{curve → cjs/curve}/CurveWireMomentsXYZ.d.ts +0 -0
- package/lib/cjs/curve/CurveWireMomentsXYZ.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/CurveWireMomentsXYZ.js +0 -0
- package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -0
- package/lib/{curve → cjs/curve}/GeometryQuery.d.ts +0 -0
- package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/GeometryQuery.js +0 -0
- package/lib/cjs/curve/GeometryQuery.js.map +1 -0
- package/lib/{curve → cjs/curve}/LineSegment3d.d.ts +0 -0
- package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/LineSegment3d.js +0 -0
- package/lib/cjs/curve/LineSegment3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/LineString3d.d.ts +0 -0
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/LineString3d.js +0 -0
- package/lib/cjs/curve/LineString3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/Loop.d.ts +0 -0
- package/lib/cjs/curve/Loop.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Loop.js +0 -0
- package/lib/cjs/curve/Loop.js.map +1 -0
- package/lib/{curve → cjs/curve}/ParityRegion.d.ts +0 -0
- package/lib/cjs/curve/ParityRegion.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ParityRegion.js +0 -0
- package/lib/cjs/curve/ParityRegion.js.map +1 -0
- package/lib/{curve → cjs/curve}/Path.d.ts +0 -0
- package/lib/cjs/curve/Path.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Path.js +0 -0
- package/lib/cjs/curve/Path.js.map +1 -0
- package/lib/{curve → cjs/curve}/PointString3d.d.ts +0 -0
- package/lib/cjs/curve/PointString3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/PointString3d.js +0 -0
- package/lib/cjs/curve/PointString3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/ProxyCurve.d.ts +0 -0
- package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/ProxyCurve.js +0 -0
- package/lib/cjs/curve/ProxyCurve.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/ConsolidateAdjacentPrimitivesContext.d.ts +0 -0
- package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/ConsolidateAdjacentPrimitivesContext.js +0 -0
- package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CurveSplitContext.d.ts +0 -0
- package/lib/cjs/curve/Query/CurveSplitContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CurveSplitContext.js +0 -0
- package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CylindricalRange.d.ts +0 -0
- package/lib/cjs/curve/Query/CylindricalRange.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/CylindricalRange.js +0 -0
- package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/InOutTests.d.ts +0 -0
- package/lib/cjs/curve/Query/InOutTests.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/InOutTests.js +0 -0
- package/lib/cjs/curve/Query/InOutTests.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/PlanarSubdivision.d.ts +0 -0
- package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/PlanarSubdivision.js +0 -0
- package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountChain.d.ts +0 -0
- package/lib/cjs/curve/Query/StrokeCountChain.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountChain.js +0 -0
- package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountMap.d.ts +0 -0
- package/lib/cjs/curve/Query/StrokeCountMap.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/Query/StrokeCountMap.js +0 -0
- package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -0
- package/lib/{curve → cjs/curve}/RegionMomentsXY.d.ts +0 -0
- package/lib/cjs/curve/RegionMomentsXY.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/RegionMomentsXY.js +0 -0
- package/lib/cjs/curve/RegionMomentsXY.js.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOps.d.ts +0 -0
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOps.js +0 -0
- package/lib/cjs/curve/RegionOps.js.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOpsClassificationSweeps.d.ts +0 -0
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/RegionOpsClassificationSweeps.js +0 -0
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -0
- package/lib/{curve → cjs/curve}/StrokeOptions.d.ts +0 -0
- package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/StrokeOptions.js +0 -0
- package/lib/cjs/curve/StrokeOptions.js.map +1 -0
- package/lib/{curve → cjs/curve}/UnionRegion.d.ts +0 -0
- package/lib/cjs/curve/UnionRegion.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/UnionRegion.js +0 -0
- package/lib/cjs/curve/UnionRegion.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneCurvesContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/CloneCurvesContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneCurvesContext.js +0 -0
- package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneWithExpandedLineStrings.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CloneWithExpandedLineStrings.js +0 -0
- package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CountLinearPartsSearchContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/CountLinearPartsSearchContext.js +0 -0
- package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/GapSearchContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/GapSearchContext.js +0 -0
- package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/MultiChainCollector.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/MultiChainCollector.js +0 -0
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PlaneAltitudeRangeContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PlaneAltitudeRangeContext.js +0 -0
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PolygonOffsetContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/PolygonOffsetContext.js +0 -0
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/SumLengthsContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/SumLengthsContext.js +0 -0
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/TransformInPlaceContext.d.ts +0 -0
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/internalContexts/TransformInPlaceContext.js +0 -0
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/AustralianRailCorpXYEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/AustralianRailCorpXYEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/ClothoidSeries.d.ts +0 -0
- package/lib/cjs/curve/spiral/ClothoidSeries.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/ClothoidSeries.js +0 -0
- package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CubicEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/CubicEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CubicEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CzechSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/CzechSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/DirectHalfCosineSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/DirectHalfCosineSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +265 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.js +473 -0
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +158 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +364 -0
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/MXCubicAlongArcSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/NormalizedTransition.d.ts +0 -0
- package/lib/cjs/curve/spiral/NormalizedTransition.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/NormalizedTransition.js +0 -0
- package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/PolishCubicSpiralEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/PolishCubicSpiralEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionConditionalProperties.d.ts +0 -0
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionConditionalProperties.js +0 -0
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionSpiral3d.d.ts +0 -0
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/TransitionSpiral3d.js +0 -0
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/XYCurveEvaluator.d.ts +0 -0
- package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts.map +1 -0
- package/lib/{curve → cjs/curve}/spiral/XYCurveEvaluator.js +0 -0
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Angle.d.ts +0 -0
- package/lib/cjs/geometry3d/Angle.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Angle.js +0 -0
- package/lib/cjs/geometry3d/Angle.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/AngleSweep.d.ts +0 -0
- package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/AngleSweep.js +0 -0
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BarycentricTriangle.d.ts +0 -0
- package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BarycentricTriangle.js +0 -0
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BilinearPatch.d.ts +0 -0
- package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/BilinearPatch.js +0 -0
- package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/CoincidentGeometryOps.d.ts +0 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/CoincidentGeometryOps.js +0 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ellipsoid.d.ts +0 -0
- package/lib/cjs/geometry3d/Ellipsoid.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ellipsoid.js +0 -0
- package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrameBuilder.d.ts +0 -0
- package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrameBuilder.js +0 -0
- package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrustumAnimation.d.ts +0 -0
- package/lib/cjs/geometry3d/FrustumAnimation.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/FrustumAnimation.js +0 -0
- package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GeometryHandler.d.ts +0 -0
- package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GeometryHandler.js +0 -0
- package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableBlockedArray.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableBlockedArray.js +0 -0
- package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableFloat64Array.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableFloat64Array.js +0 -0
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYArray.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYArray.js +0 -0
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYZArray.d.ts +0 -0
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/GrowableXYZArray.js +0 -0
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedCollectionInterval.d.ts +0 -0
- package/lib/cjs/geometry3d/IndexedCollectionInterval.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedCollectionInterval.js +0 -0
- package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYCollection.d.ts +0 -0
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYCollection.js +0 -0
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYZCollection.d.ts +0 -0
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/IndexedXYZCollection.js +0 -0
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/LongitudeLatitudeAltitude.d.ts +0 -0
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/LongitudeLatitudeAltitude.js +0 -0
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Matrix3d.d.ts +0 -0
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Matrix3d.js +0 -0
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/OrderedRotationAngles.d.ts +0 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/OrderedRotationAngles.js +0 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndUnitNormal.d.ts +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndUnitNormal.js +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndVectors.d.ts +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndVectors.js +0 -0
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dArrayCarrier.d.ts +0 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dArrayCarrier.js +0 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dVector2d.d.ts +0 -0
- package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point2dVector2d.js +0 -0
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dArrayCarrier.d.ts +0 -0
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dArrayCarrier.js +0 -0
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dVector3d.d.ts +0 -0
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Point3dVector3d.js +0 -0
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointHelpers.d.ts +0 -0
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointHelpers.js +0 -0
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointStreaming.d.ts +0 -0
- package/lib/cjs/geometry3d/PointStreaming.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PointStreaming.js +0 -0
- package/lib/cjs/geometry3d/PointStreaming.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolygonOps.d.ts +0 -0
- package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolygonOps.js +0 -0
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineCompressionByEdgeOffset.d.ts +0 -0
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineCompressionByEdgeOffset.js +0 -0
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineOps.d.ts +0 -0
- package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/PolylineOps.js +0 -0
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Range.d.ts +0 -0
- package/lib/cjs/geometry3d/Range.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Range.js +0 -0
- package/lib/cjs/geometry3d/Range.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ray3d.d.ts +0 -0
- package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Ray3d.js +0 -0
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/ReusableObjectCache.d.ts +0 -0
- package/lib/cjs/geometry3d/ReusableObjectCache.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/ReusableObjectCache.js +0 -0
- package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Segment1d.d.ts +0 -0
- package/lib/cjs/geometry3d/Segment1d.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Segment1d.js +0 -0
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/SortablePolygon.d.ts +0 -0
- package/lib/cjs/geometry3d/SortablePolygon.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/SortablePolygon.js +0 -0
- package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Transform.d.ts +0 -0
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/Transform.js +0 -0
- package/lib/cjs/geometry3d/Transform.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/UVSurfaceOps.d.ts +0 -0
- package/lib/cjs/geometry3d/UVSurfaceOps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/UVSurfaceOps.js +0 -0
- package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/XYZProps.d.ts +0 -0
- package/lib/cjs/geometry3d/XYZProps.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/XYZProps.js +0 -0
- package/lib/cjs/geometry3d/XYZProps.js.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/YawPitchRollAngles.d.ts +0 -0
- package/lib/cjs/geometry3d/YawPitchRollAngles.d.ts.map +1 -0
- package/lib/{geometry3d → cjs/geometry3d}/YawPitchRollAngles.js +0 -0
- package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Map4d.d.ts +0 -0
- package/lib/cjs/geometry4d/Map4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Map4d.js +0 -0
- package/lib/cjs/geometry4d/Map4d.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Matrix4d.d.ts +0 -0
- package/lib/cjs/geometry4d/Matrix4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Matrix4d.js +0 -0
- package/lib/cjs/geometry4d/Matrix4d.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/MomentData.d.ts +0 -0
- package/lib/cjs/geometry4d/MomentData.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/MomentData.js +0 -0
- package/lib/cjs/geometry4d/MomentData.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/PlaneByOriginAndVectors4d.d.ts +0 -0
- package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/PlaneByOriginAndVectors4d.js +0 -0
- package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Point4d.d.ts +0 -0
- package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -0
- package/lib/{geometry4d → cjs/geometry4d}/Point4d.js +0 -0
- package/lib/cjs/geometry4d/Point4d.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/BandedSystem.d.ts +0 -0
- package/lib/cjs/numerics/BandedSystem.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/BandedSystem.js +0 -0
- package/lib/cjs/numerics/BandedSystem.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/BezierPolynomials.d.ts +0 -0
- package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/BezierPolynomials.js +0 -0
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/ClusterableArray.d.ts +0 -0
- package/lib/cjs/numerics/ClusterableArray.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/ClusterableArray.js +0 -0
- package/lib/cjs/numerics/ClusterableArray.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Complex.d.ts +0 -0
- package/lib/cjs/numerics/Complex.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Complex.js +0 -0
- package/lib/cjs/numerics/Complex.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/ConvexPolygon2d.d.ts +0 -0
- package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/ConvexPolygon2d.js +0 -0
- package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Newton.d.ts +0 -0
- package/lib/cjs/numerics/Newton.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Newton.js +0 -0
- package/lib/cjs/numerics/Newton.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/PascalCoefficients.d.ts +0 -0
- package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/PascalCoefficients.js +0 -0
- package/lib/cjs/numerics/PascalCoefficients.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/PolarData.d.ts +0 -0
- package/lib/cjs/numerics/PolarData.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/PolarData.js +0 -0
- package/lib/cjs/numerics/PolarData.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Polynomials.d.ts +0 -0
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Polynomials.js +0 -0
- package/lib/cjs/numerics/Polynomials.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Quadrature.d.ts +0 -0
- package/lib/cjs/numerics/Quadrature.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Quadrature.js +0 -0
- package/lib/cjs/numerics/Quadrature.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/Range1dArray.d.ts +0 -0
- package/lib/cjs/numerics/Range1dArray.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/Range1dArray.js +0 -0
- package/lib/cjs/numerics/Range1dArray.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/TriDiagonalSystem.d.ts +0 -0
- package/lib/cjs/numerics/TriDiagonalSystem.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/TriDiagonalSystem.js +0 -0
- package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/UnionFind.d.ts +0 -0
- package/lib/cjs/numerics/UnionFind.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/UnionFind.js +0 -0
- package/lib/cjs/numerics/UnionFind.js.map +1 -0
- package/lib/{numerics → cjs/numerics}/UsageSums.d.ts +0 -0
- package/lib/cjs/numerics/UsageSums.d.ts.map +1 -0
- package/lib/{numerics → cjs/numerics}/UsageSums.js +0 -0
- package/lib/cjs/numerics/UsageSums.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/AuxData.d.ts +0 -0
- package/lib/cjs/polyface/AuxData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/AuxData.js +0 -0
- package/lib/cjs/polyface/AuxData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/BoxTopology.d.ts +0 -0
- package/lib/cjs/polyface/BoxTopology.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/BoxTopology.js +0 -0
- package/lib/cjs/polyface/BoxTopology.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetFaceData.d.ts +0 -0
- package/lib/cjs/polyface/FacetFaceData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetFaceData.js +0 -0
- package/lib/cjs/polyface/FacetFaceData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetOrientation.d.ts +0 -0
- package/lib/cjs/polyface/FacetOrientation.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/FacetOrientation.js +0 -0
- package/lib/cjs/polyface/FacetOrientation.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/GreedyTriangulationBetweenLineStrings.d.ts +0 -0
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/GreedyTriangulationBetweenLineStrings.js +0 -0
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedEdgeMatcher.d.ts +0 -0
- package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedEdgeMatcher.js +0 -0
- package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedPolyfaceVisitor.d.ts +0 -0
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/IndexedPolyfaceVisitor.js +0 -0
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/Polyface.d.ts +0 -0
- package/lib/cjs/polyface/Polyface.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/Polyface.js +0 -0
- package/lib/cjs/polyface/Polyface.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceBuilder.d.ts +0 -0
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceBuilder.js +0 -0
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceClip.d.ts +0 -0
- package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceClip.js +0 -0
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -0
- package/lib/cjs/polyface/PolyfaceData.d.ts +206 -0
- package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -0
- package/lib/cjs/polyface/PolyfaceData.js +531 -0
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceQuery.d.ts +0 -0
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/PolyfaceQuery.js +0 -0
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/RangeLengthData.d.ts +0 -0
- package/lib/cjs/polyface/RangeLengthData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/RangeLengthData.js +0 -0
- package/lib/cjs/polyface/RangeLengthData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/TaggedNumericData.d.ts +0 -0
- package/lib/cjs/polyface/TaggedNumericData.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/TaggedNumericData.js +0 -0
- package/lib/cjs/polyface/TaggedNumericData.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/TriangleCandidate.d.ts +0 -0
- package/lib/cjs/polyface/TriangleCandidate.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/TriangleCandidate.js +0 -0
- package/lib/cjs/polyface/TriangleCandidate.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/BuildAverageNormalsContext.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/BuildAverageNormalsContext.js +0 -0
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSet.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSet.js +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSetWithOverflow.js +0 -0
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/LinearSearchRange2dArray.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/LinearSearchRange2dArray.js +0 -0
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/Range2dSearchInterface.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/Range2dSearchInterface.js +0 -0
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/RangeSearch.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/RangeSearch.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/RangeSearch.js +0 -0
- package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/SweepLineStringToFacetContext.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/SweepLineStringToFacetContext.js +0 -0
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/XYPointBuckets.d.ts +0 -0
- package/lib/cjs/polyface/multiclip/XYPointBuckets.d.ts.map +1 -0
- package/lib/{polyface → cjs/polyface}/multiclip/XYPointBuckets.js +0 -0
- package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBAccessors.d.ts +0 -0
- package/lib/cjs/serialization/BGFBAccessors.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBAccessors.js +0 -0
- package/lib/cjs/serialization/BGFBAccessors.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBReader.d.ts +0 -0
- package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBReader.js +0 -0
- package/lib/cjs/serialization/BGFBReader.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBWriter.d.ts +0 -0
- package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BGFBWriter.js +0 -0
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/BentleyGeometryFlatBuffer.d.ts +0 -0
- package/lib/cjs/serialization/BentleyGeometryFlatBuffer.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/BentleyGeometryFlatBuffer.js +0 -0
- package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/DeepCompare.d.ts +0 -0
- package/lib/cjs/serialization/DeepCompare.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/DeepCompare.js +0 -0
- package/lib/cjs/serialization/DeepCompare.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/GeometrySamples.d.ts +0 -0
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/GeometrySamples.js +0 -0
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -0
- package/lib/{serialization → cjs/serialization}/IModelJsonSchema.d.ts +0 -0
- package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -0
- package/lib/{serialization → cjs/serialization}/IModelJsonSchema.js +0 -0
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -0
- package/lib/{solid → cjs/solid}/Box.d.ts +0 -0
- package/lib/cjs/solid/Box.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/Box.js +0 -0
- package/lib/cjs/solid/Box.js.map +1 -0
- package/lib/{solid → cjs/solid}/Cone.d.ts +0 -0
- package/lib/cjs/solid/Cone.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/Cone.js +0 -0
- package/lib/cjs/solid/Cone.js.map +1 -0
- package/lib/{solid → cjs/solid}/LinearSweep.d.ts +0 -0
- package/lib/cjs/solid/LinearSweep.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/LinearSweep.js +0 -0
- package/lib/cjs/solid/LinearSweep.js.map +1 -0
- package/lib/{solid → cjs/solid}/RotationalSweep.d.ts +0 -0
- package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/RotationalSweep.js +0 -0
- package/lib/cjs/solid/RotationalSweep.js.map +1 -0
- package/lib/{solid → cjs/solid}/RuledSweep.d.ts +0 -0
- package/lib/cjs/solid/RuledSweep.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/RuledSweep.js +0 -0
- package/lib/cjs/solid/RuledSweep.js.map +1 -0
- package/lib/{solid → cjs/solid}/SolidPrimitive.d.ts +0 -0
- package/lib/cjs/solid/SolidPrimitive.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/SolidPrimitive.js +0 -0
- package/lib/cjs/solid/SolidPrimitive.js.map +1 -0
- package/lib/{solid → cjs/solid}/Sphere.d.ts +0 -0
- package/lib/cjs/solid/Sphere.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/Sphere.js +0 -0
- package/lib/cjs/solid/Sphere.js.map +1 -0
- package/lib/{solid → cjs/solid}/SweepContour.d.ts +0 -0
- package/lib/cjs/solid/SweepContour.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/SweepContour.js +0 -0
- package/lib/cjs/solid/SweepContour.js.map +1 -0
- package/lib/{solid → cjs/solid}/TorusPipe.d.ts +0 -0
- package/lib/cjs/solid/TorusPipe.d.ts.map +1 -0
- package/lib/{solid → cjs/solid}/TorusPipe.js +0 -0
- package/lib/cjs/solid/TorusPipe.js.map +1 -0
- package/lib/{topology → cjs/topology}/ChainMerge.d.ts +0 -0
- package/lib/cjs/topology/ChainMerge.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/ChainMerge.js +0 -0
- package/lib/cjs/topology/ChainMerge.js.map +1 -0
- package/lib/{topology → cjs/topology}/Graph.d.ts +0 -0
- package/lib/cjs/topology/Graph.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/Graph.js +0 -0
- package/lib/cjs/topology/Graph.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSearch.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSearch.js +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSpineContext.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphSpineContext.js +0 -0
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphValidation.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeGraphValidation.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeGraphValidation.js +0 -0
- package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeMarkSet.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeMarkSet.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeMarkSet.js +0 -0
- package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeNodeXYZUV.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgeNodeXYZUV.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgeNodeXYZUV.js +0 -0
- package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePointInGraphSearch.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePointInGraphSearch.js +0 -0
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePositionDetail.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgePositionDetail.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePositionDetail.js +0 -0
- package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePriorityQueue.d.ts +0 -0
- package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/HalfEdgePriorityQueue.js +0 -0
- package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -0
- package/lib/{topology → cjs/topology}/InsertAndRetriangulateContext.d.ts +0 -0
- package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/InsertAndRetriangulateContext.js +0 -0
- package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -0
- package/lib/{topology → cjs/topology}/MaskManager.d.ts +0 -0
- package/lib/cjs/topology/MaskManager.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/MaskManager.js +0 -0
- package/lib/cjs/topology/MaskManager.js.map +1 -0
- package/lib/{topology → cjs/topology}/Merging.d.ts +0 -0
- package/lib/cjs/topology/Merging.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/Merging.js +0 -0
- package/lib/cjs/topology/Merging.js.map +1 -0
- package/lib/{topology → cjs/topology}/RegularizeFace.d.ts +0 -0
- package/lib/cjs/topology/RegularizeFace.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/RegularizeFace.js +0 -0
- package/lib/cjs/topology/RegularizeFace.js.map +1 -0
- package/lib/{topology → cjs/topology}/SignedDataSummary.d.ts +0 -0
- package/lib/cjs/topology/SignedDataSummary.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/SignedDataSummary.js +0 -0
- package/lib/cjs/topology/SignedDataSummary.js.map +1 -0
- package/lib/{topology → cjs/topology}/Triangulation.d.ts +0 -0
- package/lib/cjs/topology/Triangulation.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/Triangulation.js +0 -0
- package/lib/cjs/topology/Triangulation.js.map +1 -0
- package/lib/{topology → cjs/topology}/XYParitySearchContext.d.ts +0 -0
- package/lib/cjs/topology/XYParitySearchContext.d.ts.map +1 -0
- package/lib/{topology → cjs/topology}/XYParitySearchContext.js +0 -0
- package/lib/cjs/topology/XYParitySearchContext.js.map +1 -0
- package/lib/esm/Constant.d.ts +26 -0
- package/lib/esm/Constant.d.ts.map +1 -0
- package/lib/esm/Constant.js +30 -0
- package/lib/esm/Constant.js.map +1 -0
- package/lib/esm/Geometry.d.ts +498 -0
- package/lib/esm/Geometry.d.ts.map +1 -0
- package/lib/esm/Geometry.js +776 -0
- package/lib/esm/Geometry.js.map +1 -0
- package/lib/esm/bspline/AkimaCurve3d.d.ts +97 -0
- package/lib/esm/bspline/AkimaCurve3d.d.ts.map +1 -0
- package/lib/esm/bspline/AkimaCurve3d.js +158 -0
- package/lib/esm/bspline/AkimaCurve3d.js.map +1 -0
- package/lib/esm/bspline/BSpline1dNd.d.ts +96 -0
- package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -0
- package/lib/esm/bspline/BSpline1dNd.js +191 -0
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -0
- package/lib/esm/bspline/BSplineCurve.d.ts +310 -0
- package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineCurve.js +608 -0
- package/lib/esm/bspline/BSplineCurve.js.map +1 -0
- package/lib/esm/bspline/BSplineCurve3dH.d.ts +140 -0
- package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineCurve3dH.js +421 -0
- package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -0
- package/lib/esm/bspline/BSplineCurveOps.d.ts +159 -0
- package/lib/esm/bspline/BSplineCurveOps.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineCurveOps.js +805 -0
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -0
- package/lib/esm/bspline/BSplineSurface.d.ts +491 -0
- package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -0
- package/lib/esm/bspline/BSplineSurface.js +837 -0
- package/lib/esm/bspline/BSplineSurface.js.map +1 -0
- package/lib/esm/bspline/Bezier1dNd.d.ts +113 -0
- package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -0
- package/lib/esm/bspline/Bezier1dNd.js +341 -0
- package/lib/esm/bspline/Bezier1dNd.js.map +1 -0
- package/lib/esm/bspline/BezierCurve3d.d.ts +76 -0
- package/lib/esm/bspline/BezierCurve3d.d.ts.map +1 -0
- package/lib/esm/bspline/BezierCurve3d.js +214 -0
- package/lib/esm/bspline/BezierCurve3d.js.map +1 -0
- package/lib/esm/bspline/BezierCurve3dH.d.ts +107 -0
- package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -0
- package/lib/esm/bspline/BezierCurve3dH.js +348 -0
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -0
- package/lib/esm/bspline/BezierCurveBase.d.ts +111 -0
- package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -0
- package/lib/esm/bspline/BezierCurveBase.js +196 -0
- package/lib/esm/bspline/BezierCurveBase.js.map +1 -0
- package/lib/esm/bspline/InterpolationCurve3d.d.ts +163 -0
- package/lib/esm/bspline/InterpolationCurve3d.d.ts.map +1 -0
- package/lib/esm/bspline/InterpolationCurve3d.js +281 -0
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -0
- package/lib/esm/bspline/KnotVector.d.ts +160 -0
- package/lib/esm/bspline/KnotVector.d.ts.map +1 -0
- package/lib/esm/bspline/KnotVector.js +427 -0
- package/lib/esm/bspline/KnotVector.js.map +1 -0
- package/lib/esm/bspline/SurfaceLocationDetail.d.ts +52 -0
- package/lib/esm/bspline/SurfaceLocationDetail.d.ts.map +1 -0
- package/lib/esm/bspline/SurfaceLocationDetail.js +55 -0
- package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +165 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.js +519 -0
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -0
- package/lib/esm/clipping/BooleanClipFactory.d.ts +80 -0
- package/lib/esm/clipping/BooleanClipFactory.d.ts.map +1 -0
- package/lib/esm/clipping/BooleanClipFactory.js +198 -0
- package/lib/esm/clipping/BooleanClipFactory.js.map +1 -0
- package/lib/esm/clipping/BooleanClipNode.d.ts +103 -0
- package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -0
- package/lib/esm/clipping/BooleanClipNode.js +255 -0
- package/lib/esm/clipping/BooleanClipNode.js.map +1 -0
- package/lib/esm/clipping/ClipPlane.d.ts +258 -0
- package/lib/esm/clipping/ClipPlane.d.ts.map +1 -0
- package/lib/esm/clipping/ClipPlane.js +505 -0
- package/lib/esm/clipping/ClipPlane.js.map +1 -0
- package/lib/esm/clipping/ClipPrimitive.d.ts +270 -0
- package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -0
- package/lib/esm/clipping/ClipPrimitive.js +620 -0
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -0
- package/lib/esm/clipping/ClipUtils.d.ts +278 -0
- package/lib/esm/clipping/ClipUtils.d.ts.map +1 -0
- package/lib/esm/clipping/ClipUtils.js +593 -0
- package/lib/esm/clipping/ClipUtils.js.map +1 -0
- package/lib/esm/clipping/ClipVector.d.ts +154 -0
- package/lib/esm/clipping/ClipVector.d.ts.map +1 -0
- package/lib/esm/clipping/ClipVector.js +388 -0
- package/lib/esm/clipping/ClipVector.js.map +1 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +250 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.js +685 -0
- package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +126 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +325 -0
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +42 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +160 -0
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -0
- package/lib/esm/core-geometry.d.ts +228 -0
- package/lib/esm/core-geometry.d.ts.map +1 -0
- package/lib/esm/core-geometry.js +247 -0
- package/lib/esm/core-geometry.js.map +1 -0
- package/lib/esm/curve/Arc3d.d.ts +477 -0
- package/lib/esm/curve/Arc3d.d.ts.map +1 -0
- package/lib/esm/curve/Arc3d.js +905 -0
- package/lib/esm/curve/Arc3d.js.map +1 -0
- package/lib/esm/curve/ChainCollectorContext.d.ts +65 -0
- package/lib/esm/curve/ChainCollectorContext.d.ts.map +1 -0
- package/lib/esm/curve/ChainCollectorContext.js +175 -0
- package/lib/esm/curve/ChainCollectorContext.js.map +1 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.d.ts +46 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.d.ts.map +1 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.js +112 -0
- package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -0
- package/lib/esm/curve/CoordinateXYZ.d.ts +54 -0
- package/lib/esm/curve/CoordinateXYZ.d.ts.map +1 -0
- package/lib/esm/curve/CoordinateXYZ.js +75 -0
- package/lib/esm/curve/CoordinateXYZ.js.map +1 -0
- package/lib/esm/curve/CurveChain.d.ts +17 -0
- package/lib/esm/curve/CurveChain.d.ts.map +1 -0
- package/lib/esm/curve/CurveChain.js +6 -0
- package/lib/esm/curve/CurveChain.js.map +1 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +234 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +513 -0
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -0
- package/lib/esm/curve/CurveCollection.d.ts +204 -0
- package/lib/esm/curve/CurveCollection.d.ts.map +1 -0
- package/lib/esm/curve/CurveCollection.js +338 -0
- package/lib/esm/curve/CurveCollection.js.map +1 -0
- package/lib/esm/curve/CurveCurve.d.ts +56 -0
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurve.js +96 -0
- package/lib/esm/curve/CurveCurve.js.map +1 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +158 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.js +720 -0
- package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts +148 -0
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXY.js +814 -0
- package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +101 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.js +669 -0
- package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -0
- package/lib/esm/curve/CurveExtendMode.d.ts +50 -0
- package/lib/esm/curve/CurveExtendMode.d.ts.map +1 -0
- package/lib/esm/curve/CurveExtendMode.js +96 -0
- package/lib/esm/curve/CurveExtendMode.js.map +1 -0
- package/lib/esm/curve/CurveFactory.d.ts +122 -0
- package/lib/esm/curve/CurveFactory.d.ts.map +1 -0
- package/lib/esm/curve/CurveFactory.js +491 -0
- package/lib/esm/curve/CurveFactory.js.map +1 -0
- package/lib/esm/curve/CurveLocationDetail.d.ts +207 -0
- package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -0
- package/lib/esm/curve/CurveLocationDetail.js +392 -0
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -0
- package/lib/esm/curve/CurvePrimitive.d.ts +363 -0
- package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -0
- package/lib/esm/curve/CurvePrimitive.js +774 -0
- package/lib/esm/curve/CurvePrimitive.js.map +1 -0
- package/lib/esm/curve/CurveProcessor.d.ts +76 -0
- package/lib/esm/curve/CurveProcessor.d.ts.map +1 -0
- package/lib/esm/curve/CurveProcessor.js +122 -0
- package/lib/esm/curve/CurveProcessor.js.map +1 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.d.ts +25 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.d.ts.map +1 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.js +65 -0
- package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -0
- package/lib/esm/curve/GeometryQuery.d.ts +93 -0
- package/lib/esm/curve/GeometryQuery.d.ts.map +1 -0
- package/lib/esm/curve/GeometryQuery.js +68 -0
- package/lib/esm/curve/GeometryQuery.js.map +1 -0
- package/lib/esm/curve/LineSegment3d.d.ts +176 -0
- package/lib/esm/curve/LineSegment3d.d.ts.map +1 -0
- package/lib/esm/curve/LineSegment3d.js +315 -0
- package/lib/esm/curve/LineSegment3d.js.map +1 -0
- package/lib/esm/curve/LineString3d.d.ts +419 -0
- package/lib/esm/curve/LineString3d.d.ts.map +1 -0
- package/lib/esm/curve/LineString3d.js +1280 -0
- package/lib/esm/curve/LineString3d.js.map +1 -0
- package/lib/esm/curve/Loop.d.ts +82 -0
- package/lib/esm/curve/Loop.d.ts.map +1 -0
- package/lib/esm/curve/Loop.js +93 -0
- package/lib/esm/curve/Loop.js.map +1 -0
- package/lib/esm/curve/ParityRegion.d.ts +59 -0
- package/lib/esm/curve/ParityRegion.d.ts.map +1 -0
- package/lib/esm/curve/ParityRegion.js +113 -0
- package/lib/esm/curve/ParityRegion.js.map +1 -0
- package/lib/esm/curve/Path.d.ts +47 -0
- package/lib/esm/curve/Path.d.ts.map +1 -0
- package/lib/esm/curve/Path.js +71 -0
- package/lib/esm/curve/Path.js.map +1 -0
- package/lib/esm/curve/PointString3d.d.ts +78 -0
- package/lib/esm/curve/PointString3d.d.ts.map +1 -0
- package/lib/esm/curve/PointString3d.js +174 -0
- package/lib/esm/curve/PointString3d.js.map +1 -0
- package/lib/esm/curve/ProxyCurve.d.ts +59 -0
- package/lib/esm/curve/ProxyCurve.d.ts.map +1 -0
- package/lib/esm/curve/ProxyCurve.js +78 -0
- package/lib/esm/curve/ProxyCurve.js.map +1 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts +25 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +111 -0
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -0
- package/lib/esm/curve/Query/CurveSplitContext.d.ts +16 -0
- package/lib/esm/curve/Query/CurveSplitContext.d.ts.map +1 -0
- package/lib/esm/curve/Query/CurveSplitContext.js +107 -0
- package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -0
- package/lib/esm/curve/Query/CylindricalRange.d.ts +46 -0
- package/lib/esm/curve/Query/CylindricalRange.d.ts.map +1 -0
- package/lib/esm/curve/Query/CylindricalRange.js +111 -0
- package/lib/esm/curve/Query/CylindricalRange.js.map +1 -0
- package/lib/esm/curve/Query/InOutTests.d.ts +32 -0
- package/lib/esm/curve/Query/InOutTests.d.ts.map +1 -0
- package/lib/esm/curve/Query/InOutTests.js +116 -0
- package/lib/esm/curve/Query/InOutTests.js.map +1 -0
- package/lib/esm/curve/Query/PlanarSubdivision.d.ts +16 -0
- package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -0
- package/lib/esm/curve/Query/PlanarSubdivision.js +220 -0
- package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -0
- package/lib/esm/curve/Query/StrokeCountChain.d.ts +186 -0
- package/lib/esm/curve/Query/StrokeCountChain.d.ts.map +1 -0
- package/lib/esm/curve/Query/StrokeCountChain.js +429 -0
- package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -0
- package/lib/esm/curve/Query/StrokeCountMap.d.ts +94 -0
- package/lib/esm/curve/Query/StrokeCountMap.d.ts.map +1 -0
- package/lib/esm/curve/Query/StrokeCountMap.js +138 -0
- package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -0
- package/lib/esm/curve/RegionMomentsXY.d.ts +61 -0
- package/lib/esm/curve/RegionMomentsXY.d.ts.map +1 -0
- package/lib/esm/curve/RegionMomentsXY.js +156 -0
- package/lib/esm/curve/RegionMomentsXY.js.map +1 -0
- package/lib/esm/curve/RegionOps.d.ts +320 -0
- package/lib/esm/curve/RegionOps.d.ts.map +1 -0
- package/lib/esm/curve/RegionOps.js +642 -0
- package/lib/esm/curve/RegionOps.js.map +1 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +263 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.js +703 -0
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -0
- package/lib/esm/curve/StrokeOptions.d.ts +94 -0
- package/lib/esm/curve/StrokeOptions.d.ts.map +1 -0
- package/lib/esm/curve/StrokeOptions.js +149 -0
- package/lib/esm/curve/StrokeOptions.js.map +1 -0
- package/lib/esm/curve/UnionRegion.d.ts +49 -0
- package/lib/esm/curve/UnionRegion.d.ts.map +1 -0
- package/lib/esm/curve/UnionRegion.js +75 -0
- package/lib/esm/curve/UnionRegion.js.map +1 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.d.ts +23 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.js +62 -0
- package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.d.ts +16 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js +36 -0
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.d.ts +18 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js +32 -0
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +16 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.js +34 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +114 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.js +403 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +38 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +88 -0
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +117 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +686 -0
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts +17 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.js +21 -0
- package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.d.ts +19 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.d.ts.map +1 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js +19 -0
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +41 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js +124 -0
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts +66 -0
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts.map +1 -0
- package/lib/esm/curve/spiral/ClothoidSeries.js +220 -0
- package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -0
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts +43 -0
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/CubicEvaluator.js +67 -0
- package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts +108 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js +198 -0
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +39 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js +88 -0
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +265 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.js +469 -0
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +158 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +360 -0
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +38 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +72 -0
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts +140 -0
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts.map +1 -0
- package/lib/esm/curve/spiral/NormalizedTransition.js +182 -0
- package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts +50 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js +109 -0
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +53 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js +142 -0
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +101 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.js +106 -0
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts +80 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts.map +1 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.js +103 -0
- package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -0
- package/lib/esm/geometry3d/Angle.d.ts +214 -0
- package/lib/esm/geometry3d/Angle.d.ts.map +1 -0
- package/lib/esm/geometry3d/Angle.js +399 -0
- package/lib/esm/geometry3d/Angle.js.map +1 -0
- package/lib/esm/geometry3d/AngleSweep.d.ts +187 -0
- package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -0
- package/lib/esm/geometry3d/AngleSweep.js +325 -0
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -0
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts +51 -0
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -0
- package/lib/esm/geometry3d/BarycentricTriangle.js +97 -0
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -0
- package/lib/esm/geometry3d/BilinearPatch.d.ts +107 -0
- package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -0
- package/lib/esm/geometry3d/BilinearPatch.js +200 -0
- package/lib/esm/geometry3d/BilinearPatch.js.map +1 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +56 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.js +196 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -0
- package/lib/esm/geometry3d/Ellipsoid.d.ts +388 -0
- package/lib/esm/geometry3d/Ellipsoid.d.ts.map +1 -0
- package/lib/esm/geometry3d/Ellipsoid.js +1069 -0
- package/lib/esm/geometry3d/Ellipsoid.js.map +1 -0
- package/lib/esm/geometry3d/FrameBuilder.d.ts +91 -0
- package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -0
- package/lib/esm/geometry3d/FrameBuilder.js +315 -0
- package/lib/esm/geometry3d/FrameBuilder.js.map +1 -0
- package/lib/esm/geometry3d/FrustumAnimation.d.ts +59 -0
- package/lib/esm/geometry3d/FrustumAnimation.d.ts.map +1 -0
- package/lib/esm/geometry3d/FrustumAnimation.js +119 -0
- package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -0
- package/lib/esm/geometry3d/GeometryHandler.d.ts +329 -0
- package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -0
- package/lib/esm/geometry3d/GeometryHandler.js +169 -0
- package/lib/esm/geometry3d/GeometryHandler.js.map +1 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.d.ts +71 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.js +158 -0
- package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.d.ts +132 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.js +249 -0
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -0
- package/lib/esm/geometry3d/GrowableXYArray.d.ts +204 -0
- package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableXYArray.js +621 -0
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -0
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts +324 -0
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -0
- package/lib/esm/geometry3d/GrowableXYZArray.js +975 -0
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.d.ts +63 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.d.ts.map +1 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.js +105 -0
- package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -0
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts +69 -0
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -0
- package/lib/esm/geometry3d/IndexedXYCollection.js +16 -0
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +149 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.js +98 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.d.ts +63 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.d.ts.map +1 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js +119 -0
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -0
- package/lib/esm/geometry3d/Matrix3d.d.ts +885 -0
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Matrix3d.js +2269 -0
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts +61 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts.map +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.js +228 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +122 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +237 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +119 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +238 -0
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts +74 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.js +111 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -0
- package/lib/esm/geometry3d/Point2dVector2d.d.ts +209 -0
- package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point2dVector2d.js +461 -0
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +142 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.js +233 -0
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -0
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +699 -0
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Point3dVector3d.js +1294 -0
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -0
- package/lib/esm/geometry3d/PointHelpers.d.ts +263 -0
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -0
- package/lib/esm/geometry3d/PointHelpers.js +898 -0
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -0
- package/lib/esm/geometry3d/PointStreaming.d.ts +87 -0
- package/lib/esm/geometry3d/PointStreaming.d.ts.map +1 -0
- package/lib/esm/geometry3d/PointStreaming.js +181 -0
- package/lib/esm/geometry3d/PointStreaming.js.map +1 -0
- package/lib/esm/geometry3d/PolygonOps.d.ts +306 -0
- package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/PolygonOps.js +986 -0
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts +81 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +274 -0
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -0
- package/lib/esm/geometry3d/PolylineOps.d.ts +63 -0
- package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/PolylineOps.js +172 -0
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -0
- package/lib/esm/geometry3d/Range.d.ts +599 -0
- package/lib/esm/geometry3d/Range.d.ts.map +1 -0
- package/lib/esm/geometry3d/Range.js +1424 -0
- package/lib/esm/geometry3d/Range.js.map +1 -0
- package/lib/esm/geometry3d/Ray3d.d.ts +146 -0
- package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Ray3d.js +325 -0
- package/lib/esm/geometry3d/Ray3d.js.map +1 -0
- package/lib/esm/geometry3d/ReusableObjectCache.d.ts +55 -0
- package/lib/esm/geometry3d/ReusableObjectCache.d.ts.map +1 -0
- package/lib/esm/geometry3d/ReusableObjectCache.js +82 -0
- package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -0
- package/lib/esm/geometry3d/Segment1d.d.ts +106 -0
- package/lib/esm/geometry3d/Segment1d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Segment1d.js +169 -0
- package/lib/esm/geometry3d/Segment1d.js.map +1 -0
- package/lib/esm/geometry3d/SortablePolygon.d.ts +50 -0
- package/lib/esm/geometry3d/SortablePolygon.d.ts.map +1 -0
- package/lib/esm/geometry3d/SortablePolygon.js +312 -0
- package/lib/esm/geometry3d/SortablePolygon.js.map +1 -0
- package/lib/esm/geometry3d/Transform.d.ts +275 -0
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -0
- package/lib/esm/geometry3d/Transform.js +570 -0
- package/lib/esm/geometry3d/Transform.js.map +1 -0
- package/lib/esm/geometry3d/UVSurfaceOps.d.ts +43 -0
- package/lib/esm/geometry3d/UVSurfaceOps.d.ts.map +1 -0
- package/lib/esm/geometry3d/UVSurfaceOps.js +98 -0
- package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -0
- package/lib/esm/geometry3d/XYZProps.d.ts +143 -0
- package/lib/esm/geometry3d/XYZProps.d.ts.map +1 -0
- package/lib/esm/geometry3d/XYZProps.js +6 -0
- package/lib/esm/geometry3d/XYZProps.js.map +1 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.d.ts +111 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.d.ts.map +1 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.js +195 -0
- package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -0
- package/lib/esm/geometry4d/Map4d.d.ts +73 -0
- package/lib/esm/geometry4d/Map4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/Map4d.js +147 -0
- package/lib/esm/geometry4d/Map4d.js.map +1 -0
- package/lib/esm/geometry4d/Matrix4d.d.ts +284 -0
- package/lib/esm/geometry4d/Matrix4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/Matrix4d.js +739 -0
- package/lib/esm/geometry4d/Matrix4d.js.map +1 -0
- package/lib/esm/geometry4d/MomentData.d.ts +180 -0
- package/lib/esm/geometry4d/MomentData.d.ts.map +1 -0
- package/lib/esm/geometry4d/MomentData.js +384 -0
- package/lib/esm/geometry4d/MomentData.js.map +1 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.d.ts +43 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js +81 -0
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -0
- package/lib/esm/geometry4d/Point4d.d.ts +257 -0
- package/lib/esm/geometry4d/Point4d.d.ts.map +1 -0
- package/lib/esm/geometry4d/Point4d.js +552 -0
- package/lib/esm/geometry4d/Point4d.js.map +1 -0
- package/lib/esm/numerics/BandedSystem.d.ts +39 -0
- package/lib/esm/numerics/BandedSystem.d.ts.map +1 -0
- package/lib/esm/numerics/BandedSystem.js +156 -0
- package/lib/esm/numerics/BandedSystem.js.map +1 -0
- package/lib/esm/numerics/BezierPolynomials.d.ts +462 -0
- package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -0
- package/lib/esm/numerics/BezierPolynomials.js +1189 -0
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -0
- package/lib/esm/numerics/ClusterableArray.d.ts +162 -0
- package/lib/esm/numerics/ClusterableArray.d.ts.map +1 -0
- package/lib/esm/numerics/ClusterableArray.js +477 -0
- package/lib/esm/numerics/ClusterableArray.js.map +1 -0
- package/lib/esm/numerics/Complex.d.ts +63 -0
- package/lib/esm/numerics/Complex.d.ts.map +1 -0
- package/lib/esm/numerics/Complex.js +116 -0
- package/lib/esm/numerics/Complex.js.map +1 -0
- package/lib/esm/numerics/ConvexPolygon2d.d.ts +86 -0
- package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -0
- package/lib/esm/numerics/ConvexPolygon2d.js +313 -0
- package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -0
- package/lib/esm/numerics/Newton.d.ts +188 -0
- package/lib/esm/numerics/Newton.d.ts.map +1 -0
- package/lib/esm/numerics/Newton.js +247 -0
- package/lib/esm/numerics/Newton.js.map +1 -0
- package/lib/esm/numerics/PascalCoefficients.d.ts +33 -0
- package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -0
- package/lib/esm/numerics/PascalCoefficients.js +91 -0
- package/lib/esm/numerics/PascalCoefficients.js.map +1 -0
- package/lib/esm/numerics/PolarData.d.ts +42 -0
- package/lib/esm/numerics/PolarData.d.ts.map +1 -0
- package/lib/esm/numerics/PolarData.js +162 -0
- package/lib/esm/numerics/PolarData.js.map +1 -0
- package/lib/esm/numerics/Polynomials.d.ts +653 -0
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -0
- package/lib/esm/numerics/Polynomials.js +1697 -0
- package/lib/esm/numerics/Polynomials.js.map +1 -0
- package/lib/esm/numerics/Quadrature.d.ts +91 -0
- package/lib/esm/numerics/Quadrature.d.ts.map +1 -0
- package/lib/esm/numerics/Quadrature.js +199 -0
- package/lib/esm/numerics/Quadrature.js.map +1 -0
- package/lib/esm/numerics/Range1dArray.d.ts +80 -0
- package/lib/esm/numerics/Range1dArray.d.ts.map +1 -0
- package/lib/esm/numerics/Range1dArray.js +358 -0
- package/lib/esm/numerics/Range1dArray.js.map +1 -0
- package/lib/esm/numerics/TriDiagonalSystem.d.ts +51 -0
- package/lib/esm/numerics/TriDiagonalSystem.d.ts.map +1 -0
- package/lib/esm/numerics/TriDiagonalSystem.js +270 -0
- package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -0
- package/lib/esm/numerics/UnionFind.d.ts +49 -0
- package/lib/esm/numerics/UnionFind.d.ts.map +1 -0
- package/lib/esm/numerics/UnionFind.js +117 -0
- package/lib/esm/numerics/UnionFind.js.map +1 -0
- package/lib/esm/numerics/UsageSums.d.ts +86 -0
- package/lib/esm/numerics/UsageSums.d.ts.map +1 -0
- package/lib/esm/numerics/UsageSums.js +128 -0
- package/lib/esm/numerics/UsageSums.js.map +1 -0
- package/lib/esm/polyface/AuxData.d.ts +112 -0
- package/lib/esm/polyface/AuxData.d.ts.map +1 -0
- package/lib/esm/polyface/AuxData.js +228 -0
- package/lib/esm/polyface/AuxData.js.map +1 -0
- package/lib/esm/polyface/BoxTopology.d.ts +38 -0
- package/lib/esm/polyface/BoxTopology.d.ts.map +1 -0
- package/lib/esm/polyface/BoxTopology.js +99 -0
- package/lib/esm/polyface/BoxTopology.js.map +1 -0
- package/lib/esm/polyface/FacetFaceData.d.ts +44 -0
- package/lib/esm/polyface/FacetFaceData.d.ts.map +1 -0
- package/lib/esm/polyface/FacetFaceData.js +142 -0
- package/lib/esm/polyface/FacetFaceData.js.map +1 -0
- package/lib/esm/polyface/FacetOrientation.d.ts +39 -0
- package/lib/esm/polyface/FacetOrientation.d.ts.map +1 -0
- package/lib/esm/polyface/FacetOrientation.js +192 -0
- package/lib/esm/polyface/FacetOrientation.js.map +1 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.d.ts +61 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +1 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js +245 -0
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +87 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.js +192 -0
- package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +109 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js +237 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -0
- package/lib/esm/polyface/Polyface.d.ts +254 -0
- package/lib/esm/polyface/Polyface.d.ts.map +1 -0
- package/lib/esm/polyface/Polyface.js +501 -0
- package/lib/esm/polyface/Polyface.js.map +1 -0
- package/lib/esm/polyface/PolyfaceBuilder.d.ts +395 -0
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceBuilder.js +1634 -0
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -0
- package/lib/esm/polyface/PolyfaceClip.d.ts +172 -0
- package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceClip.js +565 -0
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -0
- package/lib/esm/polyface/PolyfaceData.d.ts +206 -0
- package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceData.js +527 -0
- package/lib/esm/polyface/PolyfaceData.js.map +1 -0
- package/lib/esm/polyface/PolyfaceQuery.d.ts +302 -0
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -0
- package/lib/esm/polyface/PolyfaceQuery.js +947 -0
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -0
- package/lib/esm/polyface/RangeLengthData.d.ts +31 -0
- package/lib/esm/polyface/RangeLengthData.d.ts.map +1 -0
- package/lib/esm/polyface/RangeLengthData.js +39 -0
- package/lib/esm/polyface/RangeLengthData.js.map +1 -0
- package/lib/esm/polyface/TaggedNumericData.d.ts +95 -0
- package/lib/esm/polyface/TaggedNumericData.d.ts.map +1 -0
- package/lib/esm/polyface/TaggedNumericData.js +160 -0
- package/lib/esm/polyface/TaggedNumericData.js.map +1 -0
- package/lib/esm/polyface/TriangleCandidate.d.ts +64 -0
- package/lib/esm/polyface/TriangleCandidate.d.ts.map +1 -0
- package/lib/esm/polyface/TriangleCandidate.js +116 -0
- package/lib/esm/polyface/TriangleCandidate.js.map +1 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts +29 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +160 -0
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +81 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js +159 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +53 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +74 -0
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts +44 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js +80 -0
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts +32 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js +9 -0
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -0
- package/lib/esm/polyface/multiclip/RangeSearch.d.ts +27 -0
- package/lib/esm/polyface/multiclip/RangeSearch.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/RangeSearch.js +49 -0
- package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +25 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +90 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts +73 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.js +192 -0
- package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -0
- package/lib/esm/serialization/BGFBAccessors.d.ts +3426 -0
- package/lib/esm/serialization/BGFBAccessors.d.ts.map +1 -0
- package/lib/esm/serialization/BGFBAccessors.js +5543 -0
- package/lib/esm/serialization/BGFBAccessors.js.map +1 -0
- package/lib/esm/serialization/BGFBReader.d.ts +118 -0
- package/lib/esm/serialization/BGFBReader.d.ts.map +1 -0
- package/lib/esm/serialization/BGFBReader.js +661 -0
- package/lib/esm/serialization/BGFBReader.js.map +1 -0
- package/lib/esm/serialization/BGFBWriter.d.ts +69 -0
- package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -0
- package/lib/esm/serialization/BGFBWriter.js +587 -0
- package/lib/esm/serialization/BGFBWriter.js.map +1 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.d.ts +23 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.d.ts.map +1 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.js +26 -0
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -0
- package/lib/esm/serialization/DeepCompare.d.ts +41 -0
- package/lib/esm/serialization/DeepCompare.d.ts.map +1 -0
- package/lib/esm/serialization/DeepCompare.js +185 -0
- package/lib/esm/serialization/DeepCompare.js.map +1 -0
- package/lib/esm/serialization/GeometrySamples.d.ts +616 -0
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -0
- package/lib/esm/serialization/GeometrySamples.js +2124 -0
- package/lib/esm/serialization/GeometrySamples.js.map +1 -0
- package/lib/esm/serialization/IModelJsonSchema.d.ts +671 -0
- package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -0
- package/lib/esm/serialization/IModelJsonSchema.js +1523 -0
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -0
- package/lib/esm/solid/Box.d.ts +122 -0
- package/lib/esm/solid/Box.d.ts.map +1 -0
- package/lib/esm/solid/Box.js +229 -0
- package/lib/esm/solid/Box.js.map +1 -0
- package/lib/esm/solid/Cone.d.ts +119 -0
- package/lib/esm/solid/Cone.d.ts.map +1 -0
- package/lib/esm/solid/Cone.js +267 -0
- package/lib/esm/solid/Cone.js.map +1 -0
- package/lib/esm/solid/LinearSweep.d.ts +81 -0
- package/lib/esm/solid/LinearSweep.d.ts.map +1 -0
- package/lib/esm/solid/LinearSweep.js +143 -0
- package/lib/esm/solid/LinearSweep.js.map +1 -0
- package/lib/esm/solid/RotationalSweep.d.ts +71 -0
- package/lib/esm/solid/RotationalSweep.d.ts.map +1 -0
- package/lib/esm/solid/RotationalSweep.js +139 -0
- package/lib/esm/solid/RotationalSweep.js.map +1 -0
- package/lib/esm/solid/RuledSweep.d.ts +76 -0
- package/lib/esm/solid/RuledSweep.d.ts.map +1 -0
- package/lib/esm/solid/RuledSweep.js +202 -0
- package/lib/esm/solid/RuledSweep.js.map +1 -0
- package/lib/esm/solid/SolidPrimitive.d.ts +63 -0
- package/lib/esm/solid/SolidPrimitive.d.ts.map +1 -0
- package/lib/esm/solid/SolidPrimitive.js +23 -0
- package/lib/esm/solid/SolidPrimitive.js.map +1 -0
- package/lib/esm/solid/Sphere.d.ts +120 -0
- package/lib/esm/solid/Sphere.d.ts.map +1 -0
- package/lib/esm/solid/Sphere.js +294 -0
- package/lib/esm/solid/Sphere.js.map +1 -0
- package/lib/esm/solid/SweepContour.d.ts +82 -0
- package/lib/esm/solid/SweepContour.d.ts.map +1 -0
- package/lib/esm/solid/SweepContour.js +250 -0
- package/lib/esm/solid/SweepContour.js.map +1 -0
- package/lib/esm/solid/TorusPipe.d.ts +123 -0
- package/lib/esm/solid/TorusPipe.d.ts.map +1 -0
- package/lib/esm/solid/TorusPipe.js +296 -0
- package/lib/esm/solid/TorusPipe.js.map +1 -0
- package/lib/esm/topology/ChainMerge.d.ts +119 -0
- package/lib/esm/topology/ChainMerge.d.ts.map +1 -0
- package/lib/esm/topology/ChainMerge.js +280 -0
- package/lib/esm/topology/ChainMerge.js.map +1 -0
- package/lib/esm/topology/Graph.d.ts +591 -0
- package/lib/esm/topology/Graph.d.ts.map +1 -0
- package/lib/esm/topology/Graph.js +1156 -0
- package/lib/esm/topology/Graph.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +125 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.js +296 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.d.ts +98 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js +519 -0
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.d.ts +52 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.js +107 -0
- package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -0
- package/lib/esm/topology/HalfEdgeMarkSet.d.ts +232 -0
- package/lib/esm/topology/HalfEdgeMarkSet.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeMarkSet.js +369 -0
- package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.d.ts +51 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.js +93 -0
- package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts +34 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js +252 -0
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -0
- package/lib/esm/topology/HalfEdgePositionDetail.d.ts +97 -0
- package/lib/esm/topology/HalfEdgePositionDetail.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgePositionDetail.js +173 -0
- package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.d.ts +34 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.js +68 -0
- package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.d.ts +38 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.d.ts.map +1 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.js +239 -0
- package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -0
- package/lib/esm/topology/MaskManager.d.ts +33 -0
- package/lib/esm/topology/MaskManager.d.ts.map +1 -0
- package/lib/esm/topology/MaskManager.js +63 -0
- package/lib/esm/topology/MaskManager.js.map +1 -0
- package/lib/esm/topology/Merging.d.ts +90 -0
- package/lib/esm/topology/Merging.d.ts.map +1 -0
- package/lib/esm/topology/Merging.js +362 -0
- package/lib/esm/topology/Merging.js.map +1 -0
- package/lib/esm/topology/RegularizeFace.d.ts +106 -0
- package/lib/esm/topology/RegularizeFace.d.ts.map +1 -0
- package/lib/esm/topology/RegularizeFace.js +367 -0
- package/lib/esm/topology/RegularizeFace.js.map +1 -0
- package/lib/esm/topology/SignedDataSummary.d.ts +37 -0
- package/lib/esm/topology/SignedDataSummary.d.ts.map +1 -0
- package/lib/esm/topology/SignedDataSummary.js +54 -0
- package/lib/esm/topology/SignedDataSummary.js.map +1 -0
- package/lib/esm/topology/Triangulation.d.ts +230 -0
- package/lib/esm/topology/Triangulation.d.ts.map +1 -0
- package/lib/esm/topology/Triangulation.js +945 -0
- package/lib/esm/topology/Triangulation.js.map +1 -0
- package/lib/esm/topology/XYParitySearchContext.d.ts +54 -0
- package/lib/esm/topology/XYParitySearchContext.d.ts.map +1 -0
- package/lib/esm/topology/XYParitySearchContext.js +138 -0
- package/lib/esm/topology/XYParitySearchContext.js.map +1 -0
- package/package.json +11 -8
- package/lib/Constant.d.ts.map +0 -1
- package/lib/Constant.js.map +0 -1
- package/lib/Geometry.d.ts.map +0 -1
- package/lib/Geometry.js.map +0 -1
- package/lib/bspline/AkimaCurve3d.d.ts.map +0 -1
- package/lib/bspline/AkimaCurve3d.js.map +0 -1
- package/lib/bspline/BSpline1dNd.d.ts.map +0 -1
- package/lib/bspline/BSpline1dNd.js.map +0 -1
- package/lib/bspline/BSplineCurve.d.ts.map +0 -1
- package/lib/bspline/BSplineCurve.js.map +0 -1
- package/lib/bspline/BSplineCurve3dH.d.ts.map +0 -1
- package/lib/bspline/BSplineCurve3dH.js.map +0 -1
- package/lib/bspline/BSplineCurveOps.d.ts.map +0 -1
- package/lib/bspline/BSplineCurveOps.js.map +0 -1
- package/lib/bspline/BSplineSurface.d.ts +0 -485
- package/lib/bspline/BSplineSurface.d.ts.map +0 -1
- package/lib/bspline/BSplineSurface.js.map +0 -1
- package/lib/bspline/Bezier1dNd.d.ts.map +0 -1
- package/lib/bspline/Bezier1dNd.js.map +0 -1
- package/lib/bspline/BezierCurve3d.d.ts.map +0 -1
- package/lib/bspline/BezierCurve3d.js.map +0 -1
- package/lib/bspline/BezierCurve3dH.d.ts.map +0 -1
- package/lib/bspline/BezierCurve3dH.js.map +0 -1
- package/lib/bspline/BezierCurveBase.d.ts.map +0 -1
- package/lib/bspline/BezierCurveBase.js.map +0 -1
- package/lib/bspline/InterpolationCurve3d.d.ts.map +0 -1
- package/lib/bspline/InterpolationCurve3d.js.map +0 -1
- package/lib/bspline/KnotVector.d.ts.map +0 -1
- package/lib/bspline/KnotVector.js.map +0 -1
- package/lib/bspline/SurfaceLocationDetail.d.ts.map +0 -1
- package/lib/bspline/SurfaceLocationDetail.js.map +0 -1
- package/lib/clipping/AlternatingConvexClipTree.d.ts.map +0 -1
- package/lib/clipping/AlternatingConvexClipTree.js.map +0 -1
- package/lib/clipping/BooleanClipFactory.d.ts.map +0 -1
- package/lib/clipping/BooleanClipFactory.js.map +0 -1
- package/lib/clipping/BooleanClipNode.d.ts.map +0 -1
- package/lib/clipping/BooleanClipNode.js.map +0 -1
- package/lib/clipping/ClipPlane.d.ts.map +0 -1
- package/lib/clipping/ClipPlane.js.map +0 -1
- package/lib/clipping/ClipPrimitive.d.ts.map +0 -1
- package/lib/clipping/ClipPrimitive.js.map +0 -1
- package/lib/clipping/ClipUtils.d.ts.map +0 -1
- package/lib/clipping/ClipUtils.js.map +0 -1
- package/lib/clipping/ClipVector.d.ts.map +0 -1
- package/lib/clipping/ClipVector.js.map +0 -1
- package/lib/clipping/ConvexClipPlaneSet.d.ts.map +0 -1
- package/lib/clipping/ConvexClipPlaneSet.js.map +0 -1
- package/lib/clipping/UnionOfConvexClipPlaneSets.d.ts.map +0 -1
- package/lib/clipping/UnionOfConvexClipPlaneSets.js.map +0 -1
- package/lib/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +0 -1
- package/lib/clipping/internalContexts/LineStringOffsetClipperContext.js.map +0 -1
- package/lib/core-geometry.d.ts.map +0 -1
- package/lib/core-geometry.js.map +0 -1
- package/lib/curve/Arc3d.d.ts.map +0 -1
- package/lib/curve/Arc3d.js.map +0 -1
- package/lib/curve/ChainCollectorContext.d.ts.map +0 -1
- package/lib/curve/ChainCollectorContext.js.map +0 -1
- package/lib/curve/ConstructCurveBetweenCurves.d.ts.map +0 -1
- package/lib/curve/ConstructCurveBetweenCurves.js.map +0 -1
- package/lib/curve/CoordinateXYZ.d.ts.map +0 -1
- package/lib/curve/CoordinateXYZ.js.map +0 -1
- package/lib/curve/CurveChain.d.ts.map +0 -1
- package/lib/curve/CurveChain.js.map +0 -1
- package/lib/curve/CurveChainWithDistanceIndex.d.ts.map +0 -1
- package/lib/curve/CurveChainWithDistanceIndex.js.map +0 -1
- package/lib/curve/CurveCollection.d.ts.map +0 -1
- package/lib/curve/CurveCollection.js.map +0 -1
- package/lib/curve/CurveCurve.d.ts.map +0 -1
- package/lib/curve/CurveCurve.js.map +0 -1
- package/lib/curve/CurveCurveCloseApproachXY.d.ts.map +0 -1
- package/lib/curve/CurveCurveCloseApproachXY.js.map +0 -1
- package/lib/curve/CurveCurveIntersectXY.d.ts.map +0 -1
- package/lib/curve/CurveCurveIntersectXY.js.map +0 -1
- package/lib/curve/CurveCurveIntersectXYZ.d.ts.map +0 -1
- package/lib/curve/CurveCurveIntersectXYZ.js.map +0 -1
- package/lib/curve/CurveExtendMode.d.ts.map +0 -1
- package/lib/curve/CurveExtendMode.js.map +0 -1
- package/lib/curve/CurveFactory.d.ts.map +0 -1
- package/lib/curve/CurveFactory.js.map +0 -1
- package/lib/curve/CurveLocationDetail.d.ts.map +0 -1
- package/lib/curve/CurveLocationDetail.js.map +0 -1
- package/lib/curve/CurvePrimitive.d.ts.map +0 -1
- package/lib/curve/CurvePrimitive.js.map +0 -1
- package/lib/curve/CurveProcessor.d.ts.map +0 -1
- package/lib/curve/CurveProcessor.js.map +0 -1
- package/lib/curve/CurveWireMomentsXYZ.d.ts.map +0 -1
- package/lib/curve/CurveWireMomentsXYZ.js.map +0 -1
- package/lib/curve/GeometryQuery.d.ts.map +0 -1
- package/lib/curve/GeometryQuery.js.map +0 -1
- package/lib/curve/LineSegment3d.d.ts.map +0 -1
- package/lib/curve/LineSegment3d.js.map +0 -1
- package/lib/curve/LineString3d.d.ts.map +0 -1
- package/lib/curve/LineString3d.js.map +0 -1
- package/lib/curve/Loop.d.ts.map +0 -1
- package/lib/curve/Loop.js.map +0 -1
- package/lib/curve/ParityRegion.d.ts.map +0 -1
- package/lib/curve/ParityRegion.js.map +0 -1
- package/lib/curve/Path.d.ts.map +0 -1
- package/lib/curve/Path.js.map +0 -1
- package/lib/curve/PointString3d.d.ts.map +0 -1
- package/lib/curve/PointString3d.js.map +0 -1
- package/lib/curve/ProxyCurve.d.ts.map +0 -1
- package/lib/curve/ProxyCurve.js.map +0 -1
- package/lib/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +0 -1
- package/lib/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +0 -1
- package/lib/curve/Query/CurveSplitContext.d.ts.map +0 -1
- package/lib/curve/Query/CurveSplitContext.js.map +0 -1
- package/lib/curve/Query/CylindricalRange.d.ts.map +0 -1
- package/lib/curve/Query/CylindricalRange.js.map +0 -1
- package/lib/curve/Query/InOutTests.d.ts.map +0 -1
- package/lib/curve/Query/InOutTests.js.map +0 -1
- package/lib/curve/Query/PlanarSubdivision.d.ts.map +0 -1
- package/lib/curve/Query/PlanarSubdivision.js.map +0 -1
- package/lib/curve/Query/StrokeCountChain.d.ts.map +0 -1
- package/lib/curve/Query/StrokeCountChain.js.map +0 -1
- package/lib/curve/Query/StrokeCountMap.d.ts.map +0 -1
- package/lib/curve/Query/StrokeCountMap.js.map +0 -1
- package/lib/curve/RegionMomentsXY.d.ts.map +0 -1
- package/lib/curve/RegionMomentsXY.js.map +0 -1
- package/lib/curve/RegionOps.d.ts.map +0 -1
- package/lib/curve/RegionOps.js.map +0 -1
- package/lib/curve/RegionOpsClassificationSweeps.d.ts.map +0 -1
- package/lib/curve/RegionOpsClassificationSweeps.js.map +0 -1
- package/lib/curve/StrokeOptions.d.ts.map +0 -1
- package/lib/curve/StrokeOptions.js.map +0 -1
- package/lib/curve/UnionRegion.d.ts.map +0 -1
- package/lib/curve/UnionRegion.js.map +0 -1
- package/lib/curve/internalContexts/CloneCurvesContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/CloneCurvesContext.js.map +0 -1
- package/lib/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +0 -1
- package/lib/curve/internalContexts/CloneWithExpandedLineStrings.js.map +0 -1
- package/lib/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/CountLinearPartsSearchContext.js.map +0 -1
- package/lib/curve/internalContexts/GapSearchContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/GapSearchContext.js.map +0 -1
- package/lib/curve/internalContexts/MultiChainCollector.d.ts.map +0 -1
- package/lib/curve/internalContexts/MultiChainCollector.js.map +0 -1
- package/lib/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/PlaneAltitudeRangeContext.js.map +0 -1
- package/lib/curve/internalContexts/PolygonOffsetContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/PolygonOffsetContext.js.map +0 -1
- package/lib/curve/internalContexts/SumLengthsContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/SumLengthsContext.js.map +0 -1
- package/lib/curve/internalContexts/TransformInPlaceContext.d.ts.map +0 -1
- package/lib/curve/internalContexts/TransformInPlaceContext.js.map +0 -1
- package/lib/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/AustralianRailCorpXYEvaluator.js.map +0 -1
- package/lib/curve/spiral/ClothoidSeries.d.ts.map +0 -1
- package/lib/curve/spiral/ClothoidSeries.js.map +0 -1
- package/lib/curve/spiral/CubicEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/CubicEvaluator.js.map +0 -1
- package/lib/curve/spiral/CzechSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/CzechSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/DirectSpiral3d.d.ts +0 -264
- package/lib/curve/spiral/DirectSpiral3d.d.ts.map +0 -1
- package/lib/curve/spiral/DirectSpiral3d.js +0 -464
- package/lib/curve/spiral/DirectSpiral3d.js.map +0 -1
- package/lib/curve/spiral/IntegratedSpiral3d.d.ts +0 -154
- package/lib/curve/spiral/IntegratedSpiral3d.d.ts.map +0 -1
- package/lib/curve/spiral/IntegratedSpiral3d.js +0 -351
- package/lib/curve/spiral/IntegratedSpiral3d.js.map +0 -1
- package/lib/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/NormalizedTransition.d.ts.map +0 -1
- package/lib/curve/spiral/NormalizedTransition.js.map +0 -1
- package/lib/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/PolishCubicSpiralEvaluator.js.map +0 -1
- package/lib/curve/spiral/TransitionConditionalProperties.d.ts.map +0 -1
- package/lib/curve/spiral/TransitionConditionalProperties.js.map +0 -1
- package/lib/curve/spiral/TransitionSpiral3d.d.ts.map +0 -1
- package/lib/curve/spiral/TransitionSpiral3d.js.map +0 -1
- package/lib/curve/spiral/XYCurveEvaluator.d.ts.map +0 -1
- package/lib/curve/spiral/XYCurveEvaluator.js.map +0 -1
- package/lib/geometry3d/Angle.d.ts.map +0 -1
- package/lib/geometry3d/Angle.js.map +0 -1
- package/lib/geometry3d/AngleSweep.d.ts.map +0 -1
- package/lib/geometry3d/AngleSweep.js.map +0 -1
- package/lib/geometry3d/BarycentricTriangle.d.ts.map +0 -1
- package/lib/geometry3d/BarycentricTriangle.js.map +0 -1
- package/lib/geometry3d/BilinearPatch.d.ts.map +0 -1
- package/lib/geometry3d/BilinearPatch.js.map +0 -1
- package/lib/geometry3d/CoincidentGeometryOps.d.ts.map +0 -1
- package/lib/geometry3d/CoincidentGeometryOps.js.map +0 -1
- package/lib/geometry3d/Ellipsoid.d.ts.map +0 -1
- package/lib/geometry3d/Ellipsoid.js.map +0 -1
- package/lib/geometry3d/FrameBuilder.d.ts.map +0 -1
- package/lib/geometry3d/FrameBuilder.js.map +0 -1
- package/lib/geometry3d/FrustumAnimation.d.ts.map +0 -1
- package/lib/geometry3d/FrustumAnimation.js.map +0 -1
- package/lib/geometry3d/GeometryHandler.d.ts.map +0 -1
- package/lib/geometry3d/GeometryHandler.js.map +0 -1
- package/lib/geometry3d/GrowableBlockedArray.d.ts.map +0 -1
- package/lib/geometry3d/GrowableBlockedArray.js.map +0 -1
- package/lib/geometry3d/GrowableFloat64Array.d.ts.map +0 -1
- package/lib/geometry3d/GrowableFloat64Array.js.map +0 -1
- package/lib/geometry3d/GrowableXYArray.d.ts.map +0 -1
- package/lib/geometry3d/GrowableXYArray.js.map +0 -1
- package/lib/geometry3d/GrowableXYZArray.d.ts.map +0 -1
- package/lib/geometry3d/GrowableXYZArray.js.map +0 -1
- package/lib/geometry3d/IndexedCollectionInterval.d.ts.map +0 -1
- package/lib/geometry3d/IndexedCollectionInterval.js.map +0 -1
- package/lib/geometry3d/IndexedXYCollection.d.ts.map +0 -1
- package/lib/geometry3d/IndexedXYCollection.js.map +0 -1
- package/lib/geometry3d/IndexedXYZCollection.d.ts.map +0 -1
- package/lib/geometry3d/IndexedXYZCollection.js.map +0 -1
- package/lib/geometry3d/LongitudeLatitudeAltitude.d.ts.map +0 -1
- package/lib/geometry3d/LongitudeLatitudeAltitude.js.map +0 -1
- package/lib/geometry3d/Matrix3d.d.ts.map +0 -1
- package/lib/geometry3d/Matrix3d.js.map +0 -1
- package/lib/geometry3d/OrderedRotationAngles.d.ts.map +0 -1
- package/lib/geometry3d/OrderedRotationAngles.js.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndUnitNormal.js.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndVectors.d.ts.map +0 -1
- package/lib/geometry3d/Plane3dByOriginAndVectors.js.map +0 -1
- package/lib/geometry3d/Point2dArrayCarrier.d.ts.map +0 -1
- package/lib/geometry3d/Point2dArrayCarrier.js.map +0 -1
- package/lib/geometry3d/Point2dVector2d.d.ts.map +0 -1
- package/lib/geometry3d/Point2dVector2d.js.map +0 -1
- package/lib/geometry3d/Point3dArrayCarrier.d.ts.map +0 -1
- package/lib/geometry3d/Point3dArrayCarrier.js.map +0 -1
- package/lib/geometry3d/Point3dVector3d.d.ts.map +0 -1
- package/lib/geometry3d/Point3dVector3d.js.map +0 -1
- package/lib/geometry3d/PointHelpers.d.ts.map +0 -1
- package/lib/geometry3d/PointHelpers.js.map +0 -1
- package/lib/geometry3d/PointStreaming.d.ts.map +0 -1
- package/lib/geometry3d/PointStreaming.js.map +0 -1
- package/lib/geometry3d/PolygonOps.d.ts.map +0 -1
- package/lib/geometry3d/PolygonOps.js.map +0 -1
- package/lib/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +0 -1
- package/lib/geometry3d/PolylineCompressionByEdgeOffset.js.map +0 -1
- package/lib/geometry3d/PolylineOps.d.ts.map +0 -1
- package/lib/geometry3d/PolylineOps.js.map +0 -1
- package/lib/geometry3d/Range.d.ts.map +0 -1
- package/lib/geometry3d/Range.js.map +0 -1
- package/lib/geometry3d/Ray3d.d.ts.map +0 -1
- package/lib/geometry3d/Ray3d.js.map +0 -1
- package/lib/geometry3d/ReusableObjectCache.d.ts.map +0 -1
- package/lib/geometry3d/ReusableObjectCache.js.map +0 -1
- package/lib/geometry3d/Segment1d.d.ts.map +0 -1
- package/lib/geometry3d/Segment1d.js.map +0 -1
- package/lib/geometry3d/SortablePolygon.d.ts.map +0 -1
- package/lib/geometry3d/SortablePolygon.js.map +0 -1
- package/lib/geometry3d/Transform.d.ts.map +0 -1
- package/lib/geometry3d/Transform.js.map +0 -1
- package/lib/geometry3d/UVSurfaceOps.d.ts.map +0 -1
- package/lib/geometry3d/UVSurfaceOps.js.map +0 -1
- package/lib/geometry3d/XYZProps.d.ts.map +0 -1
- package/lib/geometry3d/XYZProps.js.map +0 -1
- package/lib/geometry3d/YawPitchRollAngles.d.ts.map +0 -1
- package/lib/geometry3d/YawPitchRollAngles.js.map +0 -1
- package/lib/geometry4d/Map4d.d.ts.map +0 -1
- package/lib/geometry4d/Map4d.js.map +0 -1
- package/lib/geometry4d/Matrix4d.d.ts.map +0 -1
- package/lib/geometry4d/Matrix4d.js.map +0 -1
- package/lib/geometry4d/MomentData.d.ts.map +0 -1
- package/lib/geometry4d/MomentData.js.map +0 -1
- package/lib/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +0 -1
- package/lib/geometry4d/PlaneByOriginAndVectors4d.js.map +0 -1
- package/lib/geometry4d/Point4d.d.ts.map +0 -1
- package/lib/geometry4d/Point4d.js.map +0 -1
- package/lib/numerics/BandedSystem.d.ts.map +0 -1
- package/lib/numerics/BandedSystem.js.map +0 -1
- package/lib/numerics/BezierPolynomials.d.ts.map +0 -1
- package/lib/numerics/BezierPolynomials.js.map +0 -1
- package/lib/numerics/ClusterableArray.d.ts.map +0 -1
- package/lib/numerics/ClusterableArray.js.map +0 -1
- package/lib/numerics/Complex.d.ts.map +0 -1
- package/lib/numerics/Complex.js.map +0 -1
- package/lib/numerics/ConvexPolygon2d.d.ts.map +0 -1
- package/lib/numerics/ConvexPolygon2d.js.map +0 -1
- package/lib/numerics/Newton.d.ts.map +0 -1
- package/lib/numerics/Newton.js.map +0 -1
- package/lib/numerics/PascalCoefficients.d.ts.map +0 -1
- package/lib/numerics/PascalCoefficients.js.map +0 -1
- package/lib/numerics/PolarData.d.ts.map +0 -1
- package/lib/numerics/PolarData.js.map +0 -1
- package/lib/numerics/Polynomials.d.ts.map +0 -1
- package/lib/numerics/Polynomials.js.map +0 -1
- package/lib/numerics/Quadrature.d.ts.map +0 -1
- package/lib/numerics/Quadrature.js.map +0 -1
- package/lib/numerics/Range1dArray.d.ts.map +0 -1
- package/lib/numerics/Range1dArray.js.map +0 -1
- package/lib/numerics/TriDiagonalSystem.d.ts.map +0 -1
- package/lib/numerics/TriDiagonalSystem.js.map +0 -1
- package/lib/numerics/UnionFind.d.ts.map +0 -1
- package/lib/numerics/UnionFind.js.map +0 -1
- package/lib/numerics/UsageSums.d.ts.map +0 -1
- package/lib/numerics/UsageSums.js.map +0 -1
- package/lib/polyface/AuxData.d.ts.map +0 -1
- package/lib/polyface/AuxData.js.map +0 -1
- package/lib/polyface/BoxTopology.d.ts.map +0 -1
- package/lib/polyface/BoxTopology.js.map +0 -1
- package/lib/polyface/FacetFaceData.d.ts.map +0 -1
- package/lib/polyface/FacetFaceData.js.map +0 -1
- package/lib/polyface/FacetOrientation.d.ts.map +0 -1
- package/lib/polyface/FacetOrientation.js.map +0 -1
- package/lib/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +0 -1
- package/lib/polyface/GreedyTriangulationBetweenLineStrings.js.map +0 -1
- package/lib/polyface/IndexedEdgeMatcher.d.ts.map +0 -1
- package/lib/polyface/IndexedEdgeMatcher.js.map +0 -1
- package/lib/polyface/IndexedPolyfaceVisitor.d.ts.map +0 -1
- package/lib/polyface/IndexedPolyfaceVisitor.js.map +0 -1
- package/lib/polyface/Polyface.d.ts.map +0 -1
- package/lib/polyface/Polyface.js.map +0 -1
- package/lib/polyface/PolyfaceBuilder.d.ts.map +0 -1
- package/lib/polyface/PolyfaceBuilder.js.map +0 -1
- package/lib/polyface/PolyfaceClip.d.ts.map +0 -1
- package/lib/polyface/PolyfaceClip.js.map +0 -1
- package/lib/polyface/PolyfaceData.d.ts +0 -170
- package/lib/polyface/PolyfaceData.d.ts.map +0 -1
- package/lib/polyface/PolyfaceData.js +0 -531
- package/lib/polyface/PolyfaceData.js.map +0 -1
- package/lib/polyface/PolyfaceQuery.d.ts.map +0 -1
- package/lib/polyface/PolyfaceQuery.js.map +0 -1
- package/lib/polyface/RangeLengthData.d.ts.map +0 -1
- package/lib/polyface/RangeLengthData.js.map +0 -1
- package/lib/polyface/TaggedNumericData.d.ts.map +0 -1
- package/lib/polyface/TaggedNumericData.js.map +0 -1
- package/lib/polyface/TriangleCandidate.d.ts.map +0 -1
- package/lib/polyface/TriangleCandidate.js.map +0 -1
- package/lib/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +0 -1
- package/lib/polyface/multiclip/BuildAverageNormalsContext.js.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSet.js.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +0 -1
- package/lib/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +0 -1
- package/lib/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +0 -1
- package/lib/polyface/multiclip/LinearSearchRange2dArray.js.map +0 -1
- package/lib/polyface/multiclip/Range2dSearchInterface.d.ts.map +0 -1
- package/lib/polyface/multiclip/Range2dSearchInterface.js.map +0 -1
- package/lib/polyface/multiclip/RangeSearch.d.ts.map +0 -1
- package/lib/polyface/multiclip/RangeSearch.js.map +0 -1
- package/lib/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +0 -1
- package/lib/polyface/multiclip/SweepLineStringToFacetContext.js.map +0 -1
- package/lib/polyface/multiclip/XYPointBuckets.d.ts.map +0 -1
- package/lib/polyface/multiclip/XYPointBuckets.js.map +0 -1
- package/lib/serialization/BGFBAccessors.d.ts.map +0 -1
- package/lib/serialization/BGFBAccessors.js.map +0 -1
- package/lib/serialization/BGFBReader.d.ts.map +0 -1
- package/lib/serialization/BGFBReader.js.map +0 -1
- package/lib/serialization/BGFBWriter.d.ts.map +0 -1
- package/lib/serialization/BGFBWriter.js.map +0 -1
- package/lib/serialization/BentleyGeometryFlatBuffer.d.ts.map +0 -1
- package/lib/serialization/BentleyGeometryFlatBuffer.js.map +0 -1
- package/lib/serialization/DeepCompare.d.ts.map +0 -1
- package/lib/serialization/DeepCompare.js.map +0 -1
- package/lib/serialization/GeometrySamples.d.ts.map +0 -1
- package/lib/serialization/GeometrySamples.js.map +0 -1
- package/lib/serialization/IModelJsonSchema.d.ts.map +0 -1
- package/lib/serialization/IModelJsonSchema.js.map +0 -1
- package/lib/solid/Box.d.ts.map +0 -1
- package/lib/solid/Box.js.map +0 -1
- package/lib/solid/Cone.d.ts.map +0 -1
- package/lib/solid/Cone.js.map +0 -1
- package/lib/solid/LinearSweep.d.ts.map +0 -1
- package/lib/solid/LinearSweep.js.map +0 -1
- package/lib/solid/RotationalSweep.d.ts.map +0 -1
- package/lib/solid/RotationalSweep.js.map +0 -1
- package/lib/solid/RuledSweep.d.ts.map +0 -1
- package/lib/solid/RuledSweep.js.map +0 -1
- package/lib/solid/SolidPrimitive.d.ts.map +0 -1
- package/lib/solid/SolidPrimitive.js.map +0 -1
- package/lib/solid/Sphere.d.ts.map +0 -1
- package/lib/solid/Sphere.js.map +0 -1
- package/lib/solid/SweepContour.d.ts.map +0 -1
- package/lib/solid/SweepContour.js.map +0 -1
- package/lib/solid/TorusPipe.d.ts.map +0 -1
- package/lib/solid/TorusPipe.js.map +0 -1
- package/lib/topology/ChainMerge.d.ts.map +0 -1
- package/lib/topology/ChainMerge.js.map +0 -1
- package/lib/topology/Graph.d.ts.map +0 -1
- package/lib/topology/Graph.js.map +0 -1
- package/lib/topology/HalfEdgeGraphSearch.d.ts.map +0 -1
- package/lib/topology/HalfEdgeGraphSearch.js.map +0 -1
- package/lib/topology/HalfEdgeGraphSpineContext.d.ts.map +0 -1
- package/lib/topology/HalfEdgeGraphSpineContext.js.map +0 -1
- package/lib/topology/HalfEdgeGraphValidation.d.ts.map +0 -1
- package/lib/topology/HalfEdgeGraphValidation.js.map +0 -1
- package/lib/topology/HalfEdgeMarkSet.d.ts.map +0 -1
- package/lib/topology/HalfEdgeMarkSet.js.map +0 -1
- package/lib/topology/HalfEdgeNodeXYZUV.d.ts.map +0 -1
- package/lib/topology/HalfEdgeNodeXYZUV.js.map +0 -1
- package/lib/topology/HalfEdgePointInGraphSearch.d.ts.map +0 -1
- package/lib/topology/HalfEdgePointInGraphSearch.js.map +0 -1
- package/lib/topology/HalfEdgePositionDetail.d.ts.map +0 -1
- package/lib/topology/HalfEdgePositionDetail.js.map +0 -1
- package/lib/topology/HalfEdgePriorityQueue.d.ts.map +0 -1
- package/lib/topology/HalfEdgePriorityQueue.js.map +0 -1
- package/lib/topology/InsertAndRetriangulateContext.d.ts.map +0 -1
- package/lib/topology/InsertAndRetriangulateContext.js.map +0 -1
- package/lib/topology/MaskManager.d.ts.map +0 -1
- package/lib/topology/MaskManager.js.map +0 -1
- package/lib/topology/Merging.d.ts.map +0 -1
- package/lib/topology/Merging.js.map +0 -1
- package/lib/topology/RegularizeFace.d.ts.map +0 -1
- package/lib/topology/RegularizeFace.js.map +0 -1
- package/lib/topology/SignedDataSummary.d.ts.map +0 -1
- package/lib/topology/SignedDataSummary.js.map +0 -1
- package/lib/topology/Triangulation.d.ts.map +0 -1
- package/lib/topology/Triangulation.js.map +0 -1
- package/lib/topology/XYParitySearchContext.d.ts.map +0 -1
- package/lib/topology/XYParitySearchContext.js.map +0 -1
|
@@ -0,0 +1,1634 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Polyface
|
|
7
|
+
*/
|
|
8
|
+
import { ConstructCurveBetweenCurves } from "../curve/ConstructCurveBetweenCurves";
|
|
9
|
+
import { CurveChain, CurveCollection } from "../curve/CurveCollection";
|
|
10
|
+
import { CurveFactory } from "../curve/CurveFactory";
|
|
11
|
+
import { CurvePrimitive } from "../curve/CurvePrimitive";
|
|
12
|
+
import { GeometryQuery } from "../curve/GeometryQuery";
|
|
13
|
+
import { LineString3d } from "../curve/LineString3d";
|
|
14
|
+
import { ParityRegion } from "../curve/ParityRegion";
|
|
15
|
+
import { CylindricalRangeQuery } from "../curve/Query/CylindricalRange";
|
|
16
|
+
import { StrokeCountSection } from "../curve/Query/StrokeCountChain";
|
|
17
|
+
import { StrokeOptions } from "../curve/StrokeOptions";
|
|
18
|
+
import { AxisOrder, Geometry } from "../Geometry";
|
|
19
|
+
import { BilinearPatch } from "../geometry3d/BilinearPatch";
|
|
20
|
+
import { FrameBuilder } from "../geometry3d/FrameBuilder";
|
|
21
|
+
import { NullGeometryHandler } from "../geometry3d/GeometryHandler";
|
|
22
|
+
import { GrowableFloat64Array } from "../geometry3d/GrowableFloat64Array";
|
|
23
|
+
import { GrowableXYZArray } from "../geometry3d/GrowableXYZArray";
|
|
24
|
+
import { IndexedXYZCollection } from "../geometry3d/IndexedXYZCollection";
|
|
25
|
+
import { Matrix3d } from "../geometry3d/Matrix3d";
|
|
26
|
+
import { Plane3dByOriginAndVectors } from "../geometry3d/Plane3dByOriginAndVectors";
|
|
27
|
+
import { Point2d } from "../geometry3d/Point2dVector2d";
|
|
28
|
+
import { Point3dArrayCarrier } from "../geometry3d/Point3dArrayCarrier";
|
|
29
|
+
import { Point3d, Vector3d } from "../geometry3d/Point3dVector3d";
|
|
30
|
+
import { PolygonOps } from "../geometry3d/PolygonOps";
|
|
31
|
+
import { Range1d, Range3d } from "../geometry3d/Range";
|
|
32
|
+
import { Segment1d } from "../geometry3d/Segment1d";
|
|
33
|
+
import { Transform } from "../geometry3d/Transform";
|
|
34
|
+
import { UVSurfaceOps } from "../geometry3d/UVSurfaceOps";
|
|
35
|
+
import { SweepContour } from "../solid/SweepContour";
|
|
36
|
+
import { HalfEdge } from "../topology/Graph";
|
|
37
|
+
import { Triangulator } from "../topology/Triangulation";
|
|
38
|
+
import { BoxTopology } from "./BoxTopology";
|
|
39
|
+
import { GreedyTriangulationBetweenLineStrings } from "./GreedyTriangulationBetweenLineStrings";
|
|
40
|
+
import { IndexedPolyface } from "./Polyface";
|
|
41
|
+
/* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/prefer-for-of */
|
|
42
|
+
/**
|
|
43
|
+
* A FacetSector
|
|
44
|
+
* * initially holds coordinate data for a place where xyz and sectionDerivative are known
|
|
45
|
+
* * normal is computed as a deferred step using an edge to adjacent place on ruled surface
|
|
46
|
+
* * indices are set up even later.
|
|
47
|
+
*/
|
|
48
|
+
class FacetSector {
|
|
49
|
+
constructor(needNormal = false, needUV = false, needSectionDerivative = false) {
|
|
50
|
+
this.xyz = Point3d.create();
|
|
51
|
+
this.normalIndex = -1;
|
|
52
|
+
this.uvIndex = -1;
|
|
53
|
+
this.xyzIndex = -1;
|
|
54
|
+
if (needNormal) {
|
|
55
|
+
this.normal = Vector3d.create();
|
|
56
|
+
}
|
|
57
|
+
if (needUV) {
|
|
58
|
+
this.uv = Point2d.create();
|
|
59
|
+
this.uvIndex = -1;
|
|
60
|
+
}
|
|
61
|
+
if (needSectionDerivative) {
|
|
62
|
+
this.sectionDerivative = Vector3d.create();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** copy contents (not pointers) from source
|
|
66
|
+
* * ASSUME all fields defined in this are defined int the source (undefined check only needed on this)
|
|
67
|
+
*/
|
|
68
|
+
copyContentsFrom(other) {
|
|
69
|
+
this.xyz.setFromPoint3d(other.xyz);
|
|
70
|
+
this.xyzIndex = other.xyzIndex;
|
|
71
|
+
if (this.normal)
|
|
72
|
+
this.normal.setFromVector3d(other.normal);
|
|
73
|
+
this.normalIndex = other.normalIndex;
|
|
74
|
+
if (this.uv)
|
|
75
|
+
this.uv.setFrom(other.uv);
|
|
76
|
+
this.uvIndex = other.uvIndex;
|
|
77
|
+
if (this.sectionDerivative)
|
|
78
|
+
this.sectionDerivative.setFrom(other.sectionDerivative);
|
|
79
|
+
}
|
|
80
|
+
/** access xyz, derivative from given arrays.
|
|
81
|
+
* * ASSUME corresponding defined conditions
|
|
82
|
+
* * xyz and derivative are set.
|
|
83
|
+
* * index fields for updated data are cleared to -1.
|
|
84
|
+
*/
|
|
85
|
+
loadIndexedPointAndDerivativeCoordinatesFromPackedArrays(i, packedXYZ, packedDerivatives, fractions, v) {
|
|
86
|
+
packedXYZ.getPoint3dAtCheckedPointIndex(i, this.xyz);
|
|
87
|
+
if (fractions && v !== undefined)
|
|
88
|
+
this.uv = Point2d.create(fractions.atUncheckedIndex(i), v);
|
|
89
|
+
this.xyzIndex = -1;
|
|
90
|
+
this.normalIndex = -1;
|
|
91
|
+
this.uvIndex = -1;
|
|
92
|
+
if (this.sectionDerivative !== undefined && packedDerivatives !== undefined)
|
|
93
|
+
packedDerivatives.getVector3dAtCheckedVectorIndex(i, this.sectionDerivative);
|
|
94
|
+
}
|
|
95
|
+
static suppressSmallUnitVectorComponents(uvw) {
|
|
96
|
+
const tol = 1.0e-15;
|
|
97
|
+
if (Math.abs(uvw.x) < tol)
|
|
98
|
+
uvw.x = 0.0;
|
|
99
|
+
if (Math.abs(uvw.y) < tol)
|
|
100
|
+
uvw.y = 0.0;
|
|
101
|
+
if (Math.abs(uvw.z) < tol)
|
|
102
|
+
uvw.z = 0.0;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* given two sectors with xyz and sectionDerivative (u derivative)
|
|
106
|
+
* use the edge from A to B as v direction in-surface derivative.
|
|
107
|
+
* compute cross products (and normalize)
|
|
108
|
+
* @param sectorA "lower" sector
|
|
109
|
+
* @param sectorB "upper" sector
|
|
110
|
+
*
|
|
111
|
+
*/
|
|
112
|
+
static computeNormalsAlongRuleLine(sectorA, sectorB) {
|
|
113
|
+
// We expect that if sectionDerivative is defined so is normal.
|
|
114
|
+
// (If not, the cross product calls will generate normals that are never used .. not good, garbage collector will clean up.)
|
|
115
|
+
if (sectorA.sectionDerivative && sectorB.sectionDerivative) {
|
|
116
|
+
const vectorAB = FacetSector._edgeVector;
|
|
117
|
+
Vector3d.createStartEnd(sectorA.xyz, sectorB.xyz, vectorAB);
|
|
118
|
+
sectorA.sectionDerivative.crossProduct(vectorAB, sectorA.normal);
|
|
119
|
+
sectorB.sectionDerivative.crossProduct(vectorAB, sectorB.normal);
|
|
120
|
+
sectorA.normal.normalizeInPlace();
|
|
121
|
+
sectorB.normal.normalizeInPlace();
|
|
122
|
+
FacetSector.suppressSmallUnitVectorComponents(sectorA.normal);
|
|
123
|
+
FacetSector.suppressSmallUnitVectorComponents(sectorB.normal);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
FacetSector._edgeVector = Vector3d.create();
|
|
128
|
+
/**
|
|
129
|
+
*
|
|
130
|
+
* * Simple construction for strongly typed GeometryQuery objects:
|
|
131
|
+
*
|
|
132
|
+
* * Create a builder with `builder = PolyfaceBuilder.create()`
|
|
133
|
+
* * Add GeometryQuery objects:
|
|
134
|
+
*
|
|
135
|
+
* * `builder.addGeometryQuery(g: GeometryQuery)`
|
|
136
|
+
* * `builder.addCone(cone: Cone)`
|
|
137
|
+
* * `builder.addTorusPipe(surface: TorusPipe)`
|
|
138
|
+
* * `builder.addLinearSweepLineStrings(surface: LinearSweep)`
|
|
139
|
+
* * `builder.addRotationalSweep(surface: RotationalSweep)`
|
|
140
|
+
* * `builder.addLinearSweep(surface: LinearSweep)`
|
|
141
|
+
* * `builder.addRuledSweep(surface: RuledSweep)`
|
|
142
|
+
* * `builder.addSphere(sphere: Sphere)`
|
|
143
|
+
* * `builder.addBox(box: Box)`
|
|
144
|
+
* * `builder.addIndexedPolyface(polyface)`
|
|
145
|
+
* * Extract with `builder.claimPolyface (true)`
|
|
146
|
+
*
|
|
147
|
+
* * Simple construction for ephemeral constructive data:
|
|
148
|
+
*
|
|
149
|
+
* * Create a builder with `builder = PolyfaceBuilder.create()`
|
|
150
|
+
* * Add from fragmentary data:
|
|
151
|
+
* * `builder.addBetweenLineStrings (linestringA, linestringB, addClosure)`
|
|
152
|
+
* * `builder.addBetweenTransformedLineStrings (curves, transformA, transformB, addClosure)`
|
|
153
|
+
* * `builder.addBetweenStroked (curveA, curveB)`
|
|
154
|
+
* * `builder.addLinearSweepLineStrings (contour, vector)`
|
|
155
|
+
* * `builder.addPolygon (points, numPointsToUse)`
|
|
156
|
+
* * `builder.addTransformedUnitBox (transform)`
|
|
157
|
+
* * `builder.addTriangleFan (conePoint, linestring, toggleOrientation)`
|
|
158
|
+
* * `builder.addTrianglesInUncheckedPolygon (linestring, toggle)`
|
|
159
|
+
* * `builder.addUVGridBody(surface,numU, numV, createFanInCaps)`
|
|
160
|
+
* * `builder.addGraph(Graph, acceptFaceFunction)`
|
|
161
|
+
* * Extract with `builder.claimPolyface(true)`
|
|
162
|
+
*
|
|
163
|
+
* * Low-level detail construction -- direct use of indices
|
|
164
|
+
* * Create a builder with `builder = PolyfaceBuilder.create()`
|
|
165
|
+
* * Add GeometryQuery objects
|
|
166
|
+
* * `builder.findOrAddPoint(point)`
|
|
167
|
+
* * `builder.findOrAddPointInLineString (linestring, index)`
|
|
168
|
+
* * `builder.findOrAddTransformedPointInLineString(linestring, index, transform)`
|
|
169
|
+
* * `builder.findOrAddPointXYZ(x,y,z)`
|
|
170
|
+
* * `builder.addTriangle (point0, point1, point2)`
|
|
171
|
+
* * `builder.addQuad (point0, point1, point2, point3)`
|
|
172
|
+
* * `builder.addOneBasedPointIndex (index)`
|
|
173
|
+
* @public
|
|
174
|
+
*/
|
|
175
|
+
export class PolyfaceBuilder extends NullGeometryHandler {
|
|
176
|
+
constructor(options) {
|
|
177
|
+
super();
|
|
178
|
+
this._options = options ? options : StrokeOptions.createForFacets();
|
|
179
|
+
this._polyface = IndexedPolyface.create(this._options.needNormals, this._options.needParams, this._options.needColors, this._options.needTwoSided);
|
|
180
|
+
this._reversed = false;
|
|
181
|
+
}
|
|
182
|
+
/** return (pointer to) the `StrokeOptions` in use by the builder. */
|
|
183
|
+
get options() { return this._options; }
|
|
184
|
+
/** Ask if this builder is reversing vertex order as loops are received. */
|
|
185
|
+
get reversedFlag() { return this._reversed; }
|
|
186
|
+
/** extract the polyface. */
|
|
187
|
+
claimPolyface(compress = true) {
|
|
188
|
+
if (compress)
|
|
189
|
+
this._polyface.data.compress();
|
|
190
|
+
return this._polyface;
|
|
191
|
+
}
|
|
192
|
+
/** Toggle (reverse) the flag controlling orientation flips for newly added facets. */
|
|
193
|
+
toggleReversedFacetFlag() { this._reversed = !this._reversed; }
|
|
194
|
+
/**
|
|
195
|
+
* Create a builder with given StrokeOptions
|
|
196
|
+
* @param options StrokeOptions (captured)
|
|
197
|
+
*/
|
|
198
|
+
static create(options) {
|
|
199
|
+
return new PolyfaceBuilder(options);
|
|
200
|
+
}
|
|
201
|
+
/** add facets for a transformed unit box. */
|
|
202
|
+
addTransformedUnitBox(transform) {
|
|
203
|
+
this.addTransformedRangeMesh(transform, Range3d.createXYZXYZ(0, 0, 0, 1, 1, 1));
|
|
204
|
+
}
|
|
205
|
+
/** add facets for a transformed unit box.
|
|
206
|
+
* * for each face in the order of BoxTopology.cornerIndexCCW, faceSelector[i]===false skips that facet.
|
|
207
|
+
*/
|
|
208
|
+
addTransformedRangeMesh(transform, range, faceSelector) {
|
|
209
|
+
const pointIndex0 = this._polyface.data.pointCount;
|
|
210
|
+
// these will have sequential indices starting at pointIndex0 . . .
|
|
211
|
+
const points = range.corners();
|
|
212
|
+
for (const p of points)
|
|
213
|
+
this._polyface.addPoint(transform.multiplyPoint3d(p));
|
|
214
|
+
let faceCounter = 0;
|
|
215
|
+
for (const facet of BoxTopology.cornerIndexCCW) {
|
|
216
|
+
if (!faceSelector || (faceCounter < faceSelector.length && faceSelector[faceCounter])) {
|
|
217
|
+
for (const pointIndex of facet)
|
|
218
|
+
this._polyface.addPointIndex(pointIndex0 + pointIndex);
|
|
219
|
+
this._polyface.terminateFacet();
|
|
220
|
+
}
|
|
221
|
+
faceCounter++;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/** Add triangles from points[0] to each far edge.
|
|
225
|
+
* @param ls linestring with point coordinates
|
|
226
|
+
* @param toggle if true, wrap the triangle creation in toggleReversedFacetFlag.
|
|
227
|
+
*/
|
|
228
|
+
addTriangleFan(conePoint, ls, toggle) {
|
|
229
|
+
const n = ls.numPoints();
|
|
230
|
+
if (n > 2) {
|
|
231
|
+
if (toggle)
|
|
232
|
+
this.toggleReversedFacetFlag();
|
|
233
|
+
const index0 = this.findOrAddPoint(conePoint);
|
|
234
|
+
let index1 = this.findOrAddPointInLineString(ls, 0);
|
|
235
|
+
let index2 = 0;
|
|
236
|
+
for (let i = 1; i < n; i++) {
|
|
237
|
+
index2 = this.findOrAddPointInLineString(ls, i);
|
|
238
|
+
this.addIndexedTrianglePointIndexes(index0, index1, index2);
|
|
239
|
+
index1 = index2;
|
|
240
|
+
}
|
|
241
|
+
if (toggle)
|
|
242
|
+
this.toggleReversedFacetFlag();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/** Add triangles from points[0] to each far edge
|
|
246
|
+
* * Assume the polygon is convex.
|
|
247
|
+
* * i.e. simple triangulation from point0
|
|
248
|
+
* * i.e. simple cross products give a good normal.
|
|
249
|
+
* @param ls linestring with point coordinates
|
|
250
|
+
* @param reverse if true, wrap the triangle creation in toggleReversedFacetFlag.
|
|
251
|
+
*/
|
|
252
|
+
addTrianglesInUncheckedConvexPolygon(ls, toggle) {
|
|
253
|
+
const n = ls.numPoints();
|
|
254
|
+
if (n > 2) {
|
|
255
|
+
if (toggle)
|
|
256
|
+
this.toggleReversedFacetFlag();
|
|
257
|
+
let normal;
|
|
258
|
+
let normalIndex;
|
|
259
|
+
if (this._options.needNormals) {
|
|
260
|
+
normal = ls.quickUnitNormal(PolyfaceBuilder._workVectorFindOrAdd);
|
|
261
|
+
if (toggle)
|
|
262
|
+
normal.scaleInPlace(-1.0);
|
|
263
|
+
normalIndex = this._polyface.addNormal(normal);
|
|
264
|
+
}
|
|
265
|
+
const needParams = this._options.needParams;
|
|
266
|
+
const packedUV = needParams ? ls.packedUVParams : undefined;
|
|
267
|
+
let paramIndex0 = -1;
|
|
268
|
+
let paramIndex1 = -1;
|
|
269
|
+
let paramIndex2 = -1;
|
|
270
|
+
if (packedUV) {
|
|
271
|
+
paramIndex0 = this.findOrAddParamInGrowableXYArray(packedUV, 0);
|
|
272
|
+
paramIndex1 = this.findOrAddParamInGrowableXYArray(packedUV, 1);
|
|
273
|
+
}
|
|
274
|
+
const pointIndex0 = this.findOrAddPointInLineString(ls, 0);
|
|
275
|
+
let pointIndex1 = this.findOrAddPointInLineString(ls, 1);
|
|
276
|
+
let pointIndex2 = 0;
|
|
277
|
+
let numEdge = n;
|
|
278
|
+
if (ls.isPhysicallyClosed)
|
|
279
|
+
numEdge--;
|
|
280
|
+
for (let i = 2; i < numEdge; i++, pointIndex1 = pointIndex2, paramIndex1 = paramIndex2) {
|
|
281
|
+
pointIndex2 = this.findOrAddPointInLineString(ls, i);
|
|
282
|
+
this.addIndexedTrianglePointIndexes(pointIndex0, pointIndex1, pointIndex2, false);
|
|
283
|
+
if (normalIndex !== undefined)
|
|
284
|
+
this.addIndexedTriangleNormalIndexes(normalIndex, normalIndex, normalIndex);
|
|
285
|
+
if (packedUV) {
|
|
286
|
+
paramIndex2 = this.findOrAddParamInGrowableXYArray(packedUV, i);
|
|
287
|
+
this.addIndexedTriangleParamIndexes(paramIndex0, paramIndex1, paramIndex2);
|
|
288
|
+
}
|
|
289
|
+
this._polyface.terminateFacet();
|
|
290
|
+
}
|
|
291
|
+
if (toggle)
|
|
292
|
+
this.toggleReversedFacetFlag();
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
|
|
297
|
+
*/
|
|
298
|
+
findOrAddPoint(xyz) {
|
|
299
|
+
return this._polyface.addPoint(xyz);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Announce point coordinates. The implementation is free to either create a new param or (if known) return index of a prior param with the same coordinates.
|
|
303
|
+
*/
|
|
304
|
+
findOrAddParamXY(x, y) {
|
|
305
|
+
return this._polyface.addParamUV(x, y);
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
|
|
309
|
+
* @returns Returns the point index in the Polyface.
|
|
310
|
+
* @param index Index of the point in the linestring.
|
|
311
|
+
*/
|
|
312
|
+
findOrAddPointInLineString(ls, index, transform, priorIndex) {
|
|
313
|
+
const q = ls.pointAt(index, PolyfaceBuilder._workPointFindOrAddA);
|
|
314
|
+
if (q) {
|
|
315
|
+
if (transform)
|
|
316
|
+
transform.multiplyPoint3d(q, q);
|
|
317
|
+
return this._polyface.addPoint(q, priorIndex);
|
|
318
|
+
}
|
|
319
|
+
return undefined;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
|
|
323
|
+
* @returns Returns the point index in the Polyface.
|
|
324
|
+
* @param index Index of the point in the linestring.
|
|
325
|
+
*/
|
|
326
|
+
findOrAddPointInGrowableXYZArray(xyz, index, transform, priorIndex) {
|
|
327
|
+
const q = xyz.getPoint3dAtCheckedPointIndex(index, PolyfaceBuilder._workPointFindOrAddA);
|
|
328
|
+
if (q) {
|
|
329
|
+
if (transform)
|
|
330
|
+
transform.multiplyPoint3d(q, q);
|
|
331
|
+
return this._polyface.addPoint(q, priorIndex);
|
|
332
|
+
}
|
|
333
|
+
return undefined;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
|
|
337
|
+
* @returns Returns the point index in the Polyface.
|
|
338
|
+
* @param index Index of the point in the linestring.
|
|
339
|
+
*/
|
|
340
|
+
findOrAddNormalInGrowableXYZArray(xyz, index, transform, priorIndex) {
|
|
341
|
+
const q = xyz.getVector3dAtCheckedVectorIndex(index, PolyfaceBuilder._workVectorFindOrAdd);
|
|
342
|
+
if (q) {
|
|
343
|
+
if (transform)
|
|
344
|
+
transform.multiplyVector(q, q);
|
|
345
|
+
return this._polyface.addNormal(q, priorIndex);
|
|
346
|
+
}
|
|
347
|
+
return undefined;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Announce param coordinates. The implementation is free to either create a new param or (if known) return index of a prior point with the same coordinates.
|
|
351
|
+
* @returns Returns the point index in the Polyface.
|
|
352
|
+
* @param index Index of the param in the linestring.
|
|
353
|
+
*/
|
|
354
|
+
findOrAddParamInGrowableXYArray(data, index) {
|
|
355
|
+
if (!data)
|
|
356
|
+
return undefined;
|
|
357
|
+
const q = data.getPoint2dAtUncheckedPointIndex(index, PolyfaceBuilder._workUVFindOrAdd);
|
|
358
|
+
if (q) {
|
|
359
|
+
return this._polyface.addParam(q);
|
|
360
|
+
}
|
|
361
|
+
return undefined;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Announce param coordinates, taking u from ls.fractions and v from parameter. The implementation is free to either create a new param or (if known) return index of a prior point with the same coordinates.
|
|
365
|
+
* @returns Returns the point index in the Polyface.
|
|
366
|
+
* @param index Index of the point in the linestring.
|
|
367
|
+
*/
|
|
368
|
+
findOrAddParamInLineString(ls, index, v, priorIndexA, priorIndexB) {
|
|
369
|
+
const u = (ls.fractions && index < ls.fractions.length) ? ls.fractions.atUncheckedIndex(index) : index / ls.points.length;
|
|
370
|
+
return this._polyface.addParamUV(u, v, priorIndexA, priorIndexB);
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Announce normal coordinates found at index in the surfaceNormal array stored on the linestring
|
|
374
|
+
* @returns Returns the point index in the Polyface.
|
|
375
|
+
* @param index Index of the point in the linestring.
|
|
376
|
+
* @param priorIndex possible prior normal index to reuse
|
|
377
|
+
*/
|
|
378
|
+
findOrAddNormalInLineString(ls, index, transform, priorIndexA, priorIndexB) {
|
|
379
|
+
const linestringNormals = ls.packedSurfaceNormals;
|
|
380
|
+
if (linestringNormals) {
|
|
381
|
+
const q = linestringNormals.getVector3dAtCheckedVectorIndex(index, PolyfaceBuilder._workVectorFindOrAdd);
|
|
382
|
+
if (q) {
|
|
383
|
+
if (transform)
|
|
384
|
+
transform.multiplyVector(q, q);
|
|
385
|
+
return this._polyface.addNormal(q, priorIndexA, priorIndexB);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
return undefined;
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Announce point coordinates. The implementation is free to either create a new point or (if known) return index of a prior point with the same coordinates.
|
|
392
|
+
*/
|
|
393
|
+
findOrAddPointXYZ(x, y, z) {
|
|
394
|
+
return this._polyface.addPointXYZ(x, y, z);
|
|
395
|
+
}
|
|
396
|
+
/** Returns a transform who can be applied to points on a triangular facet in order to obtain UV parameters. */
|
|
397
|
+
getUVTransformForTriangleFacet(pointA, pointB, pointC) {
|
|
398
|
+
const vectorAB = pointA.vectorTo(pointB);
|
|
399
|
+
const vectorAC = pointA.vectorTo(pointC);
|
|
400
|
+
const unitAxes = Matrix3d.createRigidFromColumns(vectorAB, vectorAC, AxisOrder.XYZ);
|
|
401
|
+
const localToWorld = Transform.createOriginAndMatrix(pointA, unitAxes);
|
|
402
|
+
return localToWorld.inverse();
|
|
403
|
+
}
|
|
404
|
+
/** Returns the normal to a triangular facet. */
|
|
405
|
+
getNormalForTriangularFacet(pointA, pointB, pointC) {
|
|
406
|
+
const vectorAB = pointA.vectorTo(pointB);
|
|
407
|
+
const vectorAC = pointA.vectorTo(pointC);
|
|
408
|
+
let normal = vectorAB.crossProduct(vectorAC).normalize();
|
|
409
|
+
normal = normal ? normal : Vector3d.create();
|
|
410
|
+
return normal;
|
|
411
|
+
}
|
|
412
|
+
// ###: Consider case where normals will be reversed and point through the other end of the facet
|
|
413
|
+
/**
|
|
414
|
+
* Add a quad to the polyface given its points in order around the edges.
|
|
415
|
+
* Optionally provide params and the plane normal, otherwise they will be calculated without reference data.
|
|
416
|
+
* Optionally mark this quad as the last piece of a face in this polyface.
|
|
417
|
+
*/
|
|
418
|
+
addQuadFacet(points, params, normals) {
|
|
419
|
+
if (points instanceof GrowableXYZArray)
|
|
420
|
+
points = points.getPoint3dArray();
|
|
421
|
+
// If params and/or normals are needed, calculate them first
|
|
422
|
+
const needParams = this.options.needParams;
|
|
423
|
+
const needNormals = this.options.needNormals;
|
|
424
|
+
let param0, param1, param2, param3;
|
|
425
|
+
let normal0, normal1, normal2, normal3;
|
|
426
|
+
if (needParams) {
|
|
427
|
+
if (params !== undefined && params.length > 3) {
|
|
428
|
+
param0 = params[0];
|
|
429
|
+
param1 = params[1];
|
|
430
|
+
param2 = params[2];
|
|
431
|
+
param3 = params[3];
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
const paramTransform = this.getUVTransformForTriangleFacet(points[0], points[1], points[2]);
|
|
435
|
+
if (paramTransform === undefined) {
|
|
436
|
+
param0 = param1 = param2 = param3 = Point2d.createZero();
|
|
437
|
+
}
|
|
438
|
+
else {
|
|
439
|
+
param0 = Point2d.createFrom(paramTransform.multiplyPoint3d(points[0]));
|
|
440
|
+
param1 = Point2d.createFrom(paramTransform.multiplyPoint3d(points[1]));
|
|
441
|
+
param2 = Point2d.createFrom(paramTransform.multiplyPoint3d(points[2]));
|
|
442
|
+
param3 = Point2d.createFrom(paramTransform.multiplyPoint3d(points[3]));
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
if (needNormals) {
|
|
447
|
+
if (normals !== undefined && normals.length > 3) {
|
|
448
|
+
normal0 = normals[0];
|
|
449
|
+
normal1 = normals[1];
|
|
450
|
+
normal2 = normals[2];
|
|
451
|
+
normal3 = normals[3];
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
normal0 = this.getNormalForTriangularFacet(points[0], points[1], points[2]);
|
|
455
|
+
normal1 = this.getNormalForTriangularFacet(points[0], points[1], points[2]);
|
|
456
|
+
normal2 = this.getNormalForTriangularFacet(points[0], points[1], points[2]);
|
|
457
|
+
normal3 = this.getNormalForTriangularFacet(points[0], points[1], points[2]);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
if (this._options.shouldTriangulate) {
|
|
461
|
+
// Add as two triangles, with a diagonal along the shortest distance
|
|
462
|
+
const vectorAC = points[0].vectorTo(points[2]);
|
|
463
|
+
const vectorBD = points[1].vectorTo(points[3]);
|
|
464
|
+
// Note: We pass along any values for normals or params that we calculated
|
|
465
|
+
if (vectorAC.magnitude() >= vectorBD.magnitude()) {
|
|
466
|
+
this.addTriangleFacet([points[0], points[1], points[2]], needParams ? [param0, param1, param2] : undefined, needNormals ? [normal0, normal1, normal2] : undefined);
|
|
467
|
+
this.addTriangleFacet([points[0], points[2], points[3]], needParams ? [param0, param2, param3] : undefined, needNormals ? [normal0, normal2, normal3] : undefined);
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
this.addTriangleFacet([points[0], points[1], points[3]], needParams ? [param0, param1, param3] : undefined, needNormals ? [normal0, normal1, normal3] : undefined);
|
|
471
|
+
this.addTriangleFacet([points[1], points[2], points[3]], needParams ? [param1, param2, param3] : undefined, needNormals ? [normal1, normal2, normal3] : undefined);
|
|
472
|
+
}
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
let idx0, idx1, idx2, idx3;
|
|
476
|
+
// Add params if needed
|
|
477
|
+
if (needParams) {
|
|
478
|
+
idx0 = this._polyface.addParam(param0);
|
|
479
|
+
idx1 = this._polyface.addParam(param1);
|
|
480
|
+
idx2 = this._polyface.addParam(param2);
|
|
481
|
+
idx3 = this._polyface.addParam(param3);
|
|
482
|
+
this.addIndexedQuadParamIndexes(idx0, idx1, idx3, idx2);
|
|
483
|
+
}
|
|
484
|
+
// Add normals if needed
|
|
485
|
+
if (needNormals) {
|
|
486
|
+
idx0 = this._polyface.addNormal(normal0);
|
|
487
|
+
idx1 = this._polyface.addNormal(normal1);
|
|
488
|
+
idx2 = this._polyface.addNormal(normal2);
|
|
489
|
+
idx3 = this._polyface.addNormal(normal3);
|
|
490
|
+
this.addIndexedQuadNormalIndexes(idx0, idx1, idx3, idx2);
|
|
491
|
+
}
|
|
492
|
+
// Add point and point indexes last (terminates the facet)
|
|
493
|
+
idx0 = this.findOrAddPoint(points[0]);
|
|
494
|
+
idx1 = this.findOrAddPoint(points[1]);
|
|
495
|
+
idx2 = this.findOrAddPoint(points[2]);
|
|
496
|
+
idx3 = this.findOrAddPoint(points[3]);
|
|
497
|
+
this.addIndexedQuadPointIndexes(idx0, idx1, idx3, idx2);
|
|
498
|
+
}
|
|
499
|
+
/** Announce a single quad facet's point indexes.
|
|
500
|
+
*
|
|
501
|
+
* * The actual quad may be reversed or triangulated based on builder setup.
|
|
502
|
+
* * indexA0 and indexA1 are in the forward order at the "A" end of the quad
|
|
503
|
+
* * indexB0 and indexB1 are in the forward order at the "B" end of the quad.
|
|
504
|
+
*/
|
|
505
|
+
addIndexedQuadPointIndexes(indexA0, indexA1, indexB0, indexB1, terminate = true) {
|
|
506
|
+
if (this._reversed) {
|
|
507
|
+
this._polyface.addPointIndex(indexA0);
|
|
508
|
+
this._polyface.addPointIndex(indexB0);
|
|
509
|
+
this._polyface.addPointIndex(indexB1);
|
|
510
|
+
this._polyface.addPointIndex(indexA1);
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
this._polyface.addPointIndex(indexA0);
|
|
514
|
+
this._polyface.addPointIndex(indexA1);
|
|
515
|
+
this._polyface.addPointIndex(indexB1);
|
|
516
|
+
this._polyface.addPointIndex(indexB0);
|
|
517
|
+
}
|
|
518
|
+
if (terminate)
|
|
519
|
+
this._polyface.terminateFacet();
|
|
520
|
+
}
|
|
521
|
+
/** For a single quad facet, add the indexes of the corresponding param points. */
|
|
522
|
+
addIndexedQuadParamIndexes(indexA0, indexA1, indexB0, indexB1) {
|
|
523
|
+
if (this._reversed) {
|
|
524
|
+
this._polyface.addParamIndex(indexA0);
|
|
525
|
+
this._polyface.addParamIndex(indexB0);
|
|
526
|
+
this._polyface.addParamIndex(indexB1);
|
|
527
|
+
this._polyface.addParamIndex(indexA1);
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
this._polyface.addParamIndex(indexA0);
|
|
531
|
+
this._polyface.addParamIndex(indexA1);
|
|
532
|
+
this._polyface.addParamIndex(indexB1);
|
|
533
|
+
this._polyface.addParamIndex(indexB0);
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
/** For a single quad facet, add the indexes of the corresponding normal vectors. */
|
|
537
|
+
addIndexedQuadNormalIndexes(indexA0, indexA1, indexB0, indexB1) {
|
|
538
|
+
if (this._reversed) {
|
|
539
|
+
this._polyface.addNormalIndex(indexA0);
|
|
540
|
+
this._polyface.addNormalIndex(indexB0);
|
|
541
|
+
this._polyface.addNormalIndex(indexB1);
|
|
542
|
+
this._polyface.addNormalIndex(indexA1);
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
this._polyface.addNormalIndex(indexA0);
|
|
546
|
+
this._polyface.addNormalIndex(indexA1);
|
|
547
|
+
this._polyface.addNormalIndex(indexB1);
|
|
548
|
+
this._polyface.addNormalIndex(indexB0);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
// ### TODO: Consider case where normals will be reversed and point through the other end of the facet
|
|
552
|
+
/**
|
|
553
|
+
* Add a triangle to the polyface given its points in order around the edges.
|
|
554
|
+
* * Optionally provide params and triangle normals, otherwise they will be calculated without reference data.
|
|
555
|
+
*/
|
|
556
|
+
addTriangleFacet(points, params, normals) {
|
|
557
|
+
if (points.length < 3)
|
|
558
|
+
return;
|
|
559
|
+
let idx0;
|
|
560
|
+
let idx1;
|
|
561
|
+
let idx2;
|
|
562
|
+
let point0, point1, point2;
|
|
563
|
+
if (points instanceof GrowableXYZArray) {
|
|
564
|
+
point0 = points.getPoint3dAtCheckedPointIndex(0);
|
|
565
|
+
point1 = points.getPoint3dAtCheckedPointIndex(1);
|
|
566
|
+
point2 = points.getPoint3dAtCheckedPointIndex(2);
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
point0 = points[0];
|
|
570
|
+
point1 = points[1];
|
|
571
|
+
point2 = points[2];
|
|
572
|
+
}
|
|
573
|
+
// Add params if needed
|
|
574
|
+
if (this._options.needParams) {
|
|
575
|
+
if (params && params.length >= 3) { // Params were given
|
|
576
|
+
idx0 = this._polyface.addParam(params[0]);
|
|
577
|
+
idx1 = this._polyface.addParam(params[1]);
|
|
578
|
+
idx2 = this._polyface.addParam(params[2]);
|
|
579
|
+
}
|
|
580
|
+
else { // Compute params
|
|
581
|
+
const paramTransform = this.getUVTransformForTriangleFacet(point0, point1, point2);
|
|
582
|
+
idx0 = this._polyface.addParam(Point2d.createFrom(paramTransform ? paramTransform.multiplyPoint3d(point0) : undefined));
|
|
583
|
+
idx1 = this._polyface.addParam(Point2d.createFrom(paramTransform ? paramTransform.multiplyPoint3d(point1) : undefined));
|
|
584
|
+
idx2 = this._polyface.addParam(Point2d.createFrom(paramTransform ? paramTransform.multiplyPoint3d(point1) : undefined));
|
|
585
|
+
}
|
|
586
|
+
this.addIndexedTriangleParamIndexes(idx0, idx1, idx2);
|
|
587
|
+
}
|
|
588
|
+
// Add normals if needed
|
|
589
|
+
if (this._options.needNormals) {
|
|
590
|
+
if (normals !== undefined && normals.length > 2) { // Normals were given
|
|
591
|
+
idx0 = this._polyface.addNormal(normals[0]);
|
|
592
|
+
idx1 = this._polyface.addNormal(normals[1]);
|
|
593
|
+
idx2 = this._polyface.addNormal(normals[2]);
|
|
594
|
+
}
|
|
595
|
+
else { // Compute normals
|
|
596
|
+
const normal = this.getNormalForTriangularFacet(point0, point1, point2);
|
|
597
|
+
idx0 = this._polyface.addNormal(normal);
|
|
598
|
+
idx1 = this._polyface.addNormal(normal);
|
|
599
|
+
idx2 = this._polyface.addNormal(normal);
|
|
600
|
+
}
|
|
601
|
+
this.addIndexedTriangleNormalIndexes(idx0, idx1, idx2);
|
|
602
|
+
}
|
|
603
|
+
// Add point and point indexes last (terminates the facet)
|
|
604
|
+
idx0 = this.findOrAddPoint(point0);
|
|
605
|
+
idx1 = this.findOrAddPoint(point1);
|
|
606
|
+
idx2 = this.findOrAddPoint(point2);
|
|
607
|
+
this.addIndexedTrianglePointIndexes(idx0, idx1, idx2);
|
|
608
|
+
}
|
|
609
|
+
/** Announce a single triangle facet's point indexes.
|
|
610
|
+
*
|
|
611
|
+
* * The actual quad may be reversed or triangulated based on builder setup.
|
|
612
|
+
*/
|
|
613
|
+
addIndexedTrianglePointIndexes(indexA, indexB, indexC, terminateFacet = true) {
|
|
614
|
+
if (!this._reversed) {
|
|
615
|
+
this._polyface.addPointIndex(indexA);
|
|
616
|
+
this._polyface.addPointIndex(indexB);
|
|
617
|
+
this._polyface.addPointIndex(indexC);
|
|
618
|
+
}
|
|
619
|
+
else {
|
|
620
|
+
this._polyface.addPointIndex(indexA);
|
|
621
|
+
this._polyface.addPointIndex(indexC);
|
|
622
|
+
this._polyface.addPointIndex(indexB);
|
|
623
|
+
}
|
|
624
|
+
if (terminateFacet)
|
|
625
|
+
this._polyface.terminateFacet();
|
|
626
|
+
}
|
|
627
|
+
/** For a single triangle facet, add the indexes of the corresponding params. */
|
|
628
|
+
addIndexedTriangleParamIndexes(indexA, indexB, indexC) {
|
|
629
|
+
if (!this._reversed) {
|
|
630
|
+
this._polyface.addParamIndex(indexA);
|
|
631
|
+
this._polyface.addParamIndex(indexB);
|
|
632
|
+
this._polyface.addParamIndex(indexC);
|
|
633
|
+
}
|
|
634
|
+
else {
|
|
635
|
+
this._polyface.addParamIndex(indexA);
|
|
636
|
+
this._polyface.addParamIndex(indexC);
|
|
637
|
+
this._polyface.addParamIndex(indexB);
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
/** For a single triangle facet, add the indexes of the corresponding params. */
|
|
641
|
+
addIndexedTriangleNormalIndexes(indexA, indexB, indexC) {
|
|
642
|
+
if (!this._reversed) {
|
|
643
|
+
this._polyface.addNormalIndex(indexA);
|
|
644
|
+
this._polyface.addNormalIndex(indexB);
|
|
645
|
+
this._polyface.addNormalIndex(indexC);
|
|
646
|
+
}
|
|
647
|
+
else {
|
|
648
|
+
this._polyface.addNormalIndex(indexA);
|
|
649
|
+
this._polyface.addNormalIndex(indexC);
|
|
650
|
+
this._polyface.addNormalIndex(indexB);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
/** Find or add xyzIndex and normalIndex for coordinates in the sector. */
|
|
654
|
+
setSectorIndices(sector) {
|
|
655
|
+
sector.xyzIndex = this.findOrAddPoint(sector.xyz);
|
|
656
|
+
if (sector.normal)
|
|
657
|
+
sector.normalIndex = this._polyface.addNormal(sector.normal);
|
|
658
|
+
if (sector.uv)
|
|
659
|
+
sector.uvIndex = this._polyface.addParam(sector.uv);
|
|
660
|
+
}
|
|
661
|
+
addSectorQuadA01B01(sectorA0, sectorA1, sectorB0, sectorB1) {
|
|
662
|
+
if (sectorA0.xyz.isAlmostEqual(sectorA1.xyz) && sectorB0.xyz.isAlmostEqual(sectorB1.xyz)) {
|
|
663
|
+
// ignore null quad !!
|
|
664
|
+
}
|
|
665
|
+
else {
|
|
666
|
+
if (this._options.needNormals)
|
|
667
|
+
this.addIndexedQuadNormalIndexes(sectorA0.normalIndex, sectorA1.normalIndex, sectorB0.normalIndex, sectorB1.normalIndex);
|
|
668
|
+
if (this._options.needParams)
|
|
669
|
+
this.addIndexedQuadParamIndexes(sectorA0.uvIndex, sectorA1.uvIndex, sectorB0.uvIndex, sectorB1.uvIndex);
|
|
670
|
+
this.addIndexedQuadPointIndexes(sectorA0.xyzIndex, sectorA1.xyzIndex, sectorB0.xyzIndex, sectorB1.xyzIndex);
|
|
671
|
+
this._polyface.terminateFacet();
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
/** Add facets between lineStrings with matched point counts.
|
|
675
|
+
* * surface normals are computed from (a) curve tangents in the linestrings and (b)rule line between linestrings.
|
|
676
|
+
* * Facets are announced to addIndexedQuad.
|
|
677
|
+
* * addIndexedQuad is free to apply reversal or triangulation options.
|
|
678
|
+
*/
|
|
679
|
+
addBetweenLineStringsWithRuleEdgeNormals(lineStringA, vA, lineStringB, vB, addClosure = false) {
|
|
680
|
+
const pointA = lineStringA.packedPoints;
|
|
681
|
+
const pointB = lineStringB.packedPoints;
|
|
682
|
+
const derivativeA = lineStringA.packedDerivatives;
|
|
683
|
+
const derivativeB = lineStringB.packedDerivatives;
|
|
684
|
+
const fractionA = lineStringA.fractions;
|
|
685
|
+
const fractionB = lineStringB.fractions;
|
|
686
|
+
const needNormals = this._options.needNormals;
|
|
687
|
+
const needParams = this._options.needParams;
|
|
688
|
+
const sectorA0 = new FacetSector(needNormals, needParams, needNormals);
|
|
689
|
+
const sectorA1 = new FacetSector(needNormals, needParams, needNormals);
|
|
690
|
+
const sectorB0 = new FacetSector(needNormals, needParams, needNormals);
|
|
691
|
+
const sectorB1 = new FacetSector(needNormals, needParams, needNormals);
|
|
692
|
+
const sectorA00 = new FacetSector(needNormals, needParams, needNormals);
|
|
693
|
+
const sectorB00 = new FacetSector(needNormals, needParams, needNormals);
|
|
694
|
+
const numPoints = pointA.length;
|
|
695
|
+
if (numPoints < 2 || numPoints !== pointB.length)
|
|
696
|
+
return;
|
|
697
|
+
sectorA0.loadIndexedPointAndDerivativeCoordinatesFromPackedArrays(0, pointA, derivativeA, fractionA, vA);
|
|
698
|
+
sectorB0.loadIndexedPointAndDerivativeCoordinatesFromPackedArrays(0, pointB, derivativeB, fractionB, vB);
|
|
699
|
+
if (needNormals)
|
|
700
|
+
FacetSector.computeNormalsAlongRuleLine(sectorA0, sectorB0);
|
|
701
|
+
this.setSectorIndices(sectorA0);
|
|
702
|
+
this.setSectorIndices(sectorB0);
|
|
703
|
+
sectorA00.copyContentsFrom(sectorA0);
|
|
704
|
+
sectorB00.copyContentsFrom(sectorB0);
|
|
705
|
+
for (let i = 1; i < numPoints; i++) {
|
|
706
|
+
sectorA1.loadIndexedPointAndDerivativeCoordinatesFromPackedArrays(i, pointA, derivativeA, fractionA, vA);
|
|
707
|
+
sectorB1.loadIndexedPointAndDerivativeCoordinatesFromPackedArrays(i, pointB, derivativeA, fractionB, vB);
|
|
708
|
+
FacetSector.computeNormalsAlongRuleLine(sectorA1, sectorB1);
|
|
709
|
+
this.setSectorIndices(sectorA1);
|
|
710
|
+
this.setSectorIndices(sectorB1);
|
|
711
|
+
// create the facet ...
|
|
712
|
+
this.addSectorQuadA01B01(sectorA0, sectorA1, sectorB0, sectorB1);
|
|
713
|
+
sectorA0.copyContentsFrom(sectorA1);
|
|
714
|
+
sectorB0.copyContentsFrom(sectorB1);
|
|
715
|
+
}
|
|
716
|
+
if (addClosure)
|
|
717
|
+
this.addSectorQuadA01B01(sectorA0, sectorA00, sectorB0, sectorB00);
|
|
718
|
+
}
|
|
719
|
+
/** Add facets between lineStrings with matched point counts.
|
|
720
|
+
* * point indices pre-stored
|
|
721
|
+
* * normal indices pre-stored
|
|
722
|
+
* * uv indices pre-stored
|
|
723
|
+
*/
|
|
724
|
+
addBetweenLineStringsWithStoredIndices(lineStringA, lineStringB) {
|
|
725
|
+
const pointA = lineStringA.pointIndices;
|
|
726
|
+
const pointB = lineStringB.pointIndices;
|
|
727
|
+
let normalA = lineStringA.normalIndices;
|
|
728
|
+
let normalB = lineStringB.normalIndices;
|
|
729
|
+
if (!this._options.needNormals) {
|
|
730
|
+
normalA = undefined;
|
|
731
|
+
normalB = undefined;
|
|
732
|
+
}
|
|
733
|
+
let paramA = lineStringA.paramIndices;
|
|
734
|
+
let paramB = lineStringB.paramIndices;
|
|
735
|
+
if (!this._options.needParams) {
|
|
736
|
+
paramA = undefined;
|
|
737
|
+
paramB = undefined;
|
|
738
|
+
}
|
|
739
|
+
const numPoints = pointA.length;
|
|
740
|
+
for (let i = 1; i < numPoints; i++) {
|
|
741
|
+
if (pointA.atUncheckedIndex(i - 1) !== pointA.atUncheckedIndex(i) || pointB.atUncheckedIndex(i - 1) !== pointB.atUncheckedIndex(i)) {
|
|
742
|
+
this.addIndexedQuadPointIndexes(pointA.atUncheckedIndex(i - 1), pointA.atUncheckedIndex(i), pointB.atUncheckedIndex(i - 1), pointB.atUncheckedIndex(i));
|
|
743
|
+
if (normalA && normalB)
|
|
744
|
+
this.addIndexedQuadNormalIndexes(normalA.atUncheckedIndex(i - 1), normalA.atUncheckedIndex(i), normalB.atUncheckedIndex(i - 1), normalB.atUncheckedIndex(i));
|
|
745
|
+
if (paramA && paramB)
|
|
746
|
+
this.addIndexedQuadParamIndexes(paramA.atUncheckedIndex(i - 1), paramA.atUncheckedIndex(i), paramB.atUncheckedIndex(i - 1), paramB.atUncheckedIndex(i));
|
|
747
|
+
this._polyface.terminateFacet();
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
/** Add facets between lineStrings with matched point counts.
|
|
752
|
+
*
|
|
753
|
+
* * Facets are announced to addIndexedQuad.
|
|
754
|
+
* * addIndexedQuad is free to apply reversal or triangulation options.
|
|
755
|
+
*/
|
|
756
|
+
addBetweenTransformedLineStrings(curves, transformA, transformB, addClosure = false) {
|
|
757
|
+
if (curves instanceof LineString3d) {
|
|
758
|
+
const pointA = curves.points;
|
|
759
|
+
const numPoints = pointA.length;
|
|
760
|
+
let indexA0 = this.findOrAddPointInLineString(curves, 0, transformA);
|
|
761
|
+
let indexB0 = this.findOrAddPointInLineString(curves, 0, transformB);
|
|
762
|
+
const indexA00 = indexA0;
|
|
763
|
+
const indexB00 = indexB0;
|
|
764
|
+
let indexA1 = 0;
|
|
765
|
+
let indexB1 = 0;
|
|
766
|
+
for (let i = 1; i < numPoints; i++) {
|
|
767
|
+
indexA1 = this.findOrAddPointInLineString(curves, i, transformA);
|
|
768
|
+
indexB1 = this.findOrAddPointInLineString(curves, i, transformB);
|
|
769
|
+
this.addIndexedQuadPointIndexes(indexA0, indexA1, indexB0, indexB1);
|
|
770
|
+
indexA0 = indexA1;
|
|
771
|
+
indexB0 = indexB1;
|
|
772
|
+
}
|
|
773
|
+
if (addClosure)
|
|
774
|
+
this.addIndexedQuadPointIndexes(indexA0, indexA00, indexB0, indexB00);
|
|
775
|
+
}
|
|
776
|
+
else {
|
|
777
|
+
const children = curves.children;
|
|
778
|
+
// just send the children individually -- final s will fix things??
|
|
779
|
+
if (children)
|
|
780
|
+
for (const c of children) {
|
|
781
|
+
this.addBetweenTransformedLineStrings(c, transformA, transformB);
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
addBetweenStrokeSetPair(dataA, vA, dataB, vB) {
|
|
786
|
+
if (dataA instanceof LineString3d && dataB instanceof LineString3d) {
|
|
787
|
+
this.addBetweenLineStringsWithRuleEdgeNormals(dataA, vA, dataB, vB, false);
|
|
788
|
+
}
|
|
789
|
+
else if (dataA instanceof ParityRegion && dataB instanceof ParityRegion) {
|
|
790
|
+
if (dataA.children.length === dataB.children.length) {
|
|
791
|
+
for (let i = 0; i < dataA.children.length; i++) {
|
|
792
|
+
this.addBetweenStrokeSetPair(dataA.children[i], vA, dataB.children[i], vB);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
else if (dataA instanceof CurveChain && dataB instanceof CurveChain) {
|
|
797
|
+
const chainA = dataA.children;
|
|
798
|
+
const chainB = dataB.children;
|
|
799
|
+
if (chainA.length === chainB.length) {
|
|
800
|
+
for (let i = 0; i < chainA.length; i++) {
|
|
801
|
+
const cpA = chainA[i];
|
|
802
|
+
const cpB = chainB[i];
|
|
803
|
+
if (cpA instanceof LineString3d && cpB instanceof LineString3d) {
|
|
804
|
+
this.addBetweenLineStringsWithRuleEdgeNormals(cpA, vA, cpB, vB);
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
/**
|
|
811
|
+
* Add facets from a Cone
|
|
812
|
+
*/
|
|
813
|
+
addCone(cone) {
|
|
814
|
+
// ensure identical stroke counts at each end . . .
|
|
815
|
+
let strokeCount = 16;
|
|
816
|
+
if (this._options)
|
|
817
|
+
strokeCount = this._options.applyTolerancesToArc(cone.getMaxRadius());
|
|
818
|
+
let axisStrokeCount = 1;
|
|
819
|
+
const lineStringA = cone.strokeConstantVSection(0.0, strokeCount, this._options);
|
|
820
|
+
const lineStringB = cone.strokeConstantVSection(1.0, strokeCount, this._options);
|
|
821
|
+
if (this._options) {
|
|
822
|
+
const vDistanceRange = GrowableXYZArray.distanceRangeBetweenCorrespondingPoints(lineStringA.packedPoints, lineStringB.packedPoints);
|
|
823
|
+
axisStrokeCount = this._options.applyMaxEdgeLength(1, vDistanceRange.low);
|
|
824
|
+
}
|
|
825
|
+
const sizes = cone.maxIsoParametricDistance();
|
|
826
|
+
this.addUVGridBody(cone, strokeCount, axisStrokeCount, Segment1d.create(0, sizes.x), Segment1d.create(0, sizes.y));
|
|
827
|
+
this.endFace();
|
|
828
|
+
if (cone.capped) {
|
|
829
|
+
if (!Geometry.isSmallMetricDistance(cone.getRadiusA())) {
|
|
830
|
+
this.addTrianglesInUncheckedConvexPolygon(lineStringA, true); // lower triangles flip
|
|
831
|
+
this.endFace();
|
|
832
|
+
}
|
|
833
|
+
if (!Geometry.isSmallMetricDistance(cone.getRadiusB())) {
|
|
834
|
+
this.addTrianglesInUncheckedConvexPolygon(lineStringB, false); // upper triangles to not flip.
|
|
835
|
+
this.endFace();
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Add facets for a TorusPipe.
|
|
841
|
+
*/
|
|
842
|
+
addTorusPipe(surface, phiStrokeCount, thetaStrokeCount) {
|
|
843
|
+
const thetaFraction = surface.getThetaFraction();
|
|
844
|
+
const numU = Geometry.clamp(Geometry.resolveNumber(phiStrokeCount, 8), 4, 64);
|
|
845
|
+
const numV = Geometry.clamp(Geometry.resolveNumber(thetaStrokeCount, Math.ceil(16 * thetaFraction)), 2, 64);
|
|
846
|
+
this.toggleReversedFacetFlag();
|
|
847
|
+
const sizes = surface.maxIsoParametricDistance();
|
|
848
|
+
this.addUVGridBody(surface, numU, numV, Segment1d.create(0, sizes.x), Segment1d.create(0, sizes.y));
|
|
849
|
+
this.toggleReversedFacetFlag();
|
|
850
|
+
if (surface.capped && thetaFraction < 1.0) {
|
|
851
|
+
const centerFrame = surface.getConstructiveFrame();
|
|
852
|
+
const minorRadius = surface.getMinorRadius();
|
|
853
|
+
const majorRadius = surface.getMajorRadius();
|
|
854
|
+
const a = 2 * minorRadius;
|
|
855
|
+
const r0 = majorRadius - minorRadius;
|
|
856
|
+
const r1 = majorRadius + minorRadius;
|
|
857
|
+
const z0 = -minorRadius;
|
|
858
|
+
const cap0ToLocal = Transform.createRowValues(a, 0, 0, r0, 0, 0, -1, 0, 0, a, 0, z0);
|
|
859
|
+
const cap0ToWorld = centerFrame.multiplyTransformTransform(cap0ToLocal);
|
|
860
|
+
const worldToCap0 = cap0ToWorld.inverse();
|
|
861
|
+
if (worldToCap0) {
|
|
862
|
+
const ls0 = UVSurfaceOps.createLinestringOnUVLine(surface, 0, 0, 1, 0, numU, false, true);
|
|
863
|
+
ls0.computeUVFromXYZTransform(worldToCap0);
|
|
864
|
+
this.addTrianglesInUncheckedConvexPolygon(ls0, false);
|
|
865
|
+
}
|
|
866
|
+
const thetaRadians = surface.getSweepAngle().radians;
|
|
867
|
+
const cc = Math.cos(thetaRadians);
|
|
868
|
+
const ss = Math.sin(thetaRadians);
|
|
869
|
+
const cap1ToLocal = Transform.createRowValues(-cc * a, 0, -ss, r1 * cc, -ss * a, 0, cc, r1 * ss, 0, a, 0, z0);
|
|
870
|
+
const cap1ToWorld = centerFrame.multiplyTransformTransform(cap1ToLocal);
|
|
871
|
+
const worldToCap1 = cap1ToWorld.inverse();
|
|
872
|
+
if (worldToCap1) {
|
|
873
|
+
const ls1 = UVSurfaceOps.createLinestringOnUVLine(surface, 1, 1, 0, 1, numU, false, true);
|
|
874
|
+
ls1.computeUVFromXYZTransform(worldToCap1);
|
|
875
|
+
this.addTrianglesInUncheckedConvexPolygon(ls1, false);
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Add point data (no params, normals) for linestrings.
|
|
881
|
+
* * This recurses through curve chains (loops and paths)
|
|
882
|
+
* * linestrings are swept
|
|
883
|
+
* * All other curve types are ignored.
|
|
884
|
+
* @param vector sweep vector
|
|
885
|
+
* @param contour contour which contains only linestrings
|
|
886
|
+
*/
|
|
887
|
+
addLinearSweepLineStringsXYZOnly(contour, vector) {
|
|
888
|
+
if (contour instanceof LineString3d) {
|
|
889
|
+
let pointA = Point3d.create();
|
|
890
|
+
let pointB = Point3d.create();
|
|
891
|
+
let indexA0 = 0;
|
|
892
|
+
let indexA1 = 0;
|
|
893
|
+
let indexB0 = 0;
|
|
894
|
+
let indexB1 = 0;
|
|
895
|
+
const n = contour.numPoints();
|
|
896
|
+
for (let i = 0; i < n; i++) {
|
|
897
|
+
pointA = contour.pointAt(i, pointA);
|
|
898
|
+
pointB = pointA.plus(vector, pointB);
|
|
899
|
+
indexA1 = this.findOrAddPoint(pointA);
|
|
900
|
+
indexB1 = this.findOrAddPoint(pointB);
|
|
901
|
+
if (i > 0) {
|
|
902
|
+
this.addIndexedQuadPointIndexes(indexA0, indexA1, indexB0, indexB1);
|
|
903
|
+
}
|
|
904
|
+
indexA0 = indexA1;
|
|
905
|
+
indexB0 = indexB1;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
else if (contour instanceof CurveChain) {
|
|
909
|
+
for (const ls of contour.children) {
|
|
910
|
+
this.addLinearSweepLineStringsXYZOnly(ls, vector);
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
/**
|
|
915
|
+
* Construct facets for a rotational sweep.
|
|
916
|
+
*/
|
|
917
|
+
addRotationalSweep(surface) {
|
|
918
|
+
const contour = surface.getCurves();
|
|
919
|
+
const section0 = StrokeCountSection.createForParityRegionOrChain(contour, this._options);
|
|
920
|
+
const baseStrokes = section0.getStrokes();
|
|
921
|
+
const axis = surface.cloneAxisRay();
|
|
922
|
+
const perpendicularVector = CylindricalRangeQuery.computeMaxVectorFromRay(axis, baseStrokes);
|
|
923
|
+
const swingVector = axis.direction.crossProduct(perpendicularVector);
|
|
924
|
+
if (this._options.needNormals)
|
|
925
|
+
CylindricalRangeQuery.buildRotationalNormalsInLineStrings(baseStrokes, axis, swingVector);
|
|
926
|
+
const maxDistance = perpendicularVector.magnitude();
|
|
927
|
+
const maxPath = Math.abs(maxDistance * surface.getSweep().radians);
|
|
928
|
+
let numStep = StrokeOptions.applyAngleTol(this._options, 1, surface.getSweep().radians, undefined);
|
|
929
|
+
numStep = StrokeOptions.applyMaxEdgeLength(this._options, numStep, maxPath);
|
|
930
|
+
for (let i = 1; i <= numStep; i++) {
|
|
931
|
+
const transformA = surface.getFractionalRotationTransform((i - 1) / numStep);
|
|
932
|
+
const transformB = surface.getFractionalRotationTransform(i / numStep);
|
|
933
|
+
this.addBetweenRotatedStrokeSets(baseStrokes, transformA, i - 1, transformB, i);
|
|
934
|
+
}
|
|
935
|
+
if (surface.capped) {
|
|
936
|
+
const capContour = surface.getSweepContourRef();
|
|
937
|
+
capContour.purgeFacets();
|
|
938
|
+
capContour.emitFacets(this, true, undefined);
|
|
939
|
+
// final loop pass left transformA at end ..
|
|
940
|
+
capContour.emitFacets(this, false, surface.getFractionalRotationTransform(1.0));
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* Construct facets for any planar region
|
|
945
|
+
*/
|
|
946
|
+
addTriangulatedRegion(region) {
|
|
947
|
+
const contour = SweepContour.createForLinearSweep(region);
|
|
948
|
+
if (contour)
|
|
949
|
+
contour.emitFacets(this, true, undefined);
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* * Recursively visit all children of data.
|
|
953
|
+
* * At each primitive, invoke the computeStrokeCountForOptions method, with options from the builder.
|
|
954
|
+
* @param data
|
|
955
|
+
*/
|
|
956
|
+
applyStrokeCountsToCurvePrimitives(data) {
|
|
957
|
+
const options = this._options;
|
|
958
|
+
if (data instanceof CurvePrimitive) {
|
|
959
|
+
data.computeStrokeCountForOptions(options);
|
|
960
|
+
}
|
|
961
|
+
else if (data instanceof CurveCollection) {
|
|
962
|
+
const children = data.children;
|
|
963
|
+
if (children)
|
|
964
|
+
for (const child of children) {
|
|
965
|
+
this.applyStrokeCountsToCurvePrimitives(child);
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
addBetweenStrokeSetsWithRuledNormals(stroke0, stroke1, numVEdge) {
|
|
970
|
+
const strokeSets = [stroke0];
|
|
971
|
+
const fractions = [0.0];
|
|
972
|
+
for (let vIndex = 1; vIndex < numVEdge; vIndex++) {
|
|
973
|
+
const vFraction = vIndex / numVEdge;
|
|
974
|
+
const strokeA = ConstructCurveBetweenCurves.interpolateBetween(stroke0, vIndex / numVEdge, stroke1);
|
|
975
|
+
strokeSets.push(strokeA);
|
|
976
|
+
fractions.push(vFraction);
|
|
977
|
+
}
|
|
978
|
+
strokeSets.push(stroke1);
|
|
979
|
+
fractions.push(1.0);
|
|
980
|
+
for (let vIndex = 0; vIndex < numVEdge; vIndex++) {
|
|
981
|
+
this.addBetweenStrokeSetPair(strokeSets[vIndex], fractions[vIndex], strokeSets[vIndex + 1], fractions[vIndex + 1]);
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
createIndicesInLineString(ls, vParam, transform) {
|
|
985
|
+
const n = ls.numPoints();
|
|
986
|
+
{
|
|
987
|
+
const pointIndices = ls.ensureEmptyPointIndices();
|
|
988
|
+
const index0 = this.findOrAddPointInLineString(ls, 0, transform);
|
|
989
|
+
pointIndices.push(index0);
|
|
990
|
+
if (n > 1) {
|
|
991
|
+
let indexA = index0;
|
|
992
|
+
let indexB;
|
|
993
|
+
for (let i = 1; i + 1 < n; i++) {
|
|
994
|
+
indexB = this.findOrAddPointInLineString(ls, i, transform, indexA);
|
|
995
|
+
pointIndices.push(indexB);
|
|
996
|
+
indexA = indexB;
|
|
997
|
+
}
|
|
998
|
+
// assume last point can only repeat back to zero ...
|
|
999
|
+
indexB = this.findOrAddPointInLineString(ls, n - 1, transform, index0);
|
|
1000
|
+
pointIndices.push(indexB);
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
if (this._options.needNormals && ls.packedSurfaceNormals !== undefined) {
|
|
1004
|
+
const normalIndices = ls.ensureEmptyNormalIndices();
|
|
1005
|
+
const normalIndex0 = this.findOrAddNormalInLineString(ls, 0, transform);
|
|
1006
|
+
normalIndices.push(normalIndex0);
|
|
1007
|
+
let normalIndexA = normalIndex0;
|
|
1008
|
+
let normalIndexB;
|
|
1009
|
+
if (n > 1) {
|
|
1010
|
+
for (let i = 1; i + 1 < n; i++) {
|
|
1011
|
+
normalIndexB = this.findOrAddNormalInLineString(ls, i, transform, normalIndexA);
|
|
1012
|
+
normalIndices.push(normalIndexB);
|
|
1013
|
+
normalIndexA = normalIndexB;
|
|
1014
|
+
}
|
|
1015
|
+
// assume last point can only repeat back to zero ...
|
|
1016
|
+
normalIndexB = this.findOrAddNormalInLineString(ls, n - 1, transform, normalIndex0, normalIndexA);
|
|
1017
|
+
normalIndices.push(normalIndexB);
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
if (this._options.needParams && ls.packedUVParams !== undefined) {
|
|
1021
|
+
const uvIndices = ls.ensureEmptyUVIndices();
|
|
1022
|
+
const uvIndex0 = this.findOrAddParamInLineString(ls, 0, vParam);
|
|
1023
|
+
uvIndices.push(uvIndex0);
|
|
1024
|
+
let uvIndexA = uvIndex0;
|
|
1025
|
+
let uvIndexB;
|
|
1026
|
+
if (n > 1) {
|
|
1027
|
+
for (let i = 1; i + 1 < n; i++) {
|
|
1028
|
+
uvIndexB = this.findOrAddParamInLineString(ls, i, vParam, uvIndexA);
|
|
1029
|
+
uvIndices.push(uvIndexB);
|
|
1030
|
+
uvIndexA = uvIndexB;
|
|
1031
|
+
}
|
|
1032
|
+
// assume last point can only repeat back to zero ...
|
|
1033
|
+
uvIndexB = this.findOrAddParamInLineString(ls, n - 1, vParam, uvIndexA, uvIndex0);
|
|
1034
|
+
uvIndices.push(uvIndexB);
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
addBetweenRotatedStrokeSets(stroke0, transformA, vA, transformB, vB) {
|
|
1039
|
+
if (stroke0 instanceof LineString3d) {
|
|
1040
|
+
const strokeA = stroke0.cloneTransformed(transformA);
|
|
1041
|
+
this.createIndicesInLineString(strokeA, vA);
|
|
1042
|
+
const strokeB = stroke0.cloneTransformed(transformB);
|
|
1043
|
+
this.createIndicesInLineString(strokeB, vB);
|
|
1044
|
+
this.addBetweenLineStringsWithStoredIndices(strokeA, strokeB);
|
|
1045
|
+
}
|
|
1046
|
+
else if (stroke0 instanceof ParityRegion) {
|
|
1047
|
+
for (let i = 0; i < stroke0.children.length; i++) { // eslint-disable-line @typescript-eslint/prefer-for-of
|
|
1048
|
+
this.addBetweenRotatedStrokeSets(stroke0.children[i], transformA, vA, transformB, vB);
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
else if (stroke0 instanceof CurveChain) {
|
|
1052
|
+
const chainA = stroke0.children;
|
|
1053
|
+
for (let i = 0; i < chainA.length; i++) { // eslint-disable-line @typescript-eslint/prefer-for-of
|
|
1054
|
+
const cpA = chainA[i];
|
|
1055
|
+
if (cpA instanceof LineString3d) {
|
|
1056
|
+
this.addBetweenRotatedStrokeSets(cpA, transformA, vA, transformB, vB);
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
/**
|
|
1062
|
+
*
|
|
1063
|
+
* Add facets from
|
|
1064
|
+
* * The swept contour
|
|
1065
|
+
* * each cap.
|
|
1066
|
+
*/
|
|
1067
|
+
addLinearSweep(surface) {
|
|
1068
|
+
const contour = surface.getCurvesRef();
|
|
1069
|
+
const section0 = StrokeCountSection.createForParityRegionOrChain(contour, this._options);
|
|
1070
|
+
const stroke0 = section0.getStrokes();
|
|
1071
|
+
const sweepVector = surface.cloneSweepVector();
|
|
1072
|
+
const sweepTransform = Transform.createTranslation(sweepVector);
|
|
1073
|
+
const stroke1 = stroke0.cloneTransformed(sweepTransform);
|
|
1074
|
+
const numVEdge = this._options.applyMaxEdgeLength(1, sweepVector.magnitude());
|
|
1075
|
+
this.addBetweenStrokeSetsWithRuledNormals(stroke0, stroke1, numVEdge);
|
|
1076
|
+
if (surface.capped && contour.isAnyRegionType) {
|
|
1077
|
+
const contourA = surface.getSweepContourRef();
|
|
1078
|
+
contourA.purgeFacets();
|
|
1079
|
+
contourA.emitFacets(this, true, undefined);
|
|
1080
|
+
contourA.emitFacets(this, false, sweepTransform);
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
/**
|
|
1084
|
+
* Add facets from a ruled sweep.
|
|
1085
|
+
*/
|
|
1086
|
+
addRuledSweep(surface) {
|
|
1087
|
+
const contours = surface.sweepContoursRef();
|
|
1088
|
+
let stroke0;
|
|
1089
|
+
let stroke1;
|
|
1090
|
+
const sectionMaps = [];
|
|
1091
|
+
for (let i = 0; i < contours.length; i++) { // eslint-disable-line @typescript-eslint/prefer-for-of
|
|
1092
|
+
sectionMaps.push(StrokeCountSection.createForParityRegionOrChain(contours[i].curves, this._options));
|
|
1093
|
+
}
|
|
1094
|
+
if (StrokeCountSection.enforceStrokeCountCompatibility(sectionMaps)) {
|
|
1095
|
+
StrokeCountSection.enforceCompatibleDistanceSums(sectionMaps);
|
|
1096
|
+
for (let i = 0; i < contours.length; i++) {
|
|
1097
|
+
stroke1 = sectionMaps[i].getStrokes();
|
|
1098
|
+
if (!stroke1)
|
|
1099
|
+
stroke1 = contours[i].curves.cloneStroked();
|
|
1100
|
+
if (i > 0 && stroke0 && stroke1) {
|
|
1101
|
+
const distanceRange = Range1d.createNull();
|
|
1102
|
+
if (StrokeCountSection.extendDistanceRangeBetweenStrokes(stroke0, stroke1, distanceRange)
|
|
1103
|
+
&& !distanceRange.isNull) {
|
|
1104
|
+
const numVEdge = this._options.applyMaxEdgeLength(1, distanceRange.high);
|
|
1105
|
+
this.addBetweenStrokeSetsWithRuledNormals(stroke0, stroke1, numVEdge);
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
stroke0 = stroke1;
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
if (surface.capped && contours[0].curves.isAnyRegionType) {
|
|
1112
|
+
contours[0].purgeFacets();
|
|
1113
|
+
contours[0].emitFacets(this, true, undefined);
|
|
1114
|
+
contours[contours.length - 1].purgeFacets();
|
|
1115
|
+
contours[contours.length - 1].emitFacets(this, false, undefined);
|
|
1116
|
+
}
|
|
1117
|
+
return true;
|
|
1118
|
+
}
|
|
1119
|
+
/**
|
|
1120
|
+
* Add facets from a Sphere
|
|
1121
|
+
*/
|
|
1122
|
+
addSphere(sphere, strokeCount) {
|
|
1123
|
+
let numStrokeTheta = strokeCount ? strokeCount : this.options.applyTolerancesToArc(sphere.maxAxisRadius());
|
|
1124
|
+
if (Geometry.isOdd(numStrokeTheta))
|
|
1125
|
+
numStrokeTheta += 1;
|
|
1126
|
+
const numStrokePhi = Geometry.clampToStartEnd(Math.abs(numStrokeTheta * sphere.latitudeSweepFraction), 1, Math.ceil(numStrokeTheta * 0.5));
|
|
1127
|
+
const lineStringA = sphere.strokeConstantVSection(0.0, numStrokeTheta, this._options);
|
|
1128
|
+
if (sphere.capped && !Geometry.isSmallMetricDistance(lineStringA.quickLength())) {
|
|
1129
|
+
this.addTrianglesInUncheckedConvexPolygon(lineStringA, true); // lower triangles flip
|
|
1130
|
+
this.endFace();
|
|
1131
|
+
}
|
|
1132
|
+
const sizes = sphere.maxIsoParametricDistance();
|
|
1133
|
+
this.addUVGridBody(sphere, numStrokeTheta, numStrokePhi, Segment1d.create(0, sizes.x), Segment1d.create(0, sizes.y));
|
|
1134
|
+
this.endFace();
|
|
1135
|
+
const lineStringB = sphere.strokeConstantVSection(1.0, numStrokeTheta, this._options);
|
|
1136
|
+
if (sphere.capped && !Geometry.isSmallMetricDistance(lineStringB.quickLength())) {
|
|
1137
|
+
this.addTrianglesInUncheckedConvexPolygon(lineStringB, false); // upper triangles do not flip
|
|
1138
|
+
this.endFace();
|
|
1139
|
+
}
|
|
1140
|
+
}
|
|
1141
|
+
/**
|
|
1142
|
+
* Add facets from a Box
|
|
1143
|
+
*/
|
|
1144
|
+
addBox(box) {
|
|
1145
|
+
const corners = box.getCorners();
|
|
1146
|
+
const xLength = Geometry.maxXY(box.getBaseX(), box.getBaseX());
|
|
1147
|
+
const yLength = Geometry.maxXY(box.getBaseY(), box.getTopY());
|
|
1148
|
+
let zLength = 0.0;
|
|
1149
|
+
for (let i = 0; i < 4; i++) {
|
|
1150
|
+
zLength = Geometry.maxXY(zLength, corners[i].distance(corners[i + 4]));
|
|
1151
|
+
}
|
|
1152
|
+
const numX = this._options.applyMaxEdgeLength(1, xLength);
|
|
1153
|
+
const numY = this._options.applyMaxEdgeLength(1, yLength);
|
|
1154
|
+
const numZ = this._options.applyMaxEdgeLength(1, zLength);
|
|
1155
|
+
// Wrap the 4 out-of-plane faces as a single parameters space with "distance" advancing in x then y then negative x then negative y ...
|
|
1156
|
+
const uParamRange = Segment1d.create(0, xLength);
|
|
1157
|
+
const vParamRange = Segment1d.create(0, zLength);
|
|
1158
|
+
this.addUVGridBody(BilinearPatch.create(corners[0], corners[1], corners[4], corners[5]), numX, numZ, uParamRange, vParamRange);
|
|
1159
|
+
uParamRange.shift(xLength);
|
|
1160
|
+
this.addUVGridBody(BilinearPatch.create(corners[1], corners[3], corners[5], corners[7]), numY, numZ, uParamRange, vParamRange);
|
|
1161
|
+
uParamRange.shift(yLength);
|
|
1162
|
+
this.addUVGridBody(BilinearPatch.create(corners[3], corners[2], corners[7], corners[6]), numX, numZ, uParamRange, vParamRange);
|
|
1163
|
+
uParamRange.shift(xLength);
|
|
1164
|
+
this.addUVGridBody(BilinearPatch.create(corners[2], corners[0], corners[6], corners[4]), numY, numZ, uParamRange, vParamRange);
|
|
1165
|
+
// finally end that wraparound face !!
|
|
1166
|
+
this.endFace();
|
|
1167
|
+
if (box.capped) {
|
|
1168
|
+
uParamRange.set(0.0, xLength);
|
|
1169
|
+
vParamRange.set(0.0, yLength);
|
|
1170
|
+
this.addUVGridBody(BilinearPatch.create(corners[4], corners[5], corners[6], corners[7]), numX, numY, uParamRange, vParamRange);
|
|
1171
|
+
this.endFace();
|
|
1172
|
+
uParamRange.set(0.0, xLength);
|
|
1173
|
+
vParamRange.set(0.0, yLength);
|
|
1174
|
+
this.addUVGridBody(BilinearPatch.create(corners[2], corners[3], corners[0], corners[1]), numX, numY, uParamRange, vParamRange);
|
|
1175
|
+
this.endFace();
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
/** Add a polygon to the evolving facets.
|
|
1179
|
+
*
|
|
1180
|
+
* * Add points to the polyface
|
|
1181
|
+
* * indices are added (in reverse order if indicated by the builder state)
|
|
1182
|
+
* @param points array of points. This may contain extra points not to be used in the polygon
|
|
1183
|
+
* @param numPointsToUse number of points to use.
|
|
1184
|
+
*/
|
|
1185
|
+
addPolygon(points, numPointsToUse) {
|
|
1186
|
+
// don't use trailing points that match start point.
|
|
1187
|
+
if (numPointsToUse === undefined)
|
|
1188
|
+
numPointsToUse = points.length;
|
|
1189
|
+
while (numPointsToUse > 1 && points[numPointsToUse - 1].isAlmostEqual(points[0]))
|
|
1190
|
+
numPointsToUse--;
|
|
1191
|
+
let index = 0;
|
|
1192
|
+
if (!this._reversed) {
|
|
1193
|
+
for (let i = 0; i < numPointsToUse; i++) {
|
|
1194
|
+
index = this.findOrAddPoint(points[i]);
|
|
1195
|
+
this._polyface.addPointIndex(index);
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
else {
|
|
1199
|
+
for (let i = numPointsToUse; --i >= 0;) {
|
|
1200
|
+
index = this.findOrAddPoint(points[i]);
|
|
1201
|
+
this._polyface.addPointIndex(index);
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
this._polyface.terminateFacet();
|
|
1205
|
+
}
|
|
1206
|
+
/** Add a polygon to the evolving facets.
|
|
1207
|
+
*
|
|
1208
|
+
* * Add points to the polyface
|
|
1209
|
+
* * indices are added (in reverse order if indicated by the builder state)
|
|
1210
|
+
* * Arrays with 2 or fewer points are ignored.
|
|
1211
|
+
* @param points array of points. Trailing closure points are ignored.
|
|
1212
|
+
*/
|
|
1213
|
+
addPolygonGrowableXYZArray(points) {
|
|
1214
|
+
// don't use trailing points that match start point.
|
|
1215
|
+
let numPointsToUse = points.length;
|
|
1216
|
+
while (numPointsToUse > 2 && Geometry.isSmallMetricDistance(points.distanceIndexIndex(0, numPointsToUse - 1)))
|
|
1217
|
+
numPointsToUse--;
|
|
1218
|
+
// strip trailing duplicates
|
|
1219
|
+
while (numPointsToUse > 2 && Geometry.isSmallMetricDistance(points.distanceIndexIndex(numPointsToUse - 2, numPointsToUse - 1)))
|
|
1220
|
+
numPointsToUse--;
|
|
1221
|
+
// ignore triangles for which the height is less than smallMetricDistance times length
|
|
1222
|
+
// sum of edge lengths is twice the perimeter. If it is flat that's twice the largest base dimension.
|
|
1223
|
+
// cross product magnitude is twice the area.
|
|
1224
|
+
if (numPointsToUse === 3) {
|
|
1225
|
+
const cross = points.crossProductIndexIndexIndex(0, 1, 2);
|
|
1226
|
+
const q = cross.magnitude();
|
|
1227
|
+
const p = points.distanceIndexIndex(0, 1) + points.distanceIndexIndex(0, 2) + points.distanceIndexIndex(1, 2);
|
|
1228
|
+
if (q < Geometry.smallMetricDistance * p)
|
|
1229
|
+
numPointsToUse = 0;
|
|
1230
|
+
}
|
|
1231
|
+
if (numPointsToUse > 2) {
|
|
1232
|
+
let index = 0;
|
|
1233
|
+
if (!this._reversed) {
|
|
1234
|
+
for (let i = 0; i < numPointsToUse; i++) {
|
|
1235
|
+
index = this.findOrAddPointInGrowableXYZArray(points, i);
|
|
1236
|
+
this._polyface.addPointIndex(index);
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
1239
|
+
else {
|
|
1240
|
+
for (let i = numPointsToUse; --i >= 0;) {
|
|
1241
|
+
index = this.findOrAddPointInGrowableXYZArray(points, i);
|
|
1242
|
+
this._polyface.addPointIndex(index);
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
this._polyface.terminateFacet();
|
|
1246
|
+
}
|
|
1247
|
+
}
|
|
1248
|
+
/** Add a polygon to the evolving facets.
|
|
1249
|
+
*
|
|
1250
|
+
* * Add points to the polyface
|
|
1251
|
+
* * indices are added (in reverse order if indicated by the builder state)
|
|
1252
|
+
* @param normals array of points. This may contain extra points not to be used in the polygon
|
|
1253
|
+
* @param numPointsToUse number of points to use.
|
|
1254
|
+
*/
|
|
1255
|
+
addFacetFromGrowableArrays(points, normals, params, colors) {
|
|
1256
|
+
// don't use trailing points that match start point.
|
|
1257
|
+
let numPointsToUse = points.length;
|
|
1258
|
+
while (numPointsToUse > 1 && Geometry.isSmallMetricDistance(points.distanceIndexIndex(0, numPointsToUse - 1)))
|
|
1259
|
+
numPointsToUse--;
|
|
1260
|
+
let index = 0;
|
|
1261
|
+
if (normals && normals.length < numPointsToUse)
|
|
1262
|
+
normals = undefined;
|
|
1263
|
+
if (params && params.length < numPointsToUse)
|
|
1264
|
+
params = undefined;
|
|
1265
|
+
if (colors && colors.length < numPointsToUse)
|
|
1266
|
+
colors = undefined;
|
|
1267
|
+
if (!this._reversed) {
|
|
1268
|
+
for (let i = 0; i < numPointsToUse; i++) {
|
|
1269
|
+
index = this.findOrAddPointInGrowableXYZArray(points, i);
|
|
1270
|
+
this._polyface.addPointIndex(index);
|
|
1271
|
+
if (normals) {
|
|
1272
|
+
index = this.findOrAddNormalInGrowableXYZArray(normals, i);
|
|
1273
|
+
this._polyface.addNormalIndex(index);
|
|
1274
|
+
}
|
|
1275
|
+
if (params) {
|
|
1276
|
+
index = this.findOrAddParamInGrowableXYArray(params, i);
|
|
1277
|
+
this._polyface.addParamIndex(index);
|
|
1278
|
+
}
|
|
1279
|
+
if (colors) {
|
|
1280
|
+
index = this._polyface.addColor(colors[i]);
|
|
1281
|
+
this._polyface.addColorIndex(index);
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
else {
|
|
1286
|
+
for (let i = numPointsToUse; --i >= 0;) {
|
|
1287
|
+
index = this.findOrAddPointInGrowableXYZArray(points, i);
|
|
1288
|
+
this._polyface.addPointIndex(index);
|
|
1289
|
+
if (normals) {
|
|
1290
|
+
index = this.findOrAddNormalInGrowableXYZArray(normals, i);
|
|
1291
|
+
this._polyface.addNormalIndex(index);
|
|
1292
|
+
}
|
|
1293
|
+
if (params) {
|
|
1294
|
+
index = this.findOrAddParamInGrowableXYArray(params, i);
|
|
1295
|
+
this._polyface.addParamIndex(index);
|
|
1296
|
+
}
|
|
1297
|
+
if (colors) {
|
|
1298
|
+
index = this._polyface.addColor(colors[i]);
|
|
1299
|
+
this._polyface.addColorIndex(index);
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
this._polyface.terminateFacet();
|
|
1304
|
+
}
|
|
1305
|
+
/** Add the current visitor facet to the evolving polyface.
|
|
1306
|
+
* * indices are added (in reverse order if indicated by the builder state)
|
|
1307
|
+
*/
|
|
1308
|
+
addFacetFromVisitor(visitor) {
|
|
1309
|
+
this.addFacetFromGrowableArrays(visitor.point, visitor.normal, visitor.param, visitor.color);
|
|
1310
|
+
}
|
|
1311
|
+
/** Add a polyface, with optional reverse and transform. */
|
|
1312
|
+
addIndexedPolyface(source, reversed, transform) {
|
|
1313
|
+
this._polyface.addIndexedPolyface(source, reversed, transform);
|
|
1314
|
+
}
|
|
1315
|
+
/**
|
|
1316
|
+
* Produce a new FacetFaceData for all terminated facets since construction of the previous face.
|
|
1317
|
+
* Each facet number/index is mapped to the FacetFaceData through the faceToFaceData array.
|
|
1318
|
+
* Returns true if successful, and false otherwise.
|
|
1319
|
+
*/
|
|
1320
|
+
endFace() {
|
|
1321
|
+
return this._polyface.setNewFaceData();
|
|
1322
|
+
}
|
|
1323
|
+
/** Double dispatch handler for Cone */
|
|
1324
|
+
handleCone(g) { return this.addCone(g); }
|
|
1325
|
+
/** Double dispatch handler for TorusPipe */
|
|
1326
|
+
handleTorusPipe(g) { return this.addTorusPipe(g); }
|
|
1327
|
+
/** Double dispatch handler for Sphere */
|
|
1328
|
+
handleSphere(g) { return this.addSphere(g); }
|
|
1329
|
+
/** Double dispatch handler for Box */
|
|
1330
|
+
handleBox(g) { return this.addBox(g); }
|
|
1331
|
+
/** Double dispatch handler for LinearSweep */
|
|
1332
|
+
handleLinearSweep(g) { return this.addLinearSweep(g); }
|
|
1333
|
+
/** Double dispatch handler for RotationalSweep */
|
|
1334
|
+
handleRotationalSweep(g) { return this.addRotationalSweep(g); }
|
|
1335
|
+
/** Double dispatch handler for RuledSweep */
|
|
1336
|
+
handleRuledSweep(g) { return this.addRuledSweep(g); }
|
|
1337
|
+
/** add facets for a GeometryQuery object. This is double dispatch through `dispatchToGeometryHandler(this)` */
|
|
1338
|
+
addGeometryQuery(g) { g.dispatchToGeometryHandler(this); }
|
|
1339
|
+
/**
|
|
1340
|
+
*
|
|
1341
|
+
* * Visit all faces
|
|
1342
|
+
* * Test each face with f(node) for any node on the face.
|
|
1343
|
+
* * For each face that passes, pass its coordinates to the builder.
|
|
1344
|
+
* * Rely on the builder's compress step to find common vertex coordinates
|
|
1345
|
+
* @internal
|
|
1346
|
+
*/
|
|
1347
|
+
addGraph(graph, needParams, acceptFaceFunction = HalfEdge.testNodeMaskNotExterior, isEdgeVisibleFunction = HalfEdge.testMateMaskExterior) {
|
|
1348
|
+
let index = 0;
|
|
1349
|
+
const needNormals = this._options.needNormals;
|
|
1350
|
+
let normalIndex = 0;
|
|
1351
|
+
if (needNormals)
|
|
1352
|
+
normalIndex = this._polyface.addNormalXYZ(0, 0, 1); // big assumption !!!! someday check if that's where the facets actually are!!
|
|
1353
|
+
graph.announceFaceLoops((_graph, seed) => {
|
|
1354
|
+
if (acceptFaceFunction(seed) && seed.countEdgesAroundFace() > 2) {
|
|
1355
|
+
let node = seed;
|
|
1356
|
+
do {
|
|
1357
|
+
index = this.findOrAddPointXYZ(node.x, node.y, node.z);
|
|
1358
|
+
this._polyface.addPointIndex(index, isEdgeVisibleFunction === undefined ? true : isEdgeVisibleFunction(node));
|
|
1359
|
+
if (needParams) {
|
|
1360
|
+
index = this.findOrAddParamXY(node.x, node.y);
|
|
1361
|
+
this._polyface.addParamIndex(index);
|
|
1362
|
+
}
|
|
1363
|
+
if (needNormals) {
|
|
1364
|
+
this._polyface.addNormalIndex(normalIndex);
|
|
1365
|
+
}
|
|
1366
|
+
node = node.faceSuccessor;
|
|
1367
|
+
} while (node !== seed);
|
|
1368
|
+
this._polyface.terminateFacet();
|
|
1369
|
+
}
|
|
1370
|
+
return true;
|
|
1371
|
+
});
|
|
1372
|
+
}
|
|
1373
|
+
/**
|
|
1374
|
+
*
|
|
1375
|
+
* * For each node in `faces`
|
|
1376
|
+
* * add all of its vertices to the polyface
|
|
1377
|
+
* * add point indices to form a new facet.
|
|
1378
|
+
* * (Note: no normal or param indices are added)
|
|
1379
|
+
* * terminate the facet
|
|
1380
|
+
* @internal
|
|
1381
|
+
*/
|
|
1382
|
+
addGraphFaces(_graph, faces) {
|
|
1383
|
+
let index = 0;
|
|
1384
|
+
for (const seed of faces) {
|
|
1385
|
+
let node = seed;
|
|
1386
|
+
do {
|
|
1387
|
+
index = this.findOrAddPointXYZ(node.x, node.y, node.z);
|
|
1388
|
+
this._polyface.addPointIndex(index);
|
|
1389
|
+
node = node.faceSuccessor;
|
|
1390
|
+
} while (node !== seed);
|
|
1391
|
+
this._polyface.terminateFacet();
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
/** Create a polyface containing the faces of a HalfEdgeGraph, with test function to filter faces.
|
|
1395
|
+
* @internal
|
|
1396
|
+
*/
|
|
1397
|
+
static graphToPolyface(graph, options, acceptFaceFunction = HalfEdge.testNodeMaskNotExterior) {
|
|
1398
|
+
const builder = PolyfaceBuilder.create(options);
|
|
1399
|
+
builder.addGraph(graph, builder.options.needParams, acceptFaceFunction);
|
|
1400
|
+
builder.endFace();
|
|
1401
|
+
return builder.claimPolyface();
|
|
1402
|
+
}
|
|
1403
|
+
/** Create a polyface containing an array of faces of a HalfEdgeGraph, with test function to filter faces.
|
|
1404
|
+
* @internal
|
|
1405
|
+
*/
|
|
1406
|
+
static graphFacesToPolyface(graph, faces) {
|
|
1407
|
+
const builder = PolyfaceBuilder.create();
|
|
1408
|
+
builder.addGraphFaces(graph, faces);
|
|
1409
|
+
builder.endFace();
|
|
1410
|
+
return builder.claimPolyface();
|
|
1411
|
+
}
|
|
1412
|
+
/** Create a polyface containing triangles in a (space) polygon.
|
|
1413
|
+
* * The polyface contains only coordinate data (no params or normals).
|
|
1414
|
+
*/
|
|
1415
|
+
static polygonToTriangulatedPolyface(points, localToWorld) {
|
|
1416
|
+
if (!localToWorld)
|
|
1417
|
+
localToWorld = FrameBuilder.createFrameWithCCWPolygon(points);
|
|
1418
|
+
if (localToWorld) {
|
|
1419
|
+
const localPoints = localToWorld.multiplyInversePoint3dArray(points);
|
|
1420
|
+
const areaXY = PolygonOps.areaXY(localPoints);
|
|
1421
|
+
if (areaXY < 0.0)
|
|
1422
|
+
localPoints.reverse();
|
|
1423
|
+
const graph = Triangulator.createTriangulatedGraphFromSingleLoop(localPoints);
|
|
1424
|
+
if (graph) {
|
|
1425
|
+
const polyface = this.graphToPolyface(graph);
|
|
1426
|
+
polyface.tryTransformInPlace(localToWorld);
|
|
1427
|
+
return polyface;
|
|
1428
|
+
}
|
|
1429
|
+
}
|
|
1430
|
+
return undefined;
|
|
1431
|
+
}
|
|
1432
|
+
/**
|
|
1433
|
+
* Given arrays of coordinates for multiple facets.
|
|
1434
|
+
* * pointArray[i] is an array of 3 or 4 points
|
|
1435
|
+
* * paramArray[i] is an array of matching number of params
|
|
1436
|
+
* * normalArray[i] is an array of matching number of normals.
|
|
1437
|
+
* @param pointArray array of arrays of point coordinates
|
|
1438
|
+
* @param paramArray array of arrays of uv parameters
|
|
1439
|
+
* @param normalArray array of arrays of normals
|
|
1440
|
+
* @param endFace if true, call this.endFace after adding all the facets.
|
|
1441
|
+
*/
|
|
1442
|
+
addCoordinateFacets(pointArray, paramArray, normalArray, endFace = false) {
|
|
1443
|
+
for (let i = 0; i < pointArray.length; i++) {
|
|
1444
|
+
const params = paramArray ? paramArray[i] : undefined;
|
|
1445
|
+
const normals = normalArray ? normalArray[i] : undefined;
|
|
1446
|
+
if (pointArray[i].length === 3)
|
|
1447
|
+
this.addTriangleFacet(pointArray[i], params, normals);
|
|
1448
|
+
else if (pointArray[i].length === 4)
|
|
1449
|
+
this.addQuadFacet(pointArray[i], params, normals);
|
|
1450
|
+
}
|
|
1451
|
+
if (endFace)
|
|
1452
|
+
this.endFace();
|
|
1453
|
+
}
|
|
1454
|
+
/**
|
|
1455
|
+
* * Evaluate `(numU + 1) * (numV + 1)` grid points (in 0..1 in both u and v) on a surface.
|
|
1456
|
+
* * Add the facets for `numU * numV` quads.
|
|
1457
|
+
* * uv params are the 0..1 fractions.
|
|
1458
|
+
* * normals are cross products of u and v direction partial derivatives.
|
|
1459
|
+
* @param surface
|
|
1460
|
+
* @param numU number of intervals (edges) in the u direction. (Number of points is `numU + 1`)
|
|
1461
|
+
* @param numV number of intervals (edges) in the v direction. (Number of points is `numV + 1`)
|
|
1462
|
+
* @param uMap optional mapping from u fraction to parameter space (such as texture)
|
|
1463
|
+
* @param vMap optional mapping from v fraction to parameter space (such as texture)
|
|
1464
|
+
*/
|
|
1465
|
+
addUVGridBody(surface, numU, numV, uMap, vMap) {
|
|
1466
|
+
let xyzIndex0 = new GrowableFloat64Array(numU);
|
|
1467
|
+
let xyzIndex1 = new GrowableFloat64Array(numU);
|
|
1468
|
+
let paramIndex0;
|
|
1469
|
+
let paramIndex1;
|
|
1470
|
+
let normalIndex0;
|
|
1471
|
+
let normalIndex1;
|
|
1472
|
+
const reverse = this._reversed;
|
|
1473
|
+
const needNormals = this.options.needNormals;
|
|
1474
|
+
if (needNormals) {
|
|
1475
|
+
normalIndex0 = new GrowableFloat64Array(numU);
|
|
1476
|
+
normalIndex1 = new GrowableFloat64Array(numU);
|
|
1477
|
+
}
|
|
1478
|
+
const needParams = this.options.needParams;
|
|
1479
|
+
if (needParams) {
|
|
1480
|
+
paramIndex0 = new GrowableFloat64Array(numU);
|
|
1481
|
+
paramIndex1 = new GrowableFloat64Array(numU);
|
|
1482
|
+
}
|
|
1483
|
+
let indexSwap;
|
|
1484
|
+
xyzIndex0.ensureCapacity(numU);
|
|
1485
|
+
xyzIndex1.ensureCapacity(numU);
|
|
1486
|
+
const uv = Point2d.create();
|
|
1487
|
+
const normal = Vector3d.create();
|
|
1488
|
+
const du = 1.0 / numU;
|
|
1489
|
+
const dv = 1.0 / numV;
|
|
1490
|
+
const plane = Plane3dByOriginAndVectors.createXYPlane();
|
|
1491
|
+
for (let v = 0; v <= numV; v++) {
|
|
1492
|
+
// evaluate new points ....
|
|
1493
|
+
xyzIndex1.clear();
|
|
1494
|
+
if (needNormals)
|
|
1495
|
+
normalIndex1.clear();
|
|
1496
|
+
if (needParams)
|
|
1497
|
+
paramIndex1.clear();
|
|
1498
|
+
for (let u = 0; u <= numU; u++) {
|
|
1499
|
+
const uFrac = u * du;
|
|
1500
|
+
const vFrac = v * dv;
|
|
1501
|
+
surface.uvFractionToPointAndTangents(uFrac, vFrac, plane);
|
|
1502
|
+
xyzIndex1.push(this._polyface.addPoint(plane.origin));
|
|
1503
|
+
if (needNormals) {
|
|
1504
|
+
plane.vectorU.crossProduct(plane.vectorV, normal);
|
|
1505
|
+
normal.normalizeInPlace();
|
|
1506
|
+
if (reverse)
|
|
1507
|
+
normal.scaleInPlace(-1.0);
|
|
1508
|
+
normalIndex1.push(this._polyface.addNormal(normal));
|
|
1509
|
+
}
|
|
1510
|
+
if (needParams)
|
|
1511
|
+
paramIndex1.push(this._polyface.addParam(Point2d.create(uMap ? uMap.fractionToPoint(uFrac) : uFrac, vMap ? vMap.fractionToPoint(vFrac) : vFrac, uv)));
|
|
1512
|
+
}
|
|
1513
|
+
if (v > 0) {
|
|
1514
|
+
for (let u = 0; u < numU; u++) {
|
|
1515
|
+
if (!this._options.shouldTriangulate) {
|
|
1516
|
+
this.addIndexedQuadPointIndexes(xyzIndex0.atUncheckedIndex(u), xyzIndex0.atUncheckedIndex(u + 1), xyzIndex1.atUncheckedIndex(u), xyzIndex1.atUncheckedIndex(u + 1), false);
|
|
1517
|
+
if (needNormals)
|
|
1518
|
+
this.addIndexedQuadNormalIndexes(normalIndex0.atUncheckedIndex(u), normalIndex0.atUncheckedIndex(u + 1), normalIndex1.atUncheckedIndex(u), normalIndex1.atUncheckedIndex(u + 1));
|
|
1519
|
+
if (needParams)
|
|
1520
|
+
this.addIndexedQuadParamIndexes(paramIndex0.atUncheckedIndex(u), paramIndex0.atUncheckedIndex(u + 1), paramIndex1.atUncheckedIndex(u), paramIndex1.atUncheckedIndex(u + 1));
|
|
1521
|
+
this._polyface.terminateFacet();
|
|
1522
|
+
}
|
|
1523
|
+
else {
|
|
1524
|
+
this.addIndexedTrianglePointIndexes(xyzIndex0.atUncheckedIndex(u), xyzIndex0.atUncheckedIndex(u + 1), xyzIndex1.atUncheckedIndex(u), false);
|
|
1525
|
+
if (needNormals)
|
|
1526
|
+
this.addIndexedTriangleNormalIndexes(normalIndex0.atUncheckedIndex(u), normalIndex0.atUncheckedIndex(u + 1), normalIndex1.atUncheckedIndex(u));
|
|
1527
|
+
if (needParams)
|
|
1528
|
+
this.addIndexedTriangleParamIndexes(paramIndex0.atUncheckedIndex(u), paramIndex0.atUncheckedIndex(u + 1), paramIndex1.atUncheckedIndex(u));
|
|
1529
|
+
this._polyface.terminateFacet();
|
|
1530
|
+
this.addIndexedTrianglePointIndexes(xyzIndex1.atUncheckedIndex(u), xyzIndex0.atUncheckedIndex(u + 1), xyzIndex1.atUncheckedIndex(u + 1), false);
|
|
1531
|
+
if (needNormals)
|
|
1532
|
+
this.addIndexedTriangleNormalIndexes(normalIndex1.atUncheckedIndex(u), normalIndex0.atUncheckedIndex(u + 1), normalIndex1.atUncheckedIndex(u + 1));
|
|
1533
|
+
if (needParams)
|
|
1534
|
+
this.addIndexedTriangleParamIndexes(paramIndex1.atUncheckedIndex(u), paramIndex0.atUncheckedIndex(u + 1), paramIndex1.atUncheckedIndex(u + 1));
|
|
1535
|
+
this._polyface.terminateFacet();
|
|
1536
|
+
}
|
|
1537
|
+
}
|
|
1538
|
+
}
|
|
1539
|
+
indexSwap = xyzIndex1;
|
|
1540
|
+
xyzIndex1 = xyzIndex0;
|
|
1541
|
+
xyzIndex0 = indexSwap;
|
|
1542
|
+
if (needParams) {
|
|
1543
|
+
indexSwap = paramIndex1;
|
|
1544
|
+
paramIndex1 = paramIndex0;
|
|
1545
|
+
paramIndex0 = indexSwap;
|
|
1546
|
+
}
|
|
1547
|
+
if (needNormals) {
|
|
1548
|
+
indexSwap = normalIndex1;
|
|
1549
|
+
normalIndex1 = normalIndex0;
|
|
1550
|
+
normalIndex0 = indexSwap;
|
|
1551
|
+
}
|
|
1552
|
+
}
|
|
1553
|
+
xyzIndex0.clear();
|
|
1554
|
+
xyzIndex1.clear();
|
|
1555
|
+
}
|
|
1556
|
+
/**
|
|
1557
|
+
* Triangulate the points as viewed in xy.
|
|
1558
|
+
* @param points
|
|
1559
|
+
*/
|
|
1560
|
+
static pointsToTriangulatedPolyface(points) {
|
|
1561
|
+
const graph = Triangulator.createTriangulatedGraphFromPoints(points);
|
|
1562
|
+
if (graph)
|
|
1563
|
+
return PolyfaceBuilder.graphToPolyface(graph);
|
|
1564
|
+
return undefined;
|
|
1565
|
+
}
|
|
1566
|
+
/** Create (and add to the builder) triangles that bridge the gap between two linestrings.
|
|
1567
|
+
* * Each triangle will have 1 vertex on one of the linestrings and 2 on the other
|
|
1568
|
+
* * Choice of triangles is heuristic, hence does not have a unique solution.
|
|
1569
|
+
* * Logic to choice among the various possible triangle orders prefers
|
|
1570
|
+
* * Make near-coplanar facets
|
|
1571
|
+
* * make facets with good aspect ratio.
|
|
1572
|
+
* * This is exercised with a limited number of lookahead points, i.e. greedy to make first-available decision.
|
|
1573
|
+
* @param pointsA points of first linestring.
|
|
1574
|
+
* @param pointsB points of second linestring.
|
|
1575
|
+
*/
|
|
1576
|
+
addGreedyTriangulationBetweenLineStrings(pointsA, pointsB) {
|
|
1577
|
+
const context = GreedyTriangulationBetweenLineStrings.createContext();
|
|
1578
|
+
context.emitTriangles(resolveToIndexedXYZCollectionOrCarrier(pointsA), resolveToIndexedXYZCollectionOrCarrier(pointsB), (triangle) => {
|
|
1579
|
+
this.addTriangleFacet(triangle.points);
|
|
1580
|
+
});
|
|
1581
|
+
}
|
|
1582
|
+
addMiteredPipesFromPoints(centerline, radius, numFacetAround = 12) {
|
|
1583
|
+
const sections = CurveFactory.createMiteredPipeSections(centerline, radius);
|
|
1584
|
+
const pointA0 = Point3d.create();
|
|
1585
|
+
const pointA1 = Point3d.create();
|
|
1586
|
+
const pointB0 = Point3d.create();
|
|
1587
|
+
const pointB1 = Point3d.create();
|
|
1588
|
+
if (numFacetAround < 3)
|
|
1589
|
+
numFacetAround = 3;
|
|
1590
|
+
const df = 1.0 / numFacetAround;
|
|
1591
|
+
for (let i = 1; i < sections.length; i++) {
|
|
1592
|
+
const arcA = sections[i - 1];
|
|
1593
|
+
const arcB = sections[i];
|
|
1594
|
+
arcA.fractionToPoint(0.0, pointA0);
|
|
1595
|
+
arcB.fractionToPoint(0.0, pointB0);
|
|
1596
|
+
for (let k = 1; k <= numFacetAround; k++, pointA0.setFromPoint3d(pointA1), pointB0.setFromPoint3d(pointB1)) {
|
|
1597
|
+
const f = k * df;
|
|
1598
|
+
arcA.fractionToPoint(f, pointA1);
|
|
1599
|
+
arcB.fractionToPoint(f, pointB1);
|
|
1600
|
+
this.addQuadFacet([pointA0, pointB0, pointB1, pointA1]);
|
|
1601
|
+
}
|
|
1602
|
+
}
|
|
1603
|
+
}
|
|
1604
|
+
addMiteredPipes(centerline, radius, numFacetAround = 12) {
|
|
1605
|
+
if (Array.isArray(centerline)) {
|
|
1606
|
+
this.addMiteredPipesFromPoints(new Point3dArrayCarrier(centerline), radius, numFacetAround);
|
|
1607
|
+
}
|
|
1608
|
+
else if (centerline instanceof GrowableXYZArray) {
|
|
1609
|
+
this.addMiteredPipesFromPoints(centerline, radius, numFacetAround);
|
|
1610
|
+
}
|
|
1611
|
+
else if (centerline instanceof IndexedXYZCollection) {
|
|
1612
|
+
this.addMiteredPipesFromPoints(centerline, radius, numFacetAround);
|
|
1613
|
+
}
|
|
1614
|
+
else if (centerline instanceof LineString3d) {
|
|
1615
|
+
this.addMiteredPipesFromPoints(centerline.packedPoints, radius, numFacetAround);
|
|
1616
|
+
}
|
|
1617
|
+
else if (centerline instanceof GeometryQuery) {
|
|
1618
|
+
const linestring = LineString3d.create();
|
|
1619
|
+
centerline.emitStrokes(linestring);
|
|
1620
|
+
this.addMiteredPipesFromPoints(linestring.packedPoints, radius, numFacetAround);
|
|
1621
|
+
}
|
|
1622
|
+
}
|
|
1623
|
+
}
|
|
1624
|
+
PolyfaceBuilder._workPointFindOrAddA = Point3d.create();
|
|
1625
|
+
PolyfaceBuilder._workVectorFindOrAdd = Vector3d.create();
|
|
1626
|
+
PolyfaceBuilder._workUVFindOrAdd = Point2d.create();
|
|
1627
|
+
function resolveToIndexedXYZCollectionOrCarrier(points) {
|
|
1628
|
+
if (Array.isArray(points))
|
|
1629
|
+
return new Point3dArrayCarrier(points);
|
|
1630
|
+
if (points instanceof LineString3d)
|
|
1631
|
+
return points.packedPoints;
|
|
1632
|
+
return points;
|
|
1633
|
+
}
|
|
1634
|
+
//# sourceMappingURL=PolyfaceBuilder.js.map
|