@itwin/core-geometry 5.5.0-dev.4 → 5.5.0-dev.6
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/lib/cjs/Geometry.d.ts +7 -0
- package/lib/cjs/Geometry.d.ts.map +1 -1
- package/lib/cjs/Geometry.js +9 -0
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js +2 -1
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurveOps.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurveOps.js +4 -1
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3d.d.ts.map +1 -1
- package/lib/cjs/bspline/BezierCurve3d.js +14 -4
- package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.d.ts +2 -0
- package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.js +19 -3
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BezierCurveBase.d.ts +8 -2
- package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
- package/lib/cjs/bspline/BezierCurveBase.js +10 -4
- package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
- package/lib/cjs/clipping/AlternatingConvexClipTree.js +4 -4
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/cjs/clipping/ClipPlane.d.ts +0 -3
- package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipPlane.js +9 -2
- package/lib/cjs/clipping/ClipPlane.js.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.d.ts +59 -9
- package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js +124 -55
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js +1 -1
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/clipping/ClipVector.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipVector.js +12 -8
- package/lib/cjs/clipping/ClipVector.js.map +1 -1
- package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts +0 -2
- package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
- package/lib/cjs/clipping/ConvexClipPlaneSet.js +19 -18
- package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +4 -5
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/cjs/core-geometry.d.ts +0 -1
- package/lib/cjs/core-geometry.d.ts.map +1 -1
- package/lib/cjs/core-geometry.js +0 -1
- package/lib/cjs/core-geometry.js.map +1 -1
- package/lib/cjs/curve/Arc3d.js +2 -2
- package/lib/cjs/curve/Arc3d.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +12 -4
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +52 -33
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCollection.js +13 -6
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.js +1 -1
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
- package/lib/cjs/curve/CurveFactory.js +13 -1
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.d.ts +12 -4
- package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js +14 -5
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.d.ts +5 -4
- package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.js +7 -4
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
- package/lib/cjs/curve/LineString3d.d.ts +25 -16
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineString3d.js +90 -72
- package/lib/cjs/curve/LineString3d.js.map +1 -1
- package/lib/cjs/curve/Path.d.ts +0 -3
- package/lib/cjs/curve/Path.d.ts.map +1 -1
- package/lib/cjs/curve/Path.js +9 -2
- package/lib/cjs/curve/Path.js.map +1 -1
- package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
- package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
- package/lib/cjs/curve/Query/PlanarSubdivision.js +25 -31
- package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountChain.d.ts +7 -1
- package/lib/cjs/curve/Query/StrokeCountChain.d.ts.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountChain.js +27 -36
- package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/cjs/curve/RegionMomentsXY.d.ts.map +1 -1
- package/lib/cjs/curve/RegionMomentsXY.js +7 -1
- package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +8 -5
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js +6 -6
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js +4 -1
- package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js +6 -1
- package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +5 -21
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +29 -73
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +55 -13
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +238 -110
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +1 -4
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js +9 -9
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +11 -14
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +18 -18
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts +7 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.d.ts +19 -7
- package/lib/cjs/geometry3d/Ellipsoid.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.js +26 -11
- package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/cjs/geometry3d/FrustumAnimation.d.ts.map +1 -1
- package/lib/cjs/geometry3d/FrustumAnimation.js +11 -1
- package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts +5 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js +11 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +49 -8
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js +90 -37
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +100 -3
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js +125 -0
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +10 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +53 -34
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts +49 -2
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js +67 -9
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointStreaming.js +1 -1
- package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.d.ts +24 -32
- package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js +147 -180
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js +5 -5
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PolylineOps.js +13 -3
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
- package/lib/cjs/geometry3d/Range.js.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.d.ts +0 -3
- package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js +5 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/SortablePolygon.d.ts +2 -2
- package/lib/cjs/geometry3d/SortablePolygon.d.ts.map +1 -1
- package/lib/cjs/geometry3d/SortablePolygon.js +14 -18
- package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.d.ts +8 -0
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Transform.js +15 -9
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/numerics/ClusterableArray.d.ts +4 -2
- package/lib/cjs/numerics/ClusterableArray.d.ts.map +1 -1
- package/lib/cjs/numerics/ClusterableArray.js +6 -4
- package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
- package/lib/cjs/numerics/Newton.d.ts +3 -1
- package/lib/cjs/numerics/Newton.d.ts.map +1 -1
- package/lib/cjs/numerics/Newton.js +5 -1
- package/lib/cjs/numerics/Newton.js.map +1 -1
- package/lib/cjs/polyface/AuxData.d.ts +1 -4
- package/lib/cjs/polyface/AuxData.d.ts.map +1 -1
- package/lib/cjs/polyface/AuxData.js +5 -1
- package/lib/cjs/polyface/AuxData.js.map +1 -1
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js +3 -3
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
- package/lib/cjs/polyface/Polyface.js +14 -16
- package/lib/cjs/polyface/Polyface.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts +84 -28
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js +277 -217
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.d.ts +4 -3
- package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js +11 -4
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js +9 -7
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.d.ts.map +1 -1
- package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js +3 -2
- package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeNode.js +2 -2
- package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.d.ts.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js +14 -12
- package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.d.ts +1 -1
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +10 -6
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js +4 -3
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +3 -5
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/XYPointBuckets.d.ts +1 -1
- package/lib/cjs/polyface/multiclip/XYPointBuckets.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/XYPointBuckets.js +4 -8
- package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/cjs/serialization/BGFBAccessors.d.ts.map +1 -1
- package/lib/cjs/serialization/BGFBAccessors.js +1 -0
- package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
- package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
- package/lib/cjs/serialization/BGFBReader.js +37 -7
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.d.ts +4 -4
- package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.js +24 -40
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js +9 -3
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/serialization/SerializationHelpers.d.ts +0 -3
- package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -1
- package/lib/cjs/serialization/SerializationHelpers.js +16 -7
- package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
- package/lib/cjs/solid/Box.d.ts +2 -2
- package/lib/cjs/solid/Box.d.ts.map +1 -1
- package/lib/cjs/solid/Box.js.map +1 -1
- package/lib/cjs/solid/Cone.d.ts +3 -2
- package/lib/cjs/solid/Cone.d.ts.map +1 -1
- package/lib/cjs/solid/Cone.js +4 -1
- package/lib/cjs/solid/Cone.js.map +1 -1
- package/lib/cjs/solid/LinearSweep.d.ts +1 -1
- package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
- package/lib/cjs/solid/LinearSweep.js +1 -1
- package/lib/cjs/solid/LinearSweep.js.map +1 -1
- package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
- package/lib/cjs/solid/RotationalSweep.js +1 -3
- package/lib/cjs/solid/RotationalSweep.js.map +1 -1
- package/lib/cjs/solid/TorusPipe.d.ts +4 -3
- package/lib/cjs/solid/TorusPipe.d.ts.map +1 -1
- package/lib/cjs/solid/TorusPipe.js.map +1 -1
- package/lib/cjs/topology/ChainMerge.d.ts +4 -4
- package/lib/cjs/topology/ChainMerge.d.ts.map +1 -1
- package/lib/cjs/topology/ChainMerge.js +11 -1
- package/lib/cjs/topology/ChainMerge.js.map +1 -1
- package/lib/cjs/topology/Graph.d.ts +2 -0
- package/lib/cjs/topology/Graph.d.ts.map +1 -1
- package/lib/cjs/topology/Graph.js +5 -0
- package/lib/cjs/topology/Graph.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js +2 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.js +23 -16
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePositionDetail.d.ts +20 -9
- package/lib/cjs/topology/HalfEdgePositionDetail.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgePositionDetail.js +17 -13
- package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.js +3 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts +6 -2
- package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts.map +1 -1
- package/lib/cjs/topology/InsertAndRetriangulateContext.js +41 -35
- package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/cjs/topology/MaskManager.d.ts +7 -3
- package/lib/cjs/topology/MaskManager.d.ts.map +1 -1
- package/lib/cjs/topology/MaskManager.js +10 -4
- package/lib/cjs/topology/MaskManager.js.map +1 -1
- package/lib/cjs/topology/RegularizeFace.d.ts.map +1 -1
- package/lib/cjs/topology/RegularizeFace.js.map +1 -1
- package/lib/cjs/topology/Triangulation.d.ts +2 -1
- package/lib/cjs/topology/Triangulation.d.ts.map +1 -1
- package/lib/cjs/topology/Triangulation.js +12 -7
- package/lib/cjs/topology/Triangulation.js.map +1 -1
- package/lib/esm/Geometry.d.ts +7 -0
- package/lib/esm/Geometry.d.ts.map +1 -1
- package/lib/esm/Geometry.js +9 -0
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js +2 -1
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/bspline/BSplineCurveOps.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurveOps.js +4 -1
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3d.d.ts.map +1 -1
- package/lib/esm/bspline/BezierCurve3d.js +14 -4
- package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.d.ts +2 -0
- package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.js +19 -3
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BezierCurveBase.d.ts +8 -2
- package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
- package/lib/esm/bspline/BezierCurveBase.js +10 -4
- package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
- package/lib/esm/clipping/AlternatingConvexClipTree.js +4 -4
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/esm/clipping/ClipPlane.d.ts +0 -3
- package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
- package/lib/esm/clipping/ClipPlane.js +9 -2
- package/lib/esm/clipping/ClipPlane.js.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.d.ts +59 -9
- package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js +124 -55
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.js +1 -1
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/clipping/ClipVector.d.ts.map +1 -1
- package/lib/esm/clipping/ClipVector.js +12 -8
- package/lib/esm/clipping/ClipVector.js.map +1 -1
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +0 -2
- package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
- package/lib/esm/clipping/ConvexClipPlaneSet.js +20 -19
- package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +4 -5
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/esm/core-geometry.d.ts +0 -1
- package/lib/esm/core-geometry.d.ts.map +1 -1
- package/lib/esm/core-geometry.js +0 -1
- package/lib/esm/core-geometry.js.map +1 -1
- package/lib/esm/curve/Arc3d.js +2 -2
- package/lib/esm/curve/Arc3d.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +12 -4
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +53 -34
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
- package/lib/esm/curve/CurveCollection.js +13 -6
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.js +1 -1
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
- package/lib/esm/curve/CurveFactory.js +13 -1
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.d.ts +12 -4
- package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js +14 -5
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurvePrimitive.d.ts +5 -4
- package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/esm/curve/CurvePrimitive.js +7 -4
- package/lib/esm/curve/CurvePrimitive.js.map +1 -1
- package/lib/esm/curve/LineString3d.d.ts +25 -16
- package/lib/esm/curve/LineString3d.d.ts.map +1 -1
- package/lib/esm/curve/LineString3d.js +90 -72
- package/lib/esm/curve/LineString3d.js.map +1 -1
- package/lib/esm/curve/Path.d.ts +0 -3
- package/lib/esm/curve/Path.d.ts.map +1 -1
- package/lib/esm/curve/Path.js +9 -2
- package/lib/esm/curve/Path.js.map +1 -1
- package/lib/esm/curve/Query/InOutTests.js.map +1 -1
- package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
- package/lib/esm/curve/Query/PlanarSubdivision.js +25 -31
- package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountChain.d.ts +7 -1
- package/lib/esm/curve/Query/StrokeCountChain.d.ts.map +1 -1
- package/lib/esm/curve/Query/StrokeCountChain.js +27 -36
- package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/esm/curve/RegionMomentsXY.d.ts.map +1 -1
- package/lib/esm/curve/RegionMomentsXY.js +7 -1
- package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +8 -5
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js +6 -6
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js +4 -1
- package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js +6 -1
- package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +5 -21
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +29 -73
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +55 -13
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +239 -111
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +1 -4
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js +9 -9
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +11 -14
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +18 -18
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +7 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/esm/geometry3d/Ellipsoid.d.ts +19 -7
- package/lib/esm/geometry3d/Ellipsoid.d.ts.map +1 -1
- package/lib/esm/geometry3d/Ellipsoid.js +26 -11
- package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/esm/geometry3d/FrustumAnimation.d.ts.map +1 -1
- package/lib/esm/geometry3d/FrustumAnimation.js +11 -1
- package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.d.ts +5 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js +11 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.d.ts +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts +49 -8
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js +90 -37
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +100 -3
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js +125 -0
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +10 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +53 -34
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +49 -2
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js +67 -9
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointStreaming.js +1 -1
- package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.d.ts +24 -32
- package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js +147 -180
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +5 -5
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/PolylineOps.js +13 -3
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
- package/lib/esm/geometry3d/Range.js.map +1 -1
- package/lib/esm/geometry3d/Ray3d.d.ts +0 -3
- package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js +5 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/SortablePolygon.d.ts +2 -2
- package/lib/esm/geometry3d/SortablePolygon.d.ts.map +1 -1
- package/lib/esm/geometry3d/SortablePolygon.js +14 -18
- package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/esm/geometry3d/Transform.d.ts +8 -0
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
- package/lib/esm/geometry3d/Transform.js +15 -9
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/numerics/ClusterableArray.d.ts +4 -2
- package/lib/esm/numerics/ClusterableArray.d.ts.map +1 -1
- package/lib/esm/numerics/ClusterableArray.js +6 -4
- package/lib/esm/numerics/ClusterableArray.js.map +1 -1
- package/lib/esm/numerics/Newton.d.ts +3 -1
- package/lib/esm/numerics/Newton.d.ts.map +1 -1
- package/lib/esm/numerics/Newton.js +5 -1
- package/lib/esm/numerics/Newton.js.map +1 -1
- package/lib/esm/polyface/AuxData.d.ts +1 -4
- package/lib/esm/polyface/AuxData.d.ts.map +1 -1
- package/lib/esm/polyface/AuxData.js +5 -1
- package/lib/esm/polyface/AuxData.js.map +1 -1
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js +3 -3
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/esm/polyface/Polyface.d.ts.map +1 -1
- package/lib/esm/polyface/Polyface.js +14 -16
- package/lib/esm/polyface/Polyface.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.d.ts +84 -28
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js +277 -217
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.d.ts +4 -3
- package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js +11 -4
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceData.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js +9 -7
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.d.ts.map +1 -1
- package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js +3 -2
- package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeNode.js +2 -2
- package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.d.ts.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js +14 -12
- package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts +1 -1
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +10 -6
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js +4 -3
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +3 -5
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts +1 -1
- package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/XYPointBuckets.js +4 -8
- package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/esm/serialization/BGFBAccessors.d.ts.map +1 -1
- package/lib/esm/serialization/BGFBAccessors.js +1 -0
- package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
- package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
- package/lib/esm/serialization/BGFBReader.js +37 -7
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/BGFBWriter.d.ts +4 -4
- package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
- package/lib/esm/serialization/BGFBWriter.js +24 -40
- package/lib/esm/serialization/BGFBWriter.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js +9 -3
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/serialization/SerializationHelpers.d.ts +0 -3
- package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -1
- package/lib/esm/serialization/SerializationHelpers.js +16 -7
- package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
- package/lib/esm/solid/Box.d.ts +2 -2
- package/lib/esm/solid/Box.d.ts.map +1 -1
- package/lib/esm/solid/Box.js.map +1 -1
- package/lib/esm/solid/Cone.d.ts +3 -2
- package/lib/esm/solid/Cone.d.ts.map +1 -1
- package/lib/esm/solid/Cone.js +4 -1
- package/lib/esm/solid/Cone.js.map +1 -1
- package/lib/esm/solid/LinearSweep.d.ts +1 -1
- package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
- package/lib/esm/solid/LinearSweep.js +1 -1
- package/lib/esm/solid/LinearSweep.js.map +1 -1
- package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
- package/lib/esm/solid/RotationalSweep.js +1 -3
- package/lib/esm/solid/RotationalSweep.js.map +1 -1
- package/lib/esm/solid/TorusPipe.d.ts +4 -3
- package/lib/esm/solid/TorusPipe.d.ts.map +1 -1
- package/lib/esm/solid/TorusPipe.js.map +1 -1
- package/lib/esm/topology/ChainMerge.d.ts +4 -4
- package/lib/esm/topology/ChainMerge.d.ts.map +1 -1
- package/lib/esm/topology/ChainMerge.js +11 -1
- package/lib/esm/topology/ChainMerge.js.map +1 -1
- package/lib/esm/topology/Graph.d.ts +2 -0
- package/lib/esm/topology/Graph.d.ts.map +1 -1
- package/lib/esm/topology/Graph.js +5 -0
- package/lib/esm/topology/Graph.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js +2 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js +23 -16
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgePositionDetail.d.ts +20 -9
- package/lib/esm/topology/HalfEdgePositionDetail.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgePositionDetail.js +17 -13
- package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.js +4 -2
- package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/esm/topology/InsertAndRetriangulateContext.d.ts +6 -2
- package/lib/esm/topology/InsertAndRetriangulateContext.d.ts.map +1 -1
- package/lib/esm/topology/InsertAndRetriangulateContext.js +41 -35
- package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/esm/topology/MaskManager.d.ts +7 -3
- package/lib/esm/topology/MaskManager.d.ts.map +1 -1
- package/lib/esm/topology/MaskManager.js +10 -4
- package/lib/esm/topology/MaskManager.js.map +1 -1
- package/lib/esm/topology/RegularizeFace.d.ts.map +1 -1
- package/lib/esm/topology/RegularizeFace.js.map +1 -1
- package/lib/esm/topology/Triangulation.d.ts +2 -1
- package/lib/esm/topology/Triangulation.d.ts.map +1 -1
- package/lib/esm/topology/Triangulation.js +12 -7
- package/lib/esm/topology/Triangulation.js.map +1 -1
- package/package.json +3 -3
- package/lib/cjs/serialization/GeometrySamples.d.ts +0 -705
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +0 -1
- package/lib/cjs/serialization/GeometrySamples.js +0 -2433
- package/lib/cjs/serialization/GeometrySamples.js.map +0 -1
- package/lib/esm/serialization/GeometrySamples.d.ts +0 -705
- package/lib/esm/serialization/GeometrySamples.d.ts.map +0 -1
- package/lib/esm/serialization/GeometrySamples.js +0 -2428
- package/lib/esm/serialization/GeometrySamples.js.map +0 -1
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Curve
|
|
3
|
-
*/
|
|
4
1
|
import { Clipper } from "../clipping/ClipUtils";
|
|
5
2
|
import { BeJSONFunctions, PlaneAltitudeEvaluator } from "../Geometry";
|
|
6
3
|
import { GeometryHandler, IStrokeHandler } from "../geometry3d/GeometryHandler";
|
|
@@ -87,7 +84,13 @@ export declare class LineString3d extends CurvePrimitive implements BeJSONFuncti
|
|
|
87
84
|
static create(...points: any[]): LineString3d;
|
|
88
85
|
/** Create a linestring, capturing the given GrowableXYZArray as the points. */
|
|
89
86
|
static createCapture(points: GrowableXYZArray): LineString3d;
|
|
90
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Create a linestring from `XAndY` points, with a specified z applied to all.
|
|
89
|
+
* @param points array of 2D points.
|
|
90
|
+
* @param z the z-coordinate to apply to all points.
|
|
91
|
+
* @param enforceClosure set the coordinates of the last point to those of the first point if both points are
|
|
92
|
+
* within [[Geometry.smallMetricDistance]].
|
|
93
|
+
*/
|
|
91
94
|
static createXY(points: XAndY[], z: number, enforceClosure?: boolean): LineString3d;
|
|
92
95
|
/**
|
|
93
96
|
* Add copies of points to the linestring.
|
|
@@ -117,19 +120,19 @@ export declare class LineString3d extends CurvePrimitive implements BeJSONFuncti
|
|
|
117
120
|
* @param fraction
|
|
118
121
|
*/
|
|
119
122
|
addFraction(fraction: number): void;
|
|
120
|
-
/** Ensure that the
|
|
123
|
+
/** Ensure that the fractions array exists with length 0 but at least the capacity of the point array. */
|
|
121
124
|
ensureEmptyFractions(): GrowableFloat64Array;
|
|
122
|
-
/** Ensure that the
|
|
125
|
+
/** Ensure that the uvParams array exists with length 0 but at least the capacity of the point array. */
|
|
123
126
|
ensureEmptyUVParams(): GrowableXYArray;
|
|
124
|
-
/** Ensure that the surfaceNormals array exists with
|
|
127
|
+
/** Ensure that the surfaceNormals array exists with length 0 but at least the capacity of the point array. */
|
|
125
128
|
ensureEmptySurfaceNormals(): GrowableXYZArray;
|
|
126
|
-
/** Ensure that the
|
|
129
|
+
/** Ensure that the derivatives array exists with length 0 but at least the capacity of the point array. */
|
|
127
130
|
ensureEmptyDerivatives(): GrowableXYZArray;
|
|
128
|
-
/** Ensure that the
|
|
131
|
+
/** Ensure that the normalIndices array exists with length 0 but at least the capacity of the point array. */
|
|
129
132
|
ensureEmptyNormalIndices(): GrowableFloat64Array;
|
|
130
|
-
/** Ensure that the
|
|
133
|
+
/** Ensure that the uvIndices array exists with length 0 but at least the capacity of the point array. */
|
|
131
134
|
ensureEmptyUVIndices(): GrowableFloat64Array;
|
|
132
|
-
/** Ensure that the
|
|
135
|
+
/** Ensure that the pointIndices array exists with length 0 but at least the capacity of the point array. */
|
|
133
136
|
ensureEmptyPointIndices(): GrowableFloat64Array;
|
|
134
137
|
/**
|
|
135
138
|
* Append a uv coordinate to the uvParams array
|
|
@@ -269,12 +272,17 @@ export declare class LineString3d extends CurvePrimitive implements BeJSONFuncti
|
|
|
269
272
|
index: number;
|
|
270
273
|
fraction: number;
|
|
271
274
|
};
|
|
272
|
-
/** Return a
|
|
275
|
+
/** Return a Frenet frame, using nearby points to estimate a plane. */
|
|
273
276
|
fractionToFrenetFrame(fraction: number, result?: Transform): Transform;
|
|
274
277
|
/** Evaluate the start point of the linestring. */
|
|
275
278
|
startPoint(result?: Point3d): Point3d;
|
|
276
279
|
/** If i is a valid index, return that point. */
|
|
277
280
|
pointAt(i: number, result?: Point3d): Point3d | undefined;
|
|
281
|
+
/**
|
|
282
|
+
* Return the point for the given index.
|
|
283
|
+
* * This method does not check for index validity. Use [[pointAt]] to have validity test.
|
|
284
|
+
*/
|
|
285
|
+
pointAtUnchecked(i: number, result?: Point3d): Point3d;
|
|
278
286
|
/** If i and j are both valid indices, return the vector from point i to point j */
|
|
279
287
|
vectorBetween(i: number, j: number, result?: Vector3d): Vector3d | undefined;
|
|
280
288
|
/** If i is a valid index, return that stored derivative vector. */
|
|
@@ -306,10 +314,6 @@ export declare class LineString3d extends CurvePrimitive implements BeJSONFuncti
|
|
|
306
314
|
* * Find the segment that contains the start fraction
|
|
307
315
|
* * Move point-by-point from that position to the start or end (respectively for negative or positive signedDistance)
|
|
308
316
|
* * Optionally extrapolate
|
|
309
|
-
* @param startFraction
|
|
310
|
-
* @param signedDistance
|
|
311
|
-
* @param allowExtension
|
|
312
|
-
* @param result
|
|
313
317
|
*/
|
|
314
318
|
moveSignedDistanceFromFraction(startFraction: number, signedDistance: number, allowExtension: false, result?: CurveLocationDetail): CurveLocationDetail;
|
|
315
319
|
/** Sum lengths of segments in the linestring. (This is a true length.) */
|
|
@@ -430,6 +434,11 @@ export declare class LineString3d extends CurvePrimitive implements BeJSONFuncti
|
|
|
430
434
|
clonePartialCurve(fractionA: number, fractionB: number): LineString3d;
|
|
431
435
|
/** Return (if possible) a specific segment of the linestring */
|
|
432
436
|
getIndexedSegment(index: number, result?: LineSegment3d): LineSegment3d | undefined;
|
|
437
|
+
/**
|
|
438
|
+
* Return a specific segment of the linestring.
|
|
439
|
+
* * This method does not check for index validity. Use [[getIndexedSegment]] to have validity test.
|
|
440
|
+
*/
|
|
441
|
+
getUncheckedIndexedSegment(index: number, result?: LineSegment3d): LineSegment3d;
|
|
433
442
|
/**
|
|
434
443
|
* Whether the start and end points are defined and within tolerance.
|
|
435
444
|
* * Does not check for planarity or degeneracy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineString3d.d.ts","sourceRoot":"","sources":["../../../src/curve/LineString3d.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LineString3d.d.ts","sourceRoot":"","sources":["../../../src/curve/LineString3d.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Curve
|
|
7
|
+
*/
|
|
8
|
+
import { assert } from "@itwin/core-bentley";
|
|
1
9
|
import { AxisOrder, Geometry } from "../Geometry";
|
|
2
10
|
import { Angle } from "../geometry3d/Angle";
|
|
3
11
|
import { GrowableFloat64Array } from "../geometry3d/GrowableFloat64Array";
|
|
@@ -155,22 +163,21 @@ export class LineString3d extends CurvePrimitive {
|
|
|
155
163
|
static createCapture(points) {
|
|
156
164
|
return new LineString3d(points);
|
|
157
165
|
}
|
|
158
|
-
/**
|
|
166
|
+
/**
|
|
167
|
+
* Create a linestring from `XAndY` points, with a specified z applied to all.
|
|
168
|
+
* @param points array of 2D points.
|
|
169
|
+
* @param z the z-coordinate to apply to all points.
|
|
170
|
+
* @param enforceClosure set the coordinates of the last point to those of the first point if both points are
|
|
171
|
+
* within [[Geometry.smallMetricDistance]].
|
|
172
|
+
*/
|
|
159
173
|
static createXY(points, z, enforceClosure = false) {
|
|
160
174
|
const result = new LineString3d();
|
|
161
175
|
const xyz = result._points;
|
|
162
|
-
for (const xy of points)
|
|
176
|
+
for (const xy of points)
|
|
163
177
|
xyz.pushXYZ(xy.x, xy.y, z);
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (distance !== undefined && distance !== 0.0) {
|
|
168
|
-
if (Geometry.isSameCoordinate(0, distance)) {
|
|
169
|
-
xyz.pop(); // nonzero but small distance -- to be replaced by point 0 exactly.
|
|
170
|
-
const xyzA = xyz.front();
|
|
171
|
-
xyz.push(xyzA);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
178
|
+
if (enforceClosure && xyz.length > 1) {
|
|
179
|
+
if (xyz.almostEqualUncheckedIndexIndex(0, xyz.length - 1))
|
|
180
|
+
xyz.transferFromGrowableXYZArray(xyz.length - 1, xyz, 0);
|
|
174
181
|
}
|
|
175
182
|
return result;
|
|
176
183
|
}
|
|
@@ -214,7 +221,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
214
221
|
this._fractions = new GrowableFloat64Array();
|
|
215
222
|
this._fractions.push(fraction);
|
|
216
223
|
}
|
|
217
|
-
/** Ensure that the
|
|
224
|
+
/** Ensure that the fractions array exists with length 0 but at least the capacity of the point array. */
|
|
218
225
|
ensureEmptyFractions() {
|
|
219
226
|
const n = this.numPoints();
|
|
220
227
|
if (!this._fractions) {
|
|
@@ -225,7 +232,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
225
232
|
this._fractions.ensureCapacity(n);
|
|
226
233
|
return this._fractions;
|
|
227
234
|
}
|
|
228
|
-
/** Ensure that the
|
|
235
|
+
/** Ensure that the uvParams array exists with length 0 but at least the capacity of the point array. */
|
|
229
236
|
ensureEmptyUVParams() {
|
|
230
237
|
const n = this.numPoints();
|
|
231
238
|
if (!this._uvParams) {
|
|
@@ -236,7 +243,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
236
243
|
this._uvParams.ensureCapacity(n);
|
|
237
244
|
return this._uvParams;
|
|
238
245
|
}
|
|
239
|
-
/** Ensure that the surfaceNormals array exists with
|
|
246
|
+
/** Ensure that the surfaceNormals array exists with length 0 but at least the capacity of the point array. */
|
|
240
247
|
ensureEmptySurfaceNormals() {
|
|
241
248
|
const n = this.numPoints();
|
|
242
249
|
if (!this._surfaceNormals) {
|
|
@@ -247,7 +254,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
247
254
|
this._surfaceNormals.ensureCapacity(n);
|
|
248
255
|
return this._surfaceNormals;
|
|
249
256
|
}
|
|
250
|
-
/** Ensure that the
|
|
257
|
+
/** Ensure that the derivatives array exists with length 0 but at least the capacity of the point array. */
|
|
251
258
|
ensureEmptyDerivatives() {
|
|
252
259
|
const n = this.numPoints();
|
|
253
260
|
if (!this._derivatives) {
|
|
@@ -258,7 +265,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
258
265
|
this._derivatives.ensureCapacity(n);
|
|
259
266
|
return this._derivatives;
|
|
260
267
|
}
|
|
261
|
-
/** Ensure that the
|
|
268
|
+
/** Ensure that the normalIndices array exists with length 0 but at least the capacity of the point array. */
|
|
262
269
|
ensureEmptyNormalIndices() {
|
|
263
270
|
const n = this.numPoints();
|
|
264
271
|
if (!this._normalIndices) {
|
|
@@ -269,7 +276,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
269
276
|
this._normalIndices.ensureCapacity(n);
|
|
270
277
|
return this._normalIndices;
|
|
271
278
|
}
|
|
272
|
-
/** Ensure that the
|
|
279
|
+
/** Ensure that the uvIndices array exists with length 0 but at least the capacity of the point array. */
|
|
273
280
|
ensureEmptyUVIndices() {
|
|
274
281
|
const n = this.numPoints();
|
|
275
282
|
if (!this._uvIndices) {
|
|
@@ -280,7 +287,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
280
287
|
this._uvIndices.ensureCapacity(n);
|
|
281
288
|
return this._uvIndices;
|
|
282
289
|
}
|
|
283
|
-
/** Ensure that the
|
|
290
|
+
/** Ensure that the pointIndices array exists with length 0 but at least the capacity of the point array. */
|
|
284
291
|
ensureEmptyPointIndices() {
|
|
285
292
|
const n = this.numPoints();
|
|
286
293
|
if (!this._pointIndices) {
|
|
@@ -499,17 +506,20 @@ export class LineString3d extends CurvePrimitive {
|
|
|
499
506
|
*/
|
|
500
507
|
fractionToPoint(fraction, result) {
|
|
501
508
|
const n = this._points.length;
|
|
502
|
-
if (n
|
|
509
|
+
if (n <= 0)
|
|
503
510
|
return Point3d.createZero();
|
|
504
511
|
if (n === 1)
|
|
505
512
|
return Point3d.createFrom(this._points.getPoint3dAtUncheckedPointIndex(0), result);
|
|
513
|
+
assert(n >= 2);
|
|
506
514
|
const df = 1.0 / (n - 1);
|
|
507
|
-
if (fraction <= df)
|
|
508
|
-
return this._points.
|
|
509
|
-
if (fraction + df >= 1.0)
|
|
510
|
-
return this._points.
|
|
515
|
+
if (fraction <= df) // first segment
|
|
516
|
+
return this._points.interpolateUncheckedIndexIndex(0, fraction / df, 1, result);
|
|
517
|
+
if (fraction + df >= 1.0) // last segment
|
|
518
|
+
return this._points.interpolateUncheckedIndexIndex(n - 1, (1.0 - fraction) / df, n - 2, result);
|
|
519
|
+
assert(n > 3);
|
|
511
520
|
const index0 = Math.floor(fraction / df);
|
|
512
|
-
|
|
521
|
+
assert(0 < index0 && index0 + 1 < n);
|
|
522
|
+
return this._points.interpolateUncheckedIndexIndex(index0, (fraction - index0 * df) / df, index0 + 1, result);
|
|
513
523
|
}
|
|
514
524
|
/**
|
|
515
525
|
* Evaluate a point a fractional position and derivative with respect to fraction along this linestring.
|
|
@@ -612,7 +622,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
612
622
|
globalFractionToSegmentIndexAndLocalFraction(globalFraction) {
|
|
613
623
|
return LineString3d.mapGlobalToLocalFraction(globalFraction, this._points.length - 1);
|
|
614
624
|
}
|
|
615
|
-
/** Return a
|
|
625
|
+
/** Return a Frenet frame, using nearby points to estimate a plane. */
|
|
616
626
|
fractionToFrenetFrame(fraction, result) {
|
|
617
627
|
const n = this._points.length;
|
|
618
628
|
if (n <= 1) {
|
|
@@ -620,8 +630,10 @@ export class LineString3d extends CurvePrimitive {
|
|
|
620
630
|
return Transform.createTranslation(this._points.getPoint3dAtUncheckedPointIndex(0), result);
|
|
621
631
|
return Transform.createIdentity(result);
|
|
622
632
|
}
|
|
623
|
-
if (n === 2)
|
|
624
|
-
|
|
633
|
+
if (n === 2) {
|
|
634
|
+
const rotation = Matrix3d.createRigidHeadsUp(this._points.vectorUncheckedIndexIndex(0, 1), AxisOrder.XYZ);
|
|
635
|
+
return Transform.createOriginAndMatrix(this._points.interpolate(0, fraction, 1), rotation, result);
|
|
636
|
+
}
|
|
625
637
|
/** 3 or more points. */
|
|
626
638
|
const numSegment = n - 1;
|
|
627
639
|
const df = 1.0 / numSegment;
|
|
@@ -639,8 +651,9 @@ export class LineString3d extends CurvePrimitive {
|
|
|
639
651
|
baseIndex = Math.floor(fraction / df);
|
|
640
652
|
localFraction = fraction * numSegment - baseIndex;
|
|
641
653
|
}
|
|
642
|
-
|
|
643
|
-
const
|
|
654
|
+
assert(0 <= baseIndex && baseIndex < n - 1, "expect valid baseIndex");
|
|
655
|
+
const origin = this._points.interpolateUncheckedIndexIndex(baseIndex, localFraction, baseIndex + 1);
|
|
656
|
+
const vectorA = this._points.vectorUncheckedIndexIndex(baseIndex, baseIndex + 1);
|
|
644
657
|
// tricky stuff to handle colinear points. But if vectorA is zero it is still a mess . ..
|
|
645
658
|
const normal = Vector3d.create();
|
|
646
659
|
const workVector = Vector3d.create();
|
|
@@ -668,9 +681,16 @@ export class LineString3d extends CurvePrimitive {
|
|
|
668
681
|
/** If i is a valid index, return that point. */
|
|
669
682
|
pointAt(i, result) {
|
|
670
683
|
if (this._points.isIndexValid(i))
|
|
671
|
-
return this.
|
|
684
|
+
return this.pointAtUnchecked(i, result);
|
|
672
685
|
return undefined;
|
|
673
686
|
}
|
|
687
|
+
/**
|
|
688
|
+
* Return the point for the given index.
|
|
689
|
+
* * This method does not check for index validity. Use [[pointAt]] to have validity test.
|
|
690
|
+
*/
|
|
691
|
+
pointAtUnchecked(i, result) {
|
|
692
|
+
return this._points.getPoint3dAtUncheckedPointIndex(i, result);
|
|
693
|
+
}
|
|
674
694
|
/** If i and j are both valid indices, return the vector from point i to point j */
|
|
675
695
|
vectorBetween(i, j, result) {
|
|
676
696
|
return this._points.vectorIndexIndex(i, j, result);
|
|
@@ -745,30 +765,27 @@ export class LineString3d extends CurvePrimitive {
|
|
|
745
765
|
}
|
|
746
766
|
/** Sum the lengths of segments between fractional positions on a linestring. */
|
|
747
767
|
curveLengthBetweenFractions(fraction0, fraction1) {
|
|
748
|
-
const
|
|
768
|
+
const n = this._points.length;
|
|
769
|
+
const numSegments = n - 1;
|
|
749
770
|
if (fraction1 === fraction0 || numSegments < 1)
|
|
750
771
|
return 0.0;
|
|
751
772
|
if (fraction1 < fraction0)
|
|
752
773
|
return this.curveLengthBetweenFractions(fraction1, fraction0);
|
|
753
774
|
const scaledFraction0 = fraction0 * numSegments;
|
|
754
775
|
const scaledFraction1 = fraction1 * numSegments;
|
|
755
|
-
const index0 = Math.max(1, Math.ceil(scaledFraction0));
|
|
756
|
-
const index1 = Math.min(Math.floor(scaledFraction1), numSegments - 1);
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
for (let i = index0; i < index1; i++)
|
|
769
|
-
sum += this._points.distanceIndexIndex(i, i + 1);
|
|
770
|
-
return sum;
|
|
771
|
-
}
|
|
776
|
+
const index0 = Math.max(1, Math.ceil(scaledFraction0)); // right index of first contributing partial/trivial segment
|
|
777
|
+
const index1 = Math.min(Math.floor(scaledFraction1), numSegments - 1); // left index of last contributing partial/trivial segment
|
|
778
|
+
assert(0 < index0 && index0 <= index1 + 1 && index1 + 1 < n, "expect index0, index1 are valid indices");
|
|
779
|
+
if (index0 > index1) // only one segment contributes to the sum
|
|
780
|
+
return Math.abs(scaledFraction1 - scaledFraction0) * this._points.distanceUncheckedIndexIndex(index1, index0);
|
|
781
|
+
// we have 1 leading partial/trivial segment, 0+ complete segments, and 1 trailing partial/trivial segment
|
|
782
|
+
const localFraction0 = index0 - scaledFraction0; // fractional length of first contributing segment
|
|
783
|
+
const localFraction1 = scaledFraction1 - index1; // fractional length of last contributing segment
|
|
784
|
+
let sum = localFraction0 * this._points.distanceUncheckedIndexIndex(index0 - 1, index0);
|
|
785
|
+
for (let i = index0; i < index1; i++)
|
|
786
|
+
sum += this._points.distanceUncheckedIndexIndex(i, i + 1);
|
|
787
|
+
sum += localFraction1 * this._points.distanceUncheckedIndexIndex(index1, index1 + 1);
|
|
788
|
+
return sum;
|
|
772
789
|
}
|
|
773
790
|
/** Compute the range of points between fractional positions on the linestring. */
|
|
774
791
|
rangeBetweenFractions(fraction0, fraction1, transform) {
|
|
@@ -802,17 +819,15 @@ export class LineString3d extends CurvePrimitive {
|
|
|
802
819
|
* * Find the segment that contains the start fraction
|
|
803
820
|
* * Move point-by-point from that position to the start or end (respectively for negative or positive signedDistance)
|
|
804
821
|
* * Optionally extrapolate
|
|
805
|
-
* @param startFraction
|
|
806
|
-
* @param signedDistance
|
|
807
|
-
* @param allowExtension
|
|
808
|
-
* @param result
|
|
809
822
|
*/
|
|
810
823
|
moveSignedDistanceFromFraction(startFraction, signedDistance, allowExtension, result) {
|
|
811
|
-
const
|
|
824
|
+
const n = this._points.length;
|
|
825
|
+
const numSegments = n - 1;
|
|
812
826
|
const scaledFraction = startFraction * numSegments;
|
|
813
827
|
let leftPointIndex = Geometry.restrictToInterval(Math.floor(scaledFraction), 0, numSegments - 1); // lower point index on active segment.
|
|
814
828
|
const localFraction = scaledFraction - leftPointIndex;
|
|
815
|
-
|
|
829
|
+
assert(0 <= leftPointIndex && leftPointIndex + 1 < n, "expect leftPointIndex is valid");
|
|
830
|
+
const point0 = this._points.interpolateUncheckedIndexIndex(leftPointIndex, localFraction, leftPointIndex + 1, LineString3d._workPointA);
|
|
816
831
|
const point1 = LineString3d._workPointB;
|
|
817
832
|
const context = new MoveByDistanceContext(point0, startFraction, signedDistance);
|
|
818
833
|
if (signedDistance > 0.0) {
|
|
@@ -974,16 +989,15 @@ export class LineString3d extends CurvePrimitive {
|
|
|
974
989
|
appendStrokePoint(point, fraction) {
|
|
975
990
|
const n = this._points.length;
|
|
976
991
|
let add = true;
|
|
977
|
-
const addFraction = (fraction !== undefined) && (this._fractions !== undefined);
|
|
978
992
|
if (n > 0) {
|
|
979
|
-
if (
|
|
993
|
+
if (fraction !== undefined && this._fractions && Geometry.isSmallRelative(fraction - this._fractions.back()))
|
|
980
994
|
add = false;
|
|
981
|
-
if (point.isAlmostEqual(this._points.getPoint3dAtUncheckedPointIndex(n - 1)))
|
|
995
|
+
else if (point.isAlmostEqual(this._points.getPoint3dAtUncheckedPointIndex(n - 1)))
|
|
982
996
|
add = false;
|
|
983
997
|
}
|
|
984
998
|
if (add) {
|
|
985
999
|
this._points.push(point);
|
|
986
|
-
if (
|
|
1000
|
+
if (fraction !== undefined)
|
|
987
1001
|
this.addFraction(fraction);
|
|
988
1002
|
}
|
|
989
1003
|
}
|
|
@@ -1174,9 +1188,8 @@ export class LineString3d extends CurvePrimitive {
|
|
|
1174
1188
|
let numStroke = numPoints - 1;
|
|
1175
1189
|
if (options && options.hasMaxEdgeLength) {
|
|
1176
1190
|
numStroke = 0;
|
|
1177
|
-
for (let i = 1; i < numPoints; i++)
|
|
1178
|
-
numStroke += options.applyMaxEdgeLength(1, this._points.
|
|
1179
|
-
}
|
|
1191
|
+
for (let i = 1; i < numPoints; i++)
|
|
1192
|
+
numStroke += options.applyMaxEdgeLength(1, this._points.distanceUncheckedIndexIndex(i - 1, i));
|
|
1180
1193
|
}
|
|
1181
1194
|
return numStroke;
|
|
1182
1195
|
}
|
|
@@ -1190,7 +1203,7 @@ export class LineString3d extends CurvePrimitive {
|
|
|
1190
1203
|
const applyOptions = options !== undefined && options.hasMaxEdgeLength;
|
|
1191
1204
|
const myData = StrokeCountMap.createWithCurvePrimitiveAndOptionalParent(this, parentStrokeMap, []);
|
|
1192
1205
|
for (let i = 1; i < numPoints; i++) {
|
|
1193
|
-
const segmentLength = this._points.
|
|
1206
|
+
const segmentLength = this._points.distanceUncheckedIndexIndex(i - 1, i);
|
|
1194
1207
|
const numStrokeOnSegment = applyOptions ? options.applyMaxEdgeLength(1, segmentLength) : 1;
|
|
1195
1208
|
myData.addToCountAndLength(numStrokeOnSegment, segmentLength);
|
|
1196
1209
|
}
|
|
@@ -1307,10 +1320,17 @@ export class LineString3d extends CurvePrimitive {
|
|
|
1307
1320
|
}
|
|
1308
1321
|
/** Return (if possible) a specific segment of the linestring */
|
|
1309
1322
|
getIndexedSegment(index, result) {
|
|
1310
|
-
if (index >= 0 && index
|
|
1311
|
-
return
|
|
1323
|
+
if (index >= 0 && index < this.numEdges())
|
|
1324
|
+
return this.getUncheckedIndexedSegment(index, result);
|
|
1312
1325
|
return undefined;
|
|
1313
1326
|
}
|
|
1327
|
+
/**
|
|
1328
|
+
* Return a specific segment of the linestring.
|
|
1329
|
+
* * This method does not check for index validity. Use [[getIndexedSegment]] to have validity test.
|
|
1330
|
+
*/
|
|
1331
|
+
getUncheckedIndexedSegment(index, result) {
|
|
1332
|
+
return LineSegment3d.create(this._points.getPoint3dAtUncheckedPointIndex(index), this._points.getPoint3dAtUncheckedPointIndex(index + 1), result);
|
|
1333
|
+
}
|
|
1314
1334
|
/**
|
|
1315
1335
|
* Whether the start and end points are defined and within tolerance.
|
|
1316
1336
|
* * Does not check for planarity or degeneracy.
|
|
@@ -1321,8 +1341,8 @@ export class LineString3d extends CurvePrimitive {
|
|
|
1321
1341
|
if (!this._points.length)
|
|
1322
1342
|
return false;
|
|
1323
1343
|
if (xyOnly)
|
|
1324
|
-
return this._points.
|
|
1325
|
-
return this._points.
|
|
1344
|
+
return this._points.almostEqualXYUncheckedIndexIndex(0, this._points.length - 1, tolerance);
|
|
1345
|
+
return this._points.almostEqualUncheckedIndexIndex(0, this._points.length - 1, tolerance);
|
|
1326
1346
|
}
|
|
1327
1347
|
/** Returns true if first and last points are within metric tolerance. */
|
|
1328
1348
|
get isPhysicallyClosed() {
|
|
@@ -1338,8 +1358,6 @@ export class LineString3d extends CurvePrimitive {
|
|
|
1338
1358
|
*/
|
|
1339
1359
|
addMappedStrokesToLineString3D(map, destLinestring) {
|
|
1340
1360
|
const numPoint0 = destLinestring.numPoints();
|
|
1341
|
-
const needFractions = destLinestring._fractions !== undefined;
|
|
1342
|
-
const needDerivatives = destLinestring._derivatives !== undefined;
|
|
1343
1361
|
const points = this._points;
|
|
1344
1362
|
const pointA = LineString3d._workPointA;
|
|
1345
1363
|
const pointB = LineString3d._workPointB;
|
|
@@ -1357,9 +1375,9 @@ export class LineString3d extends CurvePrimitive {
|
|
|
1357
1375
|
const fraction = i / m;
|
|
1358
1376
|
const outputFraction = segmentMap.fractionToA(fraction);
|
|
1359
1377
|
destLinestring.addPoint(pointA.interpolate(fraction, pointB, pointC));
|
|
1360
|
-
if (
|
|
1361
|
-
destLinestring._fractions.push(
|
|
1362
|
-
if (
|
|
1378
|
+
if (destLinestring._fractions)
|
|
1379
|
+
destLinestring._fractions.push(outputFraction);
|
|
1380
|
+
if (destLinestring._derivatives)
|
|
1363
1381
|
destLinestring._derivatives.push(vectorAB);
|
|
1364
1382
|
}
|
|
1365
1383
|
}
|