@itwin/core-geometry 4.1.0-dev.6 → 4.1.0-dev.63
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 +62 -1
- package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js +2 -0
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/core-geometry.d.ts +1 -0
- package/lib/cjs/core-geometry.d.ts.map +1 -1
- package/lib/cjs/core-geometry.js +4 -1
- package/lib/cjs/core-geometry.js.map +1 -1
- package/lib/cjs/curve/Arc3d.d.ts +1 -0
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
- package/lib/cjs/curve/Arc3d.js +1 -0
- package/lib/cjs/curve/Arc3d.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +61 -41
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +69 -46
- 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.map +1 -1
- package/lib/cjs/curve/CurveCurve.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/CurvePrimitive.d.ts +4 -3
- 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/LineSegment3d.d.ts +6 -4
- package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineSegment3d.js +4 -4
- package/lib/cjs/curve/LineSegment3d.js.map +1 -1
- package/lib/cjs/curve/LineString3d.d.ts +1 -1
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineString3d.js +1 -1
- 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/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 +4 -6
- 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/RegionOps.d.ts +69 -47
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +70 -47
- package/lib/cjs/curve/RegionOps.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/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 +4 -0
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js +5 -2
- 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 +56 -34
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +153 -87
- 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/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/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 +5 -5
- package/lib/cjs/geometry3d/GeometryHandler.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 +27 -0
- package/lib/cjs/geometry3d/Matrix3d.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 +35 -32
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +8 -0
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +13 -0
- package/lib/cjs/geometry3d/Point3dVector3d.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/Ray3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.d.ts +7 -0
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Transform.js +12 -0
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts +64 -6
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js +104 -19
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +11 -0
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +79 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.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/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/esm/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js +2 -0
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/core-geometry.d.ts +1 -0
- package/lib/esm/core-geometry.d.ts.map +1 -1
- package/lib/esm/core-geometry.js +2 -0
- package/lib/esm/core-geometry.js.map +1 -1
- package/lib/esm/curve/Arc3d.d.ts +1 -0
- package/lib/esm/curve/Arc3d.d.ts.map +1 -1
- package/lib/esm/curve/Arc3d.js +1 -0
- package/lib/esm/curve/Arc3d.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +61 -41
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +69 -46
- 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.map +1 -1
- package/lib/esm/curve/CurveCurve.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/CurvePrimitive.d.ts +4 -3
- 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/LineSegment3d.d.ts +6 -4
- package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/esm/curve/LineSegment3d.js +4 -4
- package/lib/esm/curve/LineSegment3d.js.map +1 -1
- package/lib/esm/curve/LineString3d.d.ts +1 -1
- package/lib/esm/curve/LineString3d.d.ts.map +1 -1
- package/lib/esm/curve/LineString3d.js +1 -1
- 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/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 +4 -6
- 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/RegionOps.d.ts +69 -47
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +70 -47
- package/lib/esm/curve/RegionOps.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/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 +4 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.js +5 -2
- 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 +56 -34
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +153 -87
- 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/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/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 +5 -5
- package/lib/esm/geometry3d/GeometryHandler.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 +27 -0
- package/lib/esm/geometry3d/Matrix3d.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 +35 -32
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +8 -0
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +13 -0
- package/lib/esm/geometry3d/Point3dVector3d.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/Ray3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/Transform.d.ts +7 -0
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
- package/lib/esm/geometry3d/Transform.js +12 -0
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts +64 -6
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js +103 -19
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +11 -0
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +78 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.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/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/package.json +5 -5
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @module Polyface
|
|
3
3
|
*/
|
|
4
4
|
import { GrowableXYZArray } from "../../geometry3d/GrowableXYZArray";
|
|
5
|
+
import { Point3d, Vector3d } from "../../geometry3d/Point3dVector3d";
|
|
5
6
|
import { AnnounceDrapePanel } from "../PolyfaceQuery";
|
|
6
7
|
import { Polyface } from "../Polyface";
|
|
7
8
|
export declare class SweepLineStringToFacetContext {
|
|
@@ -22,4 +23,14 @@ export declare class SweepLineStringToFacetContext {
|
|
|
22
23
|
*/
|
|
23
24
|
projectToPolygon(polygon: GrowableXYZArray, announce: AnnounceDrapePanel, polyface: Polyface, readIndex: number): number;
|
|
24
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Context for sweeping a line string onto a convex polygon.
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export declare class ClipSweptLineStringContext {
|
|
31
|
+
private _edgeClippers;
|
|
32
|
+
private constructor();
|
|
33
|
+
static create(xyz: GrowableXYZArray, sweepVector: Vector3d | undefined): ClipSweptLineStringContext | undefined;
|
|
34
|
+
processPolygon(polygon: Point3d[], announceEdge: (pointA: Point3d, pointB: Point3d) => void): void;
|
|
35
|
+
}
|
|
25
36
|
//# sourceMappingURL=SweepLineStringToFacetContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SweepLineStringToFacetContext.d.ts","sourceRoot":"","sources":["../../../../src/polyface/multiclip/SweepLineStringToFacetContext.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"SweepLineStringToFacetContext.d.ts","sourceRoot":"","sources":["../../../../src/polyface/multiclip/SweepLineStringToFacetContext.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,qBAAa,6BAA6B;IACxC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO;WAMO,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,6BAA6B,GAAG,SAAS;IAQtF,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAAoB;IAEzC;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAoDhI;AAqDD;;;GAGG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO;WAGO,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,0BAA0B,GAAG,SAAS;IAoB/G,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI;CAKnG"}
|
|
@@ -6,10 +6,13 @@
|
|
|
6
6
|
* @module Polyface
|
|
7
7
|
*/
|
|
8
8
|
import { Transform } from "../../geometry3d/Transform";
|
|
9
|
-
import { Point3d } from "../../geometry3d/Point3dVector3d";
|
|
9
|
+
import { Point3d, Vector3d } from "../../geometry3d/Point3dVector3d";
|
|
10
10
|
import { Segment1d } from "../../geometry3d/Segment1d";
|
|
11
11
|
import { Range3d } from "../../geometry3d/Range";
|
|
12
12
|
import { Geometry } from "../../Geometry";
|
|
13
|
+
import { ClipPlane } from "../../clipping/ClipPlane";
|
|
14
|
+
import { ConvexClipPlaneSet } from "../../clipping/ConvexClipPlaneSet";
|
|
15
|
+
import { Point3dArrayPolygonOps } from "../../geometry3d/PolygonOps";
|
|
13
16
|
export class SweepLineStringToFacetContext {
|
|
14
17
|
constructor(spacePoints) {
|
|
15
18
|
// temporaries reused over multiple calls to process a single facet . ..
|
|
@@ -87,4 +90,78 @@ export class SweepLineStringToFacetContext {
|
|
|
87
90
|
return workCounter;
|
|
88
91
|
}
|
|
89
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Context for sweeping a line segment onto a convex polygon.
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
class EdgeClipData {
|
|
98
|
+
/** CAPTURE the planes */
|
|
99
|
+
constructor(edgePlane, clip) {
|
|
100
|
+
this.edgePlane = edgePlane;
|
|
101
|
+
this.clip = clip;
|
|
102
|
+
this._crossingPoints = [];
|
|
103
|
+
}
|
|
104
|
+
/** create object from segment and sweep. Inputs are not captured. */
|
|
105
|
+
static createPointPointSweep(pointA, pointB, sweep) {
|
|
106
|
+
const edgeVector = Vector3d.createStartEnd(pointA, pointB);
|
|
107
|
+
const fraction = edgeVector.fractionOfProjectionToVector(sweep);
|
|
108
|
+
// The unbounded plane of the swept edge will intersect facets in lines that may extend beyond the swept bounded line.
|
|
109
|
+
// That linework will be clipped between two facing planes with normal along the perpendicular dropped from the edge vector to the sweep vector.
|
|
110
|
+
const clipNormal = edgeVector.plusScaled(sweep, -fraction);
|
|
111
|
+
const planeA = ClipPlane.createNormalAndPoint(clipNormal, pointA);
|
|
112
|
+
const planeB = ClipPlane.createNormalAndPoint(clipNormal, pointB);
|
|
113
|
+
const edgePlane = ClipPlane.createOriginAndVectors(pointA, edgeVector, sweep);
|
|
114
|
+
if (planeA !== undefined && planeB !== undefined && edgePlane !== undefined) {
|
|
115
|
+
planeB.negateInPlace();
|
|
116
|
+
const clipper = ConvexClipPlaneSet.createPlanes([planeA, planeB]);
|
|
117
|
+
return new EdgeClipData(edgePlane, clipper);
|
|
118
|
+
}
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
processPolygon(polygon, announceEdge) {
|
|
122
|
+
this._crossingPoints.length = 0;
|
|
123
|
+
Point3dArrayPolygonOps.polygonPlaneCrossings(this.edgePlane, polygon, this._crossingPoints);
|
|
124
|
+
// process a convex polygon (or non-convex if lucky)
|
|
125
|
+
if (this._crossingPoints.length === 2) {
|
|
126
|
+
// use the end planes to clip the [0,1] swept edge to [f0,f1]
|
|
127
|
+
this.clip.announceClippedSegmentIntervals(0, 1, this._crossingPoints[0], this._crossingPoints[1], (f0, f1) => {
|
|
128
|
+
announceEdge(this._crossingPoints[0].interpolate(f0, this._crossingPoints[1]), this._crossingPoints[0].interpolate(f1, this._crossingPoints[1]));
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Context for sweeping a line string onto a convex polygon.
|
|
135
|
+
* @internal
|
|
136
|
+
*/
|
|
137
|
+
export class ClipSweptLineStringContext {
|
|
138
|
+
constructor(edgeData) {
|
|
139
|
+
this._edgeClippers = edgeData;
|
|
140
|
+
}
|
|
141
|
+
static create(xyz, sweepVector) {
|
|
142
|
+
if (sweepVector === undefined)
|
|
143
|
+
sweepVector = Vector3d.create(0, 0, 1);
|
|
144
|
+
if (xyz.length > 1) {
|
|
145
|
+
const point = Point3d.createZero();
|
|
146
|
+
const newPoint = Point3d.createZero();
|
|
147
|
+
const edgeData = [];
|
|
148
|
+
xyz.getPoint3dAtUncheckedPointIndex(0, point);
|
|
149
|
+
for (let i = 1; i < xyz.length; i++) {
|
|
150
|
+
xyz.getPoint3dAtUncheckedPointIndex(i, newPoint);
|
|
151
|
+
const clipper = EdgeClipData.createPointPointSweep(point, newPoint, sweepVector);
|
|
152
|
+
if (clipper !== undefined) {
|
|
153
|
+
point.setFrom(newPoint);
|
|
154
|
+
edgeData.push(clipper);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return new ClipSweptLineStringContext(edgeData);
|
|
158
|
+
}
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
processPolygon(polygon, announceEdge) {
|
|
162
|
+
for (const clipper of this._edgeClippers) {
|
|
163
|
+
clipper.processPolygon(polygon, announceEdge);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
90
167
|
//# sourceMappingURL=SweepLineStringToFacetContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SweepLineStringToFacetContext.js","sourceRoot":"","sources":["../../../../src/polyface/multiclip/SweepLineStringToFacetContext.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Polyface\r\n */\r\n\r\nimport { Transform } from \"../../geometry3d/Transform\";\r\nimport { GrowableXYZArray } from \"../../geometry3d/GrowableXYZArray\";\r\nimport { Point3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { Segment1d } from \"../../geometry3d/Segment1d\";\r\nimport { AnnounceDrapePanel } from \"../PolyfaceQuery\";\r\nimport { Range3d } from \"../../geometry3d/Range\";\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { Polyface } from \"../Polyface\";\r\n\r\nexport class SweepLineStringToFacetContext {\r\n private _spacePoints: GrowableXYZArray;\r\n private _spacePointsRange: Range3d;\r\n private _numSpacePoints: number;\r\n private constructor(spacePoints: GrowableXYZArray) {\r\n this._spacePoints = spacePoints;\r\n this._spacePointsRange = new Range3d();\r\n spacePoints.setRange(this._spacePointsRange);\r\n this._numSpacePoints = this._spacePoints.length;\r\n }\r\n public static create(xyz: GrowableXYZArray): SweepLineStringToFacetContext | undefined {\r\n if (xyz.length > 1) {\r\n return new SweepLineStringToFacetContext(xyz.clone());\r\n }\r\n return undefined;\r\n }\r\n\r\n // temporaries reused over multiple calls to process a single facet . ..\r\n private _segmentPoint0 = Point3d.create();\r\n private _segmentPoint1 = Point3d.create();\r\n private _localSegmentPoint0 = Point3d.create();\r\n private _localSegmentPoint1 = Point3d.create();\r\n private _clipFractions = Segment1d.create(0, 1);\r\n private _localFrame = Transform.createIdentity();\r\n private _polygonRange = Range3d.create();\r\n\r\n /** process a single polygon.\r\n * @returns number crudely indicating how much work was done.\r\n */\r\n public projectToPolygon(polygon: GrowableXYZArray, announce: AnnounceDrapePanel, polyface: Polyface, readIndex: number): number {\r\n polygon.setRange(this._polygonRange);\r\n let workCounter = 0;\r\n if (!this._polygonRange.intersectsRangeXY(this._spacePointsRange))\r\n return workCounter;\r\n // numTest++;\r\n // For each triangle within the facet ...\r\n // remark: this loop only runs once in triangle mesh, twice in quads ...\r\n for (let k1 = 1; k1 + 1 < polygon.length; k1++) {\r\n workCounter++;\r\n const frame = polygon.fillLocalXYTriangleFrame(0, k1, k1 + 1, this._localFrame);\r\n if (frame) {\r\n // For each stroke of the linestring ...\r\n for (let i1 = 1; i1 < this._numSpacePoints; i1++) {\r\n workCounter++;\r\n this._spacePoints.getPoint3dAtCheckedPointIndex(i1 - 1, this._segmentPoint0);\r\n this._spacePoints.getPoint3dAtCheckedPointIndex(i1, this._segmentPoint1);\r\n frame.multiplyInversePoint3d(this._segmentPoint0, this._localSegmentPoint0);\r\n frame.multiplyInversePoint3d(this._segmentPoint1, this._localSegmentPoint1);\r\n this._clipFractions.set(0, 1);\r\n /** (x,y,1-x-y) are barycentric coordinates in the triangle !!! */\r\n if (this._clipFractions.clipBy01FunctionValuesPositive(this._localSegmentPoint0.x, this._localSegmentPoint1.x)\r\n && this._clipFractions.clipBy01FunctionValuesPositive(this._localSegmentPoint0.y, this._localSegmentPoint1.y)\r\n && this._clipFractions.clipBy01FunctionValuesPositive(\r\n 1 - this._localSegmentPoint0.x - this._localSegmentPoint0.y,\r\n 1 - this._localSegmentPoint1.x - this._localSegmentPoint1.y)) {\r\n /* project the local segment point to the plane. */\r\n workCounter++;\r\n const localClippedPointA = this._localSegmentPoint0.interpolate(this._clipFractions.x0, this._localSegmentPoint1);\r\n const localClippedPointB = this._localSegmentPoint0.interpolate(this._clipFractions.x1, this._localSegmentPoint1);\r\n const worldClippedPointA = this._localFrame.multiplyPoint3d(localClippedPointA)!;\r\n const worldClippedPointB = this._localFrame.multiplyPoint3d(localClippedPointB)!;\r\n const planePointA = this._localFrame.multiplyXYZ(localClippedPointA.x, localClippedPointA.y, 0.0)!;\r\n const planePointB = this._localFrame.multiplyXYZ(localClippedPointB.x, localClippedPointB.y, 0.0)!;\r\n const splitParameter = Geometry.inverseInterpolate01(this._localSegmentPoint0.z, this._localSegmentPoint1.z);\r\n // emit 1 or 2 panels, oriented so panel normal is always to the left of the line.\r\n if (splitParameter !== undefined && splitParameter > this._clipFractions.x0 && splitParameter < this._clipFractions.x1) {\r\n workCounter++;\r\n const piercePointX = this._segmentPoint0.interpolate(splitParameter, this._segmentPoint1);\r\n const piercePointY = piercePointX.clone(); // so points are distinct for the two triangle announcements.\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointA, piercePointX, planePointA], 2, 1);\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointB, piercePointY, planePointB], 1, 2);\r\n } else if (this._localSegmentPoint0.z > 0) { // segment is entirely above\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointA, worldClippedPointB, planePointB, planePointA], 3, 2);\r\n } else // segment is entirely under\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointB, worldClippedPointA, planePointA, planePointB], 2, 3);\r\n }\r\n }\r\n }\r\n }\r\n return workCounter;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"SweepLineStringToFacetContext.js","sourceRoot":"","sources":["../../../../src/polyface/multiclip/SweepLineStringToFacetContext.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Polyface\r\n */\r\n\r\nimport { Transform } from \"../../geometry3d/Transform\";\r\nimport { GrowableXYZArray } from \"../../geometry3d/GrowableXYZArray\";\r\nimport { Point3d, Vector3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { Segment1d } from \"../../geometry3d/Segment1d\";\r\nimport { AnnounceDrapePanel } from \"../PolyfaceQuery\";\r\nimport { Range3d } from \"../../geometry3d/Range\";\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { Polyface } from \"../Polyface\";\r\nimport { ClipPlane } from \"../../clipping/ClipPlane\";\r\nimport { ConvexClipPlaneSet } from \"../../clipping/ConvexClipPlaneSet\";\r\nimport { Point3dArrayPolygonOps } from \"../../geometry3d/PolygonOps\";\r\n\r\nexport class SweepLineStringToFacetContext {\r\n private _spacePoints: GrowableXYZArray;\r\n private _spacePointsRange: Range3d;\r\n private _numSpacePoints: number;\r\n private constructor(spacePoints: GrowableXYZArray) {\r\n this._spacePoints = spacePoints;\r\n this._spacePointsRange = new Range3d();\r\n spacePoints.setRange(this._spacePointsRange);\r\n this._numSpacePoints = this._spacePoints.length;\r\n }\r\n public static create(xyz: GrowableXYZArray): SweepLineStringToFacetContext | undefined {\r\n if (xyz.length > 1) {\r\n return new SweepLineStringToFacetContext(xyz.clone());\r\n }\r\n return undefined;\r\n }\r\n\r\n // temporaries reused over multiple calls to process a single facet . ..\r\n private _segmentPoint0 = Point3d.create();\r\n private _segmentPoint1 = Point3d.create();\r\n private _localSegmentPoint0 = Point3d.create();\r\n private _localSegmentPoint1 = Point3d.create();\r\n private _clipFractions = Segment1d.create(0, 1);\r\n private _localFrame = Transform.createIdentity();\r\n private _polygonRange = Range3d.create();\r\n\r\n /** process a single polygon.\r\n * @returns number crudely indicating how much work was done.\r\n */\r\n public projectToPolygon(polygon: GrowableXYZArray, announce: AnnounceDrapePanel, polyface: Polyface, readIndex: number): number {\r\n polygon.setRange(this._polygonRange);\r\n let workCounter = 0;\r\n if (!this._polygonRange.intersectsRangeXY(this._spacePointsRange))\r\n return workCounter;\r\n // numTest++;\r\n // For each triangle within the facet ...\r\n // remark: this loop only runs once in triangle mesh, twice in quads ...\r\n for (let k1 = 1; k1 + 1 < polygon.length; k1++) {\r\n workCounter++;\r\n const frame = polygon.fillLocalXYTriangleFrame(0, k1, k1 + 1, this._localFrame);\r\n if (frame) {\r\n // For each stroke of the linestring ...\r\n for (let i1 = 1; i1 < this._numSpacePoints; i1++) {\r\n workCounter++;\r\n this._spacePoints.getPoint3dAtCheckedPointIndex(i1 - 1, this._segmentPoint0);\r\n this._spacePoints.getPoint3dAtCheckedPointIndex(i1, this._segmentPoint1);\r\n frame.multiplyInversePoint3d(this._segmentPoint0, this._localSegmentPoint0);\r\n frame.multiplyInversePoint3d(this._segmentPoint1, this._localSegmentPoint1);\r\n this._clipFractions.set(0, 1);\r\n /** (x,y,1-x-y) are barycentric coordinates in the triangle !!! */\r\n if (this._clipFractions.clipBy01FunctionValuesPositive(this._localSegmentPoint0.x, this._localSegmentPoint1.x)\r\n && this._clipFractions.clipBy01FunctionValuesPositive(this._localSegmentPoint0.y, this._localSegmentPoint1.y)\r\n && this._clipFractions.clipBy01FunctionValuesPositive(\r\n 1 - this._localSegmentPoint0.x - this._localSegmentPoint0.y,\r\n 1 - this._localSegmentPoint1.x - this._localSegmentPoint1.y)) {\r\n /* project the local segment point to the plane. */\r\n workCounter++;\r\n const localClippedPointA = this._localSegmentPoint0.interpolate(this._clipFractions.x0, this._localSegmentPoint1);\r\n const localClippedPointB = this._localSegmentPoint0.interpolate(this._clipFractions.x1, this._localSegmentPoint1);\r\n const worldClippedPointA = this._localFrame.multiplyPoint3d(localClippedPointA)!;\r\n const worldClippedPointB = this._localFrame.multiplyPoint3d(localClippedPointB)!;\r\n const planePointA = this._localFrame.multiplyXYZ(localClippedPointA.x, localClippedPointA.y, 0.0)!;\r\n const planePointB = this._localFrame.multiplyXYZ(localClippedPointB.x, localClippedPointB.y, 0.0)!;\r\n const splitParameter = Geometry.inverseInterpolate01(this._localSegmentPoint0.z, this._localSegmentPoint1.z);\r\n // emit 1 or 2 panels, oriented so panel normal is always to the left of the line.\r\n if (splitParameter !== undefined && splitParameter > this._clipFractions.x0 && splitParameter < this._clipFractions.x1) {\r\n workCounter++;\r\n const piercePointX = this._segmentPoint0.interpolate(splitParameter, this._segmentPoint1);\r\n const piercePointY = piercePointX.clone(); // so points are distinct for the two triangle announcements.\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointA, piercePointX, planePointA], 2, 1);\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointB, piercePointY, planePointB], 1, 2);\r\n } else if (this._localSegmentPoint0.z > 0) { // segment is entirely above\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointA, worldClippedPointB, planePointB, planePointA], 3, 2);\r\n } else // segment is entirely under\r\n announce(this._spacePoints, i1 - 1, polyface, readIndex, [worldClippedPointB, worldClippedPointA, planePointA, planePointB], 2, 3);\r\n }\r\n }\r\n }\r\n }\r\n return workCounter;\r\n }\r\n}\r\n\r\n/**\r\n * Context for sweeping a line segment onto a convex polygon.\r\n * @internal\r\n */\r\nclass EdgeClipData {\r\n /** Plane containing the edge and sweep vector */\r\n public edgePlane: ClipPlane;\r\n /** Two clip planes facing each other at each end of the edge */\r\n public clip: ConvexClipPlaneSet;\r\n /** work array for clipper method */\r\n private _crossingPoints: Point3d[];\r\n\r\n /** CAPTURE the planes */\r\n public constructor(edgePlane: ClipPlane, clip: ConvexClipPlaneSet) {\r\n this.edgePlane = edgePlane;\r\n this.clip = clip;\r\n this._crossingPoints = [];\r\n }\r\n /** create object from segment and sweep. Inputs are not captured. */\r\n public static createPointPointSweep(pointA: Point3d, pointB: Point3d, sweep: Vector3d): EdgeClipData | undefined {\r\n const edgeVector = Vector3d.createStartEnd(pointA, pointB);\r\n const fraction = edgeVector.fractionOfProjectionToVector(sweep);\r\n // The unbounded plane of the swept edge will intersect facets in lines that may extend beyond the swept bounded line.\r\n // That linework will be clipped between two facing planes with normal along the perpendicular dropped from the edge vector to the sweep vector.\r\n const clipNormal = edgeVector.plusScaled(sweep, -fraction);\r\n const planeA = ClipPlane.createNormalAndPoint(clipNormal, pointA);\r\n const planeB = ClipPlane.createNormalAndPoint(clipNormal, pointB);\r\n const edgePlane = ClipPlane.createOriginAndVectors(pointA, edgeVector, sweep);\r\n if (planeA !== undefined && planeB !== undefined && edgePlane !== undefined) {\r\n planeB.negateInPlace();\r\n const clipper = ConvexClipPlaneSet.createPlanes([planeA, planeB]);\r\n return new EdgeClipData(edgePlane, clipper);\r\n }\r\n return undefined;\r\n }\r\n\r\n public processPolygon(polygon: Point3d[], announceEdge: (pointA: Point3d, pointB: Point3d) => void) {\r\n this._crossingPoints.length = 0;\r\n Point3dArrayPolygonOps.polygonPlaneCrossings(this.edgePlane, polygon, this._crossingPoints);\r\n // process a convex polygon (or non-convex if lucky)\r\n if (this._crossingPoints.length === 2) {\r\n // use the end planes to clip the [0,1] swept edge to [f0,f1]\r\n this.clip.announceClippedSegmentIntervals(0, 1, this._crossingPoints[0], this._crossingPoints[1],\r\n (f0: number, f1: number) => {\r\n announceEdge(this._crossingPoints[0].interpolate(f0, this._crossingPoints[1]),\r\n this._crossingPoints[0].interpolate(f1, this._crossingPoints[1]));\r\n }\r\n );\r\n }\r\n }\r\n}\r\n/**\r\n * Context for sweeping a line string onto a convex polygon.\r\n * @internal\r\n */\r\nexport class ClipSweptLineStringContext {\r\n private _edgeClippers: EdgeClipData[];\r\n private constructor(edgeData: EdgeClipData[]) {\r\n this._edgeClippers = edgeData;\r\n }\r\n public static create(xyz: GrowableXYZArray, sweepVector: Vector3d | undefined): ClipSweptLineStringContext | undefined {\r\n if (sweepVector === undefined)\r\n sweepVector = Vector3d.create(0, 0, 1);\r\n if (xyz.length > 1) {\r\n const point = Point3d.createZero();\r\n const newPoint = Point3d.createZero();\r\n const edgeData: EdgeClipData[] = [];\r\n xyz.getPoint3dAtUncheckedPointIndex(0, point);\r\n for (let i = 1; i < xyz.length; i++) {\r\n xyz.getPoint3dAtUncheckedPointIndex(i, newPoint);\r\n const clipper = EdgeClipData.createPointPointSweep(point, newPoint, sweepVector);\r\n if (clipper !== undefined) {\r\n point.setFrom(newPoint);\r\n edgeData.push(clipper);\r\n }\r\n }\r\n return new ClipSweptLineStringContext(edgeData);\r\n }\r\n return undefined;\r\n }\r\n public processPolygon(polygon: Point3d[], announceEdge: (pointA: Point3d, pointB: Point3d) => void) {\r\n for (const clipper of this._edgeClippers) {\r\n clipper.processPolygon(polygon, announceEdge);\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -650,5 +650,16 @@ export declare class Sample {
|
|
|
650
650
|
* @param acceptFunction (x0: number, y0: number)=> boolean
|
|
651
651
|
*/
|
|
652
652
|
static sweepXZLineStringToMeshWithHoles(xzPoints: number[][], ySweep: number, acceptFunction: (x0: number, y0: number) => boolean): IndexedPolyface;
|
|
653
|
+
/**
|
|
654
|
+
* Successively move in directions in the steps array, creating numStroke total strokes.
|
|
655
|
+
* * In typical use there are two entries in the steps vector, giving the effect of stair steps if they are perpendicular.
|
|
656
|
+
* * if start is a single point, create a new point array with start as its first entry.
|
|
657
|
+
* * if start is an array, add to it.
|
|
658
|
+
* * if start is an empty array, push 000 as starting point.
|
|
659
|
+
* @param start start point or prior array of points whose last is start point.
|
|
660
|
+
* @param steps array of vectors giving step vectors.
|
|
661
|
+
* @param numStroke number of steps to take.
|
|
662
|
+
*/
|
|
663
|
+
static createZigZag(start: Point3d | Point3d[], steps: Vector3d[], numStroke: number): Point3d[];
|
|
653
664
|
}
|
|
654
665
|
//# sourceMappingURL=GeometrySamples.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometrySamples.d.ts","sourceRoot":"","sources":["../../../src/serialization/GeometrySamples.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeometrySamples.d.ts","sourceRoot":"","sources":["../../../src/serialization/GeometrySamples.ts"],"names":[],"mappings":"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"}
|
|
@@ -2132,6 +2132,36 @@ class Sample {
|
|
|
2132
2132
|
}
|
|
2133
2133
|
return builder.claimPolyface(true);
|
|
2134
2134
|
}
|
|
2135
|
+
/**
|
|
2136
|
+
* Successively move in directions in the steps array, creating numStroke total strokes.
|
|
2137
|
+
* * In typical use there are two entries in the steps vector, giving the effect of stair steps if they are perpendicular.
|
|
2138
|
+
* * if start is a single point, create a new point array with start as its first entry.
|
|
2139
|
+
* * if start is an array, add to it.
|
|
2140
|
+
* * if start is an empty array, push 000 as starting point.
|
|
2141
|
+
* @param start start point or prior array of points whose last is start point.
|
|
2142
|
+
* @param steps array of vectors giving step vectors.
|
|
2143
|
+
* @param numStroke number of steps to take.
|
|
2144
|
+
*/
|
|
2145
|
+
static createZigZag(start, steps, numStroke) {
|
|
2146
|
+
let result;
|
|
2147
|
+
if (Array.isArray(start)) {
|
|
2148
|
+
result = start;
|
|
2149
|
+
if (result.length === 0)
|
|
2150
|
+
result.push(Point3d.create(0, 0, 0));
|
|
2151
|
+
}
|
|
2152
|
+
else {
|
|
2153
|
+
result = [start.clone()];
|
|
2154
|
+
}
|
|
2155
|
+
let numAdded = 0;
|
|
2156
|
+
for (;;) {
|
|
2157
|
+
for (const step of steps) {
|
|
2158
|
+
if (++numAdded > numStroke)
|
|
2159
|
+
return result;
|
|
2160
|
+
result.push(result[result.length - 1].plus(step));
|
|
2161
|
+
}
|
|
2162
|
+
}
|
|
2163
|
+
return result;
|
|
2164
|
+
}
|
|
2135
2165
|
}
|
|
2136
2166
|
/** Array with assorted Point2d samples */
|
|
2137
2167
|
Sample.point2d = [
|