@itwin/core-geometry 4.1.0-dev.8 → 4.1.0-dev.81
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 +87 -1
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.d.ts +1 -1
- package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js +2 -2
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.js +1 -1
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
- package/lib/cjs/bspline/BezierCurveBase.d.ts +1 -1
- package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
- package/lib/cjs/bspline/BezierCurveBase.js +2 -2
- package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts +15 -17
- package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
- package/lib/cjs/clipping/AlternatingConvexClipTree.js +24 -20
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipFactory.d.ts +28 -28
- package/lib/cjs/clipping/BooleanClipFactory.d.ts.map +1 -1
- package/lib/cjs/clipping/BooleanClipFactory.js +28 -28
- package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipNode.d.ts +11 -11
- package/lib/cjs/clipping/BooleanClipNode.d.ts.map +1 -1
- package/lib/cjs/clipping/BooleanClipNode.js +11 -11
- package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
- package/lib/cjs/clipping/ClipPlane.d.ts +73 -76
- package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipPlane.js +105 -86
- package/lib/cjs/clipping/ClipPlane.js.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.d.ts +78 -47
- package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js +112 -54
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.d.ts +54 -44
- package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js +33 -29
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/clipping/ClipVector.d.ts +39 -25
- package/lib/cjs/clipping/ClipVector.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipVector.js +35 -23
- package/lib/cjs/clipping/ClipVector.js.map +1 -1
- package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts +61 -38
- package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
- package/lib/cjs/clipping/ConvexClipPlaneSet.js +64 -41
- package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts +49 -30
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js +50 -30
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +2 -2
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/cjs/core-geometry.d.ts +5 -1
- package/lib/cjs/core-geometry.d.ts.map +1 -1
- package/lib/cjs/core-geometry.js +5 -1
- package/lib/cjs/core-geometry.js.map +1 -1
- package/lib/cjs/curve/Arc3d.d.ts +4 -3
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
- package/lib/cjs/curve/Arc3d.js +7 -5
- package/lib/cjs/curve/Arc3d.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +62 -42
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +71 -48
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.d.ts +36 -26
- package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCollection.js +46 -39
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.d.ts +6 -2
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurve.js +13 -9
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts +74 -68
- package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurveCloseApproachXY.js +100 -108
- package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts +46 -48
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.js +72 -61
- package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts +32 -38
- package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXYZ.js +86 -97
- package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.d.ts +67 -3
- package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
- package/lib/cjs/curve/CurveFactory.js +75 -7
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.d.ts +6 -6
- package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js +9 -7
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurveOps.d.ts +77 -0
- package/lib/cjs/curve/CurveOps.d.ts.map +1 -0
- package/lib/cjs/curve/CurveOps.js +160 -0
- package/lib/cjs/curve/CurveOps.js.map +1 -0
- package/lib/cjs/curve/CurvePrimitive.d.ts +26 -18
- package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.js +4 -3
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
- package/lib/cjs/curve/GeometryQuery.d.ts +2 -2
- package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -1
- package/lib/cjs/curve/GeometryQuery.js +2 -2
- package/lib/cjs/curve/GeometryQuery.js.map +1 -1
- package/lib/cjs/curve/LineSegment3d.d.ts +7 -5
- package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineSegment3d.js +6 -6
- package/lib/cjs/curve/LineSegment3d.js.map +1 -1
- package/lib/cjs/curve/LineString3d.d.ts +2 -2
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineString3d.js +3 -3
- package/lib/cjs/curve/LineString3d.js.map +1 -1
- package/lib/cjs/curve/Loop.d.ts +7 -5
- package/lib/cjs/curve/Loop.d.ts.map +1 -1
- package/lib/cjs/curve/Loop.js +18 -6
- package/lib/cjs/curve/Loop.js.map +1 -1
- package/lib/cjs/curve/OffsetOptions.d.ts +97 -0
- package/lib/cjs/curve/OffsetOptions.d.ts.map +1 -0
- package/lib/cjs/curve/OffsetOptions.js +166 -0
- package/lib/cjs/curve/OffsetOptions.js.map +1 -0
- package/lib/cjs/curve/ParityRegion.d.ts +7 -7
- package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
- package/lib/cjs/curve/ParityRegion.js +19 -11
- package/lib/cjs/curve/ParityRegion.js.map +1 -1
- package/lib/cjs/curve/Path.d.ts +6 -6
- package/lib/cjs/curve/Path.d.ts.map +1 -1
- package/lib/cjs/curve/Path.js +15 -9
- package/lib/cjs/curve/Path.js.map +1 -1
- package/lib/cjs/curve/ProxyCurve.d.ts +5 -7
- package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
- package/lib/cjs/curve/ProxyCurve.js +7 -7
- package/lib/cjs/curve/ProxyCurve.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/cjs/curve/RegionOps.d.ts +76 -56
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +83 -60
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js +2 -2
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js +6 -2
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/UnionRegion.d.ts +6 -5
- package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
- package/lib/cjs/curve/UnionRegion.js +17 -8
- package/lib/cjs/curve/UnionRegion.js.map +1 -1
- package/lib/cjs/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
- package/lib/cjs/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
- package/lib/cjs/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
- package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -0
- package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
- package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +59 -70
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js +130 -220
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +89 -178
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js +2 -2
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/cjs/geometry3d/Angle.d.ts +9 -0
- package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Angle.js +13 -0
- package/lib/cjs/geometry3d/Angle.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/cjs/geometry3d/BilinearPatch.d.ts +43 -48
- package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -1
- package/lib/cjs/geometry3d/BilinearPatch.js +51 -55
- package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.d.ts +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.js +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
- package/lib/cjs/geometry3d/FrameBuilder.js +13 -11
- package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/cjs/geometry3d/GeometryHandler.d.ts +103 -97
- package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GeometryHandler.js +247 -124
- package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableBlockedArray.js +1 -1
- package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +18 -0
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +32 -5
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3d.d.ts +41 -32
- package/lib/cjs/geometry3d/Plane3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Plane3d.js +11 -8
- package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +37 -32
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.d.ts +8 -9
- package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.js +9 -10
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +12 -4
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +18 -5
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js +5 -5
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.d.ts +6 -2
- package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js +31 -22
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineOps.d.ts +16 -1
- package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PolylineOps.js +55 -0
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
- package/lib/cjs/geometry3d/Range.d.ts +134 -94
- package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Range.js +297 -145
- package/lib/cjs/geometry3d/Range.js.map +1 -1
- package/lib/cjs/geometry3d/Ray2d.d.ts +69 -0
- package/lib/cjs/geometry3d/Ray2d.d.ts.map +1 -0
- package/lib/cjs/geometry3d/Ray2d.js +146 -0
- package/lib/cjs/geometry3d/Ray2d.js.map +1 -0
- package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.d.ts +10 -3
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Transform.js +18 -6
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/cjs/numerics/ConvexPolygon2d.d.ts +7 -49
- package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -1
- package/lib/cjs/numerics/ConvexPolygon2d.js +16 -107
- package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/cjs/numerics/Newton.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/Polynomials.js +0 -2
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/numerics/Quadrature.js +5 -5
- package/lib/cjs/numerics/Quadrature.js.map +1 -1
- package/lib/cjs/polyface/IndexedEdgeMatcher.js +1 -1
- package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js +2 -2
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts +93 -14
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js +173 -34
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/TaggedNumericData.js +1 -1
- package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +27 -19
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js +30 -12
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +12 -8
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +18 -4
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts +3 -4
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js +3 -5
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts +15 -12
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +38 -0
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +104 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.d.ts +11 -0
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js +30 -0
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.d.ts +2 -7
- package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js +2 -7
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/solid/LinearSweep.d.ts +2 -1
- package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
- package/lib/cjs/solid/LinearSweep.js.map +1 -1
- package/lib/cjs/solid/RotationalSweep.d.ts +2 -1
- package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
- package/lib/cjs/solid/RotationalSweep.js.map +1 -1
- package/lib/cjs/solid/RuledSweep.d.ts +2 -1
- package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
- package/lib/cjs/solid/RuledSweep.js.map +1 -1
- package/lib/cjs/solid/SweepContour.d.ts +2 -2
- package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
- package/lib/cjs/solid/SweepContour.js +9 -0
- package/lib/cjs/solid/SweepContour.js.map +1 -1
- package/lib/cjs/topology/ChainMerge.js +1 -1
- package/lib/cjs/topology/ChainMerge.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.js +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.js +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/cjs/topology/RegularizeFace.js +3 -3
- package/lib/cjs/topology/RegularizeFace.js.map +1 -1
- package/lib/cjs/topology/Triangulation.js +1 -1
- package/lib/cjs/topology/Triangulation.js.map +1 -1
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.d.ts +1 -1
- package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js +1 -1
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineSurface.js +1 -1
- package/lib/esm/bspline/BSplineSurface.js.map +1 -1
- package/lib/esm/bspline/BezierCurveBase.d.ts +1 -1
- package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
- package/lib/esm/bspline/BezierCurveBase.js +1 -1
- package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +15 -17
- package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
- package/lib/esm/clipping/AlternatingConvexClipTree.js +24 -20
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/esm/clipping/BooleanClipFactory.d.ts +28 -28
- package/lib/esm/clipping/BooleanClipFactory.d.ts.map +1 -1
- package/lib/esm/clipping/BooleanClipFactory.js +28 -28
- package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/esm/clipping/BooleanClipNode.d.ts +11 -11
- package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -1
- package/lib/esm/clipping/BooleanClipNode.js +11 -11
- package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
- package/lib/esm/clipping/ClipPlane.d.ts +73 -76
- package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
- package/lib/esm/clipping/ClipPlane.js +105 -86
- package/lib/esm/clipping/ClipPlane.js.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.d.ts +78 -47
- package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js +112 -54
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.d.ts +54 -44
- package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
- package/lib/esm/clipping/ClipUtils.js +33 -29
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/clipping/ClipVector.d.ts +39 -25
- package/lib/esm/clipping/ClipVector.d.ts.map +1 -1
- package/lib/esm/clipping/ClipVector.js +35 -23
- package/lib/esm/clipping/ClipVector.js.map +1 -1
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +61 -38
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
- package/lib/esm/clipping/ConvexClipPlaneSet.js +64 -41
- package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +49 -30
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +50 -30
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +2 -2
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/esm/core-geometry.d.ts +5 -1
- package/lib/esm/core-geometry.d.ts.map +1 -1
- package/lib/esm/core-geometry.js +5 -1
- package/lib/esm/core-geometry.js.map +1 -1
- package/lib/esm/curve/Arc3d.d.ts +4 -3
- package/lib/esm/curve/Arc3d.d.ts.map +1 -1
- package/lib/esm/curve/Arc3d.js +6 -4
- package/lib/esm/curve/Arc3d.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +62 -42
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +70 -47
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.d.ts +36 -26
- package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
- package/lib/esm/curve/CurveCollection.js +46 -39
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.d.ts +6 -2
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurve.js +13 -9
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +74 -68
- package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurveCloseApproachXY.js +100 -108
- package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts +46 -48
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXY.js +72 -61
- package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +32 -38
- package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXYZ.js +86 -97
- package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/esm/curve/CurveFactory.d.ts +67 -3
- package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
- package/lib/esm/curve/CurveFactory.js +74 -6
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.d.ts +6 -6
- package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js +9 -7
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurveOps.d.ts +77 -0
- package/lib/esm/curve/CurveOps.d.ts.map +1 -0
- package/lib/esm/curve/CurveOps.js +156 -0
- package/lib/esm/curve/CurveOps.js.map +1 -0
- package/lib/esm/curve/CurvePrimitive.d.ts +26 -18
- package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/esm/curve/CurvePrimitive.js +4 -3
- package/lib/esm/curve/CurvePrimitive.js.map +1 -1
- package/lib/esm/curve/GeometryQuery.d.ts +2 -2
- package/lib/esm/curve/GeometryQuery.d.ts.map +1 -1
- package/lib/esm/curve/GeometryQuery.js +2 -2
- package/lib/esm/curve/GeometryQuery.js.map +1 -1
- package/lib/esm/curve/LineSegment3d.d.ts +7 -5
- package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/esm/curve/LineSegment3d.js +5 -5
- package/lib/esm/curve/LineSegment3d.js.map +1 -1
- package/lib/esm/curve/LineString3d.d.ts +2 -2
- package/lib/esm/curve/LineString3d.d.ts.map +1 -1
- package/lib/esm/curve/LineString3d.js +2 -2
- package/lib/esm/curve/LineString3d.js.map +1 -1
- package/lib/esm/curve/Loop.d.ts +7 -5
- package/lib/esm/curve/Loop.d.ts.map +1 -1
- package/lib/esm/curve/Loop.js +18 -6
- package/lib/esm/curve/Loop.js.map +1 -1
- package/lib/esm/curve/OffsetOptions.d.ts +97 -0
- package/lib/esm/curve/OffsetOptions.d.ts.map +1 -0
- package/lib/esm/curve/OffsetOptions.js +161 -0
- package/lib/esm/curve/OffsetOptions.js.map +1 -0
- package/lib/esm/curve/ParityRegion.d.ts +7 -7
- package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
- package/lib/esm/curve/ParityRegion.js +19 -11
- package/lib/esm/curve/ParityRegion.js.map +1 -1
- package/lib/esm/curve/Path.d.ts +6 -6
- package/lib/esm/curve/Path.d.ts.map +1 -1
- package/lib/esm/curve/Path.js +15 -9
- package/lib/esm/curve/Path.js.map +1 -1
- package/lib/esm/curve/ProxyCurve.d.ts +5 -7
- package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
- package/lib/esm/curve/ProxyCurve.js +7 -7
- package/lib/esm/curve/ProxyCurve.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/esm/curve/RegionOps.d.ts +76 -56
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +84 -61
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js +2 -2
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
- package/lib/esm/curve/StrokeOptions.js +6 -2
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/UnionRegion.d.ts +6 -5
- package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
- package/lib/esm/curve/UnionRegion.js +17 -8
- package/lib/esm/curve/UnionRegion.js.map +1 -1
- package/lib/esm/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
- package/lib/esm/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
- package/lib/esm/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
- package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -0
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
- package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +59 -70
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.js +129 -218
- package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +86 -173
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.js +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.js +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/esm/geometry3d/Angle.d.ts +9 -0
- package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
- package/lib/esm/geometry3d/Angle.js +13 -0
- package/lib/esm/geometry3d/Angle.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/esm/geometry3d/BilinearPatch.d.ts +43 -48
- package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -1
- package/lib/esm/geometry3d/BilinearPatch.js +51 -55
- package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/esm/geometry3d/Ellipsoid.d.ts +1 -1
- package/lib/esm/geometry3d/Ellipsoid.js +1 -1
- package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
- package/lib/esm/geometry3d/FrameBuilder.js +13 -11
- package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/esm/geometry3d/GeometryHandler.d.ts +103 -97
- package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
- package/lib/esm/geometry3d/GeometryHandler.js +247 -124
- package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableBlockedArray.js +1 -1
- package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +18 -0
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +32 -5
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/esm/geometry3d/Plane3d.d.ts +41 -32
- package/lib/esm/geometry3d/Plane3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Plane3d.js +11 -8
- package/lib/esm/geometry3d/Plane3d.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +37 -32
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.d.ts +8 -9
- package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.js +9 -10
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +12 -4
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +18 -5
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js +5 -5
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.d.ts +6 -2
- package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js +31 -22
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/PolylineOps.d.ts +16 -1
- package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/PolylineOps.js +56 -1
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
- package/lib/esm/geometry3d/Range.d.ts +134 -94
- package/lib/esm/geometry3d/Range.d.ts.map +1 -1
- package/lib/esm/geometry3d/Range.js +297 -145
- package/lib/esm/geometry3d/Range.js.map +1 -1
- package/lib/esm/geometry3d/Ray2d.d.ts +69 -0
- package/lib/esm/geometry3d/Ray2d.d.ts.map +1 -0
- package/lib/esm/geometry3d/Ray2d.js +142 -0
- package/lib/esm/geometry3d/Ray2d.js.map +1 -0
- package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/Transform.d.ts +10 -3
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
- package/lib/esm/geometry3d/Transform.js +18 -6
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/esm/numerics/ConvexPolygon2d.d.ts +7 -49
- package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -1
- package/lib/esm/numerics/ConvexPolygon2d.js +14 -104
- package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/esm/numerics/Newton.js.map +1 -1
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
- package/lib/esm/numerics/Polynomials.js +0 -2
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/numerics/Quadrature.js +5 -5
- package/lib/esm/numerics/Quadrature.js.map +1 -1
- package/lib/esm/polyface/IndexedEdgeMatcher.js +1 -1
- package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js +2 -2
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts +93 -14
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js +173 -35
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/TaggedNumericData.js +1 -1
- package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +27 -19
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js +30 -12
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +12 -8
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +18 -4
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts +3 -4
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js +3 -5
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts +15 -12
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +38 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +102 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/esm/serialization/BGFBWriter.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.d.ts +11 -0
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js +30 -0
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.d.ts +2 -7
- package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js +2 -7
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/solid/LinearSweep.d.ts +2 -1
- package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
- package/lib/esm/solid/LinearSweep.js.map +1 -1
- package/lib/esm/solid/RotationalSweep.d.ts +2 -1
- package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
- package/lib/esm/solid/RotationalSweep.js.map +1 -1
- package/lib/esm/solid/RuledSweep.d.ts +2 -1
- package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
- package/lib/esm/solid/RuledSweep.js.map +1 -1
- package/lib/esm/solid/SweepContour.d.ts +2 -2
- package/lib/esm/solid/SweepContour.d.ts.map +1 -1
- package/lib/esm/solid/SweepContour.js +9 -0
- package/lib/esm/solid/SweepContour.js.map +1 -1
- package/lib/esm/topology/ChainMerge.js +1 -1
- package/lib/esm/topology/ChainMerge.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js +1 -1
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.js +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/esm/topology/RegularizeFace.js +3 -3
- package/lib/esm/topology/RegularizeFace.js.map +1 -1
- package/lib/esm/topology/Triangulation.js +1 -1
- package/lib/esm/topology/Triangulation.js.map +1 -1
- package/package.json +6 -17
- package/lib/cjs/curve/ChainCollectorContext.d.ts.map +0 -1
- package/lib/cjs/curve/ChainCollectorContext.js.map +0 -1
- package/lib/esm/curve/ChainCollectorContext.d.ts.map +0 -1
- package/lib/esm/curve/ChainCollectorContext.js.map +0 -1
|
@@ -18,32 +18,16 @@ import { LineSegment3d } from "./LineSegment3d";
|
|
|
18
18
|
import { LineString3d } from "./LineString3d";
|
|
19
19
|
// cspell:word XYRR
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
22
|
-
* *
|
|
23
|
-
* *
|
|
24
|
-
* *
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
|
|
29
|
-
function classifyBitsPointRangeXY(x, y, range) {
|
|
30
|
-
let result = 0;
|
|
31
|
-
if (x < range.low.x)
|
|
32
|
-
result = 0x01;
|
|
33
|
-
else if (x > range.high.x)
|
|
34
|
-
result = 0x02;
|
|
35
|
-
if (y < range.low.y)
|
|
36
|
-
result |= 0x04;
|
|
37
|
-
else if (y > range.high.y)
|
|
38
|
-
result |= 0x08;
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
21
|
+
* Handler class for XY close approach between _geometryB and another geometry.
|
|
22
|
+
* * Approach means the distance between _geometryB and another geometry.
|
|
23
|
+
* * **NOTE:** GeometryQuery input (_geometryB) should really be AnyCurve.
|
|
24
|
+
* * Closest approach is a measure of the proximity of one curve to another. It's the length of the shortest line
|
|
25
|
+
* segment perpendicular to both curves; if the curves intersect, the closest approach is zero. In the context of
|
|
26
|
+
* this class, z-coordinates are ignored, so the closest approach is as seen in the top view. If you have coplanar
|
|
27
|
+
* input curves, rotate them first into a plane parallel to the xy-plane, then afterward, you should rotate the
|
|
28
|
+
* results back as required.
|
|
42
29
|
* * Instances are initialized and called from CurveCurve.
|
|
43
|
-
* *
|
|
44
|
-
* * geometryB is saved for later reference
|
|
45
|
-
* * type-specific handler methods will "see" geometry A repeatedly.
|
|
46
|
-
* * Hence geometryA is NOT saved by the constructor.
|
|
30
|
+
* * geometryB is saved for later reference.
|
|
47
31
|
* @internal
|
|
48
32
|
*/
|
|
49
33
|
class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
@@ -59,36 +43,38 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
59
43
|
}
|
|
60
44
|
}
|
|
61
45
|
}
|
|
62
|
-
// private _coincidentGeometryContext: CoincidentGeometryQuery;
|
|
63
46
|
reinitialize() {
|
|
64
47
|
this._results = [];
|
|
65
48
|
}
|
|
66
49
|
/**
|
|
67
|
-
*
|
|
68
|
-
* @param geometryB second curve for intersection.
|
|
50
|
+
* Constructor.
|
|
51
|
+
* @param geometryB second curve for intersection. Saved for reference by specific handler methods.
|
|
69
52
|
*/
|
|
70
|
-
constructor(
|
|
53
|
+
constructor(geometryB) {
|
|
71
54
|
super();
|
|
72
|
-
// this.geometryA = _geometryA;
|
|
73
55
|
this.setGeometryB(geometryB);
|
|
74
56
|
this._maxDistanceSquared = Geometry.smallMetricDistanceSquared;
|
|
75
|
-
// this._coincidentGeometryContext = CoincidentGeometryQuery.create();
|
|
76
57
|
this.reinitialize();
|
|
77
58
|
}
|
|
78
|
-
/**
|
|
59
|
+
/** Set the (possibly undefined) max distance to accept. */
|
|
79
60
|
set maxDistanceToAccept(value) {
|
|
80
61
|
this._maxDistanceToAccept = value;
|
|
81
62
|
if (this._maxDistanceToAccept !== undefined && this._maxDistanceToAccept > 0)
|
|
82
63
|
this._maxDistanceSquared = this._maxDistanceToAccept * this._maxDistanceToAccept;
|
|
83
64
|
}
|
|
84
|
-
/**
|
|
85
|
-
get maxDistanceToAccept() {
|
|
65
|
+
/** Access the (possibly undefined) max distance to accept. */
|
|
66
|
+
get maxDistanceToAccept() {
|
|
67
|
+
return this._maxDistanceToAccept;
|
|
68
|
+
}
|
|
86
69
|
/** Ask if the maxDistanceToAccept value is defined and positive */
|
|
87
|
-
get isMaxDistanceSet() {
|
|
70
|
+
get isMaxDistanceSet() {
|
|
71
|
+
return this._maxDistanceToAccept !== undefined && this._maxDistanceToAccept > 0;
|
|
72
|
+
}
|
|
88
73
|
/** Reset the geometry and flags, leaving all other parts unchanged (and preserving accumulated intersections) */
|
|
89
|
-
resetGeometry(
|
|
74
|
+
resetGeometry(geometryB) {
|
|
90
75
|
this.setGeometryB(geometryB);
|
|
91
76
|
}
|
|
77
|
+
/** @returns whether the `fraction` is in [0,1] within tolerance */
|
|
92
78
|
acceptFraction(fraction, fractionTol = 1.0e-12) {
|
|
93
79
|
if (fraction < -fractionTol)
|
|
94
80
|
return false;
|
|
@@ -97,9 +83,8 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
97
83
|
return true;
|
|
98
84
|
}
|
|
99
85
|
/**
|
|
100
|
-
*
|
|
86
|
+
* Return the results structure for the intersection calculation, structured as an array of CurveLocationDetailPair.
|
|
101
87
|
* @param reinitialize if true, a new results structure is created for use by later calls.
|
|
102
|
-
*
|
|
103
88
|
*/
|
|
104
89
|
grabPairedResults(reinitialize = false) {
|
|
105
90
|
const result = this._results;
|
|
@@ -107,6 +92,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
107
92
|
this.reinitialize();
|
|
108
93
|
return result;
|
|
109
94
|
}
|
|
95
|
+
/** Returns `true` if `detail` has same curve and fraction. */
|
|
110
96
|
sameCurveAndFraction(cp, fraction, detail) {
|
|
111
97
|
return cp === detail.curve && Geometry.isAlmostEqualNumber(fraction, detail.fraction);
|
|
112
98
|
}
|
|
@@ -121,15 +107,17 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
121
107
|
this._results.push(pair);
|
|
122
108
|
}
|
|
123
109
|
}
|
|
124
|
-
/**
|
|
125
|
-
*
|
|
126
|
-
*
|
|
110
|
+
/**
|
|
111
|
+
* Compute intersection of two line segments.
|
|
112
|
+
* Filter by extension rules.
|
|
113
|
+
* Record with fraction mapping.
|
|
127
114
|
*/
|
|
128
115
|
recordPointWithLocalFractions(localFractionA, cpA, fractionA0, fractionA1, localFractionB, // Computed intersection fraction
|
|
129
116
|
cpB, fractionB0, fractionB1, reversed, intervalDetails) {
|
|
130
117
|
let globalFractionA, globalFractionB;
|
|
131
118
|
let globalFractionA1, globalFractionB1;
|
|
132
|
-
const isInterval = intervalDetails !== undefined &&
|
|
119
|
+
const isInterval = (intervalDetails !== undefined) &&
|
|
120
|
+
intervalDetails.detailA.hasFraction1 && intervalDetails.detailB.hasFraction1;
|
|
133
121
|
if (isInterval) {
|
|
134
122
|
globalFractionA = Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
|
|
135
123
|
globalFractionB = Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
|
|
@@ -146,11 +134,13 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
146
134
|
const oldDetailA = this._results[numPrevious - 1].detailA;
|
|
147
135
|
const oldDetailB = this._results[numPrevious - 1].detailB;
|
|
148
136
|
if (reversed) {
|
|
149
|
-
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailB) &&
|
|
137
|
+
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailB) &&
|
|
138
|
+
this.sameCurveAndFraction(cpB, globalFractionB, oldDetailA))
|
|
150
139
|
return;
|
|
151
140
|
}
|
|
152
141
|
else {
|
|
153
|
-
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailA) &&
|
|
142
|
+
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailA) &&
|
|
143
|
+
this.sameCurveAndFraction(cpB, globalFractionB, oldDetailB))
|
|
154
144
|
return;
|
|
155
145
|
}
|
|
156
146
|
}
|
|
@@ -172,8 +162,8 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
172
162
|
}
|
|
173
163
|
}
|
|
174
164
|
/**
|
|
175
|
-
*
|
|
176
|
-
*
|
|
165
|
+
* Capture a close approach pair that has point and local fraction but not curve.
|
|
166
|
+
* Record with fraction mapping.
|
|
177
167
|
*/
|
|
178
168
|
capturePairWithLocalFractions(pair, cpA, fractionA0, fractionA1, cpB, fractionB0, fractionB1, reversed) {
|
|
179
169
|
const globalFractionA = Geometry.interpolate(fractionA0, pair.detailA.fraction, fractionA1);
|
|
@@ -184,11 +174,13 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
184
174
|
const oldDetailA = this._results[numPrevious - 1].detailA;
|
|
185
175
|
const oldDetailB = this._results[numPrevious - 1].detailB;
|
|
186
176
|
if (reversed) {
|
|
187
|
-
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailB) &&
|
|
177
|
+
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailB) &&
|
|
178
|
+
this.sameCurveAndFraction(cpB, globalFractionB, oldDetailA))
|
|
188
179
|
return;
|
|
189
180
|
}
|
|
190
181
|
else {
|
|
191
|
-
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailA) &&
|
|
182
|
+
if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailA) &&
|
|
183
|
+
this.sameCurveAndFraction(cpB, globalFractionB, oldDetailB))
|
|
192
184
|
return;
|
|
193
185
|
}
|
|
194
186
|
}
|
|
@@ -203,9 +195,9 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
203
195
|
}
|
|
204
196
|
}
|
|
205
197
|
/**
|
|
206
|
-
*
|
|
207
|
-
* @param cpA first curve primitive
|
|
208
|
-
* @param cpB second curve primitive
|
|
198
|
+
* Emit recordPoint for multiple pairs (on full curve!)
|
|
199
|
+
* @param cpA first curve primitive (possibly different from curve in detailA, but fraction compatible)
|
|
200
|
+
* @param cpB second curve primitive (possibly different from curve in detailA, but fraction compatible)
|
|
209
201
|
* @param pairs array of pairs
|
|
210
202
|
* @param reversed true to have order reversed in final structures.
|
|
211
203
|
*/
|
|
@@ -217,7 +209,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
217
209
|
}
|
|
218
210
|
}
|
|
219
211
|
/**
|
|
220
|
-
*
|
|
212
|
+
* Record fully assembled (but possibly reversed) detail pair.
|
|
221
213
|
* @param detailA first detail
|
|
222
214
|
* @param detailB second detail
|
|
223
215
|
* @param reversed true to have order reversed in final structures.
|
|
@@ -232,44 +224,35 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
232
224
|
}
|
|
233
225
|
}
|
|
234
226
|
}
|
|
235
|
-
/**
|
|
236
|
-
*
|
|
237
|
-
* @param fractionA
|
|
238
|
-
* @param pointA
|
|
239
|
-
* @param pointB0
|
|
240
|
-
* @param pointB1
|
|
241
|
-
* @param fractionB
|
|
242
|
-
* @param minDistanceSquared
|
|
243
|
-
* @param closestApproach
|
|
244
|
-
*/
|
|
245
227
|
static updatePointToSegmentDistance(fractionA, pointA, pointB0, pointB1, fractionB, minDistanceSquared, closestApproach) {
|
|
246
228
|
if (fractionB < 0)
|
|
247
229
|
fractionB = 0;
|
|
248
230
|
else if (fractionB > 1)
|
|
249
231
|
fractionB = 1;
|
|
250
|
-
this.
|
|
251
|
-
const distanceSquared = this.
|
|
232
|
+
this._workPointB = pointB0.interpolate(fractionB, pointB1, this._workPointB);
|
|
233
|
+
const distanceSquared = this._workPointB.distanceSquaredXY(pointA);
|
|
252
234
|
if (distanceSquared < minDistanceSquared) {
|
|
253
235
|
if (closestApproach === undefined || distanceSquared < closestApproach.detailA.a) {
|
|
254
236
|
if (closestApproach === undefined)
|
|
255
237
|
closestApproach = CurveLocationDetailPair.createCapture(CurveLocationDetail.create(), CurveLocationDetail.create());
|
|
256
238
|
closestApproach.detailA.setFP(fractionA, pointA);
|
|
257
239
|
closestApproach.detailA.a = distanceSquared;
|
|
258
|
-
closestApproach.detailB.setFP(fractionB, this.
|
|
240
|
+
closestApproach.detailB.setFP(fractionB, this._workPointB);
|
|
259
241
|
closestApproach.detailA.a = distanceSquared;
|
|
260
242
|
}
|
|
261
243
|
}
|
|
262
244
|
return closestApproach;
|
|
263
245
|
}
|
|
264
246
|
/**
|
|
265
|
-
* Return fractions of close approach within minDistance between two line segments(
|
|
266
|
-
* *
|
|
247
|
+
* Return fractions of close approach within minDistance between two line segments (a0,a1) and (b0, b1).
|
|
248
|
+
* * minDistanceSquared is assumed positive.
|
|
267
249
|
* Return the fractional (not xy) coordinates in result.x, result.y
|
|
268
250
|
* @param a0 start point of line a
|
|
269
251
|
* @param a1 end point of line a
|
|
270
252
|
* @param b0 start point of line b
|
|
271
253
|
* @param b1 end point of line b
|
|
272
|
-
* @param result point to receive fractional coordinates of intersection.
|
|
254
|
+
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a.
|
|
255
|
+
* result.y is fraction on line b.
|
|
273
256
|
*/
|
|
274
257
|
static segmentSegmentBoundedApproach(a0, a1, b0, b1, minDistanceSquared) {
|
|
275
258
|
const ux = a1.x - a0.x;
|
|
@@ -307,16 +290,6 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
307
290
|
closestApproach = this.updatePointToSegmentDistance(1, a1, b0, b1, -Geometry.dotProductXYXY(vx, vy, e10x, e10y) / vv, minDistanceSquared, closestApproach);
|
|
308
291
|
return closestApproach;
|
|
309
292
|
}
|
|
310
|
-
/**
|
|
311
|
-
* Return fractions of close approach within minDistance between two line segments( a0,a1) and (b0, b1)
|
|
312
|
-
* * minDistance is assumed positive
|
|
313
|
-
* Return the fractional (not xy) coordinates in result.x, result.y
|
|
314
|
-
* @param a0 start point of line a
|
|
315
|
-
* @param a1 end point of line a
|
|
316
|
-
* @param b0 start point of line b
|
|
317
|
-
* @param b1 end point of line b
|
|
318
|
-
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a. result.y is fraction on line b.
|
|
319
|
-
*/
|
|
320
293
|
testAndRecordFractionalPairApproach(cpA, fA0, fA1, testProjectionOnA, cpB, fB0, fB1, testProjectionOnB, reversed) {
|
|
321
294
|
const pointA0 = cpA.fractionToPoint(fA0);
|
|
322
295
|
const pointA1 = cpA.fractionToPoint(fA1);
|
|
@@ -345,9 +318,10 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
345
318
|
}
|
|
346
319
|
}
|
|
347
320
|
}
|
|
348
|
-
/**
|
|
349
|
-
*
|
|
350
|
-
*
|
|
321
|
+
/**
|
|
322
|
+
* Compute intersection of two line segments.
|
|
323
|
+
* Filter by extension rules.
|
|
324
|
+
* Record with fraction mapping.
|
|
351
325
|
* * The fraction mappings allow portions of a linestring to be passed here.
|
|
352
326
|
*/
|
|
353
327
|
computeSegmentSegment3D(cpA, pointA0, fractionA0, pointA1, fractionA1, cpB, pointB0, fractionB0, pointB1, fractionB1, reversed) {
|
|
@@ -356,15 +330,15 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
356
330
|
this.capturePairWithLocalFractions(approach, cpA, fractionA0, fractionA1, cpB, fractionB0, fractionB1, reversed);
|
|
357
331
|
}
|
|
358
332
|
// Caller accesses data from a line segment and passes to here.
|
|
359
|
-
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
360
|
-
// allow all combinations to be passed in)
|
|
333
|
+
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
334
|
+
// The fraction and extend parameters allow all combinations to be passed in)
|
|
361
335
|
// This method applies transform.
|
|
362
336
|
dispatchSegmentSegment(cpA, pointA0, fractionA0, pointA1, fractionA1, cpB, pointB0, fractionB0, pointB1, fractionB1, reversed) {
|
|
363
337
|
this.computeSegmentSegment3D(cpA, pointA0, fractionA0, pointA1, fractionA1, cpB, pointB0, fractionB0, pointB1, fractionB1, reversed);
|
|
364
338
|
}
|
|
365
339
|
// Caller accesses data from a linestring or segment and passes it here.
|
|
366
|
-
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
367
|
-
// allow all combinations to be passed in)
|
|
340
|
+
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
341
|
+
// The fraction and extend parameters allow all combinations to be passed in)
|
|
368
342
|
dispatchSegmentArc(cpA, pointA0, fractionA0, pointA1, fractionA1, arc, reversed) {
|
|
369
343
|
// To consider:
|
|
370
344
|
// 1) endpoint to endpoint or projection
|
|
@@ -414,16 +388,14 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
414
388
|
dispatchCircularCircularOrdered(cpA, radiusA, cpB, radiusB, reversed) {
|
|
415
389
|
const c = cpA.center.distance(cpB.center);
|
|
416
390
|
const e = this._maxDistanceToAccept !== undefined ? this._maxDistanceToAccept : Geometry.smallMetricDistance;
|
|
417
|
-
if (c > radiusA + radiusB + e) // widely separated
|
|
391
|
+
if (c > radiusA + radiusB + e) // widely separated
|
|
418
392
|
return;
|
|
419
393
|
// To consider:
|
|
420
394
|
// 1) endpoint to endpoint or projection
|
|
421
395
|
// 2) true intersection
|
|
422
396
|
// 3) line parallel to arc tangent.
|
|
423
397
|
this.testAndRecordFractionalPairApproach(cpA, 0, 1, false, cpB, 0, 1, false, reversed);
|
|
424
|
-
if (Geometry.isSmallMetricDistance(c)) {
|
|
425
|
-
}
|
|
426
|
-
else {
|
|
398
|
+
if (!Geometry.isSmallMetricDistance(c)) {
|
|
427
399
|
// ?? endpoint hits are recorded. Maybe also need overlap?
|
|
428
400
|
const vectorAB = Vector3d.createStartEnd(cpA.center, cpB.center);
|
|
429
401
|
vectorAB.scaleInPlace(1.0 / c);
|
|
@@ -448,8 +420,9 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
448
420
|
}
|
|
449
421
|
}
|
|
450
422
|
}
|
|
451
|
-
/**
|
|
452
|
-
*
|
|
423
|
+
/**
|
|
424
|
+
* Find the fractional point (if any) on an arc, known to be circular and displayed from the center in the
|
|
425
|
+
* direction of a scaled vector.
|
|
453
426
|
*/
|
|
454
427
|
resolveDirectionToArcXYFraction(arc, radialVector, scale) {
|
|
455
428
|
// The scale ultimately only affects the direction --- easiest way to use it is two multiplies
|
|
@@ -476,7 +449,6 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
476
449
|
return;
|
|
477
450
|
}
|
|
478
451
|
}
|
|
479
|
-
// Fall through for
|
|
480
452
|
}
|
|
481
453
|
// Caller accesses data from two arcs.
|
|
482
454
|
// Selects the best conditioned arc (in xy parts) as "circle after inversion"
|
|
@@ -496,13 +468,13 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
496
468
|
bcurveB.emitStrokes(lsB);
|
|
497
469
|
this.computeLineStringLineString(lsA, lsB, reversed);
|
|
498
470
|
}
|
|
499
|
-
/**
|
|
471
|
+
/** Low level dispatch of linestring with (beziers of) a bspline curve */
|
|
500
472
|
dispatchLineStringBSplineCurve(lsA, curveB, reversed) {
|
|
501
473
|
const lsB = LineString3d.create();
|
|
502
474
|
curveB.emitStrokes(lsB);
|
|
503
475
|
this.computeLineStringLineString(lsA, lsB, reversed);
|
|
504
476
|
}
|
|
505
|
-
/**
|
|
477
|
+
/** Low level dispatch of segment with (beziers of) a bspline curve */
|
|
506
478
|
dispatchSegmentBsplineCurve(lsA, curveB, reversed) {
|
|
507
479
|
const lsB = LineString3d.create();
|
|
508
480
|
curveB.emitStrokes(lsB);
|
|
@@ -561,7 +533,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
561
533
|
this.testAndRecordFractionalPairApproach(lsA, 0, 1, true, lsB, 0, 1, false, reversed);
|
|
562
534
|
return undefined;
|
|
563
535
|
}
|
|
564
|
-
/** Detail computation for
|
|
536
|
+
/** Detail computation for arc approaching linestring. */
|
|
565
537
|
computeArcLineString(arcA, lsB, reversed) {
|
|
566
538
|
const pointB0 = CurveCurveCloseApproachXY._workPointBB0;
|
|
567
539
|
const pointB1 = CurveCurveCloseApproachXY._workPointBB1;
|
|
@@ -580,8 +552,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
580
552
|
}
|
|
581
553
|
return undefined;
|
|
582
554
|
}
|
|
583
|
-
|
|
584
|
-
/** double dispatch handler for strongly typed segment.. */
|
|
555
|
+
/** Double dispatch handler for strongly typed segment. */
|
|
585
556
|
handleLineSegment3d(segmentA) {
|
|
586
557
|
if (this._geometryB instanceof LineSegment3d) {
|
|
587
558
|
const segmentB = this._geometryB;
|
|
@@ -597,6 +568,27 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
597
568
|
this.dispatchSegmentBsplineCurve(segmentA, this._geometryB, false);
|
|
598
569
|
}
|
|
599
570
|
}
|
|
571
|
+
/**
|
|
572
|
+
* Set bits for comparison to range xy
|
|
573
|
+
* * bit 0x01 => x smaller than range.low.x
|
|
574
|
+
* * bit 0x02 => x larger than range.high.x
|
|
575
|
+
* * bit 0x04 => y smaller than range.low.y
|
|
576
|
+
* * bit 0x08 => y larger than range.high.y
|
|
577
|
+
* @param xy point to test
|
|
578
|
+
* @param range range for comparison
|
|
579
|
+
*/
|
|
580
|
+
classifyBitsPointRangeXY(x, y, range) {
|
|
581
|
+
let result = 0;
|
|
582
|
+
if (x < range.low.x)
|
|
583
|
+
result = 0x01;
|
|
584
|
+
else if (x > range.high.x)
|
|
585
|
+
result = 0x02;
|
|
586
|
+
if (y < range.low.y)
|
|
587
|
+
result |= 0x04;
|
|
588
|
+
else if (y > range.high.y)
|
|
589
|
+
result |= 0x08;
|
|
590
|
+
return result;
|
|
591
|
+
}
|
|
600
592
|
computeLineStringLineString(lsA, lsB, reversed) {
|
|
601
593
|
const rangeA = lsA.range();
|
|
602
594
|
const rangeB = lsB.range();
|
|
@@ -617,9 +609,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
617
609
|
const dfA = 1.0 / (numA - 1);
|
|
618
610
|
const dfB = 1.0 / (numB - 1);
|
|
619
611
|
let fA0 = 0.0;
|
|
620
|
-
let fB0;
|
|
621
|
-
let fA1;
|
|
622
|
-
let fB1;
|
|
612
|
+
let fA1, fB0, fB1;
|
|
623
613
|
lsA.pointAt(0, pointA0);
|
|
624
614
|
for (let ia = 1; ia < numA; ia++, pointA0.setFrom(pointA1), fA0 = fA1) {
|
|
625
615
|
fA1 = ia * dfA;
|
|
@@ -631,10 +621,10 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
631
621
|
rangeA1.expandInPlace(this._maxDistanceToAccept);
|
|
632
622
|
if (rangeA1.intersectsRangeXY(rangeB)) {
|
|
633
623
|
lsB.pointAt(0, pointB0);
|
|
634
|
-
bitB0 = classifyBitsPointRangeXY(pointB0.x, pointB0.y, rangeA1);
|
|
624
|
+
bitB0 = this.classifyBitsPointRangeXY(pointB0.x, pointB0.y, rangeA1);
|
|
635
625
|
for (let ib = 1; ib < numB; ib++, pointB0.setFrom(pointB1), fB0 = fB1, bitB0 = bitB1) {
|
|
636
626
|
lsB.pointAt(ib, pointB1);
|
|
637
|
-
bitB1 = classifyBitsPointRangeXY(pointB1.x, pointB1.y, rangeA1);
|
|
627
|
+
bitB1 = this.classifyBitsPointRangeXY(pointB1.x, pointB1.y, rangeA1);
|
|
638
628
|
fB1 = ib * dfB;
|
|
639
629
|
// Do NOT study the segment in detail if both bitB bits are on for any of the 4 planes . ..
|
|
640
630
|
if ((bitB0 & bitB1) === 0) {
|
|
@@ -645,7 +635,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
645
635
|
}
|
|
646
636
|
}
|
|
647
637
|
}
|
|
648
|
-
/**
|
|
638
|
+
/** Double dispatch handler for strongly typed linestring. */
|
|
649
639
|
handleLineString3d(lsA) {
|
|
650
640
|
if (this._geometryB instanceof LineString3d) {
|
|
651
641
|
const lsB = this._geometryB;
|
|
@@ -662,7 +652,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
662
652
|
}
|
|
663
653
|
return undefined;
|
|
664
654
|
}
|
|
665
|
-
/**
|
|
655
|
+
/** Double dispatch handler for strongly typed arc. */
|
|
666
656
|
handleArc3d(arc0) {
|
|
667
657
|
if (this._geometryB instanceof LineSegment3d) {
|
|
668
658
|
this.dispatchSegmentArc(this._geometryB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, arc0, true);
|
|
@@ -678,7 +668,7 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
678
668
|
}
|
|
679
669
|
return undefined;
|
|
680
670
|
}
|
|
681
|
-
/**
|
|
671
|
+
/** Double dispatch handler for strongly typed bspline curve. */
|
|
682
672
|
handleBSplineCurve3d(curve) {
|
|
683
673
|
if (this._geometryB instanceof LineSegment3d) {
|
|
684
674
|
this.dispatchSegmentBsplineCurve(this._geometryB, curve, true);
|
|
@@ -694,9 +684,11 @@ class CurveCurveCloseApproachXY extends NullGeometryHandler {
|
|
|
694
684
|
}
|
|
695
685
|
return undefined;
|
|
696
686
|
}
|
|
697
|
-
/**
|
|
687
|
+
/** Double dispatch handler for strongly typed homogeneous bspline curve .. */
|
|
698
688
|
handleBSplineCurve3dH(_curve) {
|
|
699
|
-
/*
|
|
689
|
+
/*
|
|
690
|
+
//NEEDS WORK -- make "dispatch" methods tolerant of both 3d and 3dH.
|
|
691
|
+
// "easy" if both present BezierCurve3dH span loaders
|
|
700
692
|
if (this._geometryB instanceof LineSegment3d) {
|
|
701
693
|
this.dispatchSegmentBsplineCurve(
|
|
702
694
|
this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB,
|
|
@@ -716,6 +708,6 @@ CurveCurveCloseApproachXY._workPointBB0 = Point3d.create();
|
|
|
716
708
|
CurveCurveCloseApproachXY._workPointBB1 = Point3d.create();
|
|
717
709
|
CurveCurveCloseApproachXY._workPointBB2 = Point3d.create();
|
|
718
710
|
CurveCurveCloseApproachXY._workVectorA = Vector3d.create();
|
|
719
|
-
CurveCurveCloseApproachXY.
|
|
711
|
+
CurveCurveCloseApproachXY._workPointB = Point3d.create();
|
|
720
712
|
export { CurveCurveCloseApproachXY };
|
|
721
713
|
//# sourceMappingURL=CurveCurveCloseApproachXY.js.map
|