@itwin/core-geometry 5.5.0-dev.4 → 5.5.0-dev.5
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,6 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AnnotatedLineString3d = exports.LineString3d = void 0;
|
|
4
|
+
/*---------------------------------------------------------------------------------------------
|
|
5
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
+
*--------------------------------------------------------------------------------------------*/
|
|
8
|
+
/** @packageDocumentation
|
|
9
|
+
* @module Curve
|
|
10
|
+
*/
|
|
11
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
4
12
|
const Geometry_1 = require("../Geometry");
|
|
5
13
|
const Angle_1 = require("../geometry3d/Angle");
|
|
6
14
|
const GrowableFloat64Array_1 = require("../geometry3d/GrowableFloat64Array");
|
|
@@ -158,22 +166,21 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
158
166
|
static createCapture(points) {
|
|
159
167
|
return new LineString3d(points);
|
|
160
168
|
}
|
|
161
|
-
/**
|
|
169
|
+
/**
|
|
170
|
+
* Create a linestring from `XAndY` points, with a specified z applied to all.
|
|
171
|
+
* @param points array of 2D points.
|
|
172
|
+
* @param z the z-coordinate to apply to all points.
|
|
173
|
+
* @param enforceClosure set the coordinates of the last point to those of the first point if both points are
|
|
174
|
+
* within [[Geometry.smallMetricDistance]].
|
|
175
|
+
*/
|
|
162
176
|
static createXY(points, z, enforceClosure = false) {
|
|
163
177
|
const result = new LineString3d();
|
|
164
178
|
const xyz = result._points;
|
|
165
|
-
for (const xy of points)
|
|
179
|
+
for (const xy of points)
|
|
166
180
|
xyz.pushXYZ(xy.x, xy.y, z);
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
if (distance !== undefined && distance !== 0.0) {
|
|
171
|
-
if (Geometry_1.Geometry.isSameCoordinate(0, distance)) {
|
|
172
|
-
xyz.pop(); // nonzero but small distance -- to be replaced by point 0 exactly.
|
|
173
|
-
const xyzA = xyz.front();
|
|
174
|
-
xyz.push(xyzA);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
181
|
+
if (enforceClosure && xyz.length > 1) {
|
|
182
|
+
if (xyz.almostEqualUncheckedIndexIndex(0, xyz.length - 1))
|
|
183
|
+
xyz.transferFromGrowableXYZArray(xyz.length - 1, xyz, 0);
|
|
177
184
|
}
|
|
178
185
|
return result;
|
|
179
186
|
}
|
|
@@ -217,7 +224,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
217
224
|
this._fractions = new GrowableFloat64Array_1.GrowableFloat64Array();
|
|
218
225
|
this._fractions.push(fraction);
|
|
219
226
|
}
|
|
220
|
-
/** Ensure that the
|
|
227
|
+
/** Ensure that the fractions array exists with length 0 but at least the capacity of the point array. */
|
|
221
228
|
ensureEmptyFractions() {
|
|
222
229
|
const n = this.numPoints();
|
|
223
230
|
if (!this._fractions) {
|
|
@@ -228,7 +235,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
228
235
|
this._fractions.ensureCapacity(n);
|
|
229
236
|
return this._fractions;
|
|
230
237
|
}
|
|
231
|
-
/** Ensure that the
|
|
238
|
+
/** Ensure that the uvParams array exists with length 0 but at least the capacity of the point array. */
|
|
232
239
|
ensureEmptyUVParams() {
|
|
233
240
|
const n = this.numPoints();
|
|
234
241
|
if (!this._uvParams) {
|
|
@@ -239,7 +246,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
239
246
|
this._uvParams.ensureCapacity(n);
|
|
240
247
|
return this._uvParams;
|
|
241
248
|
}
|
|
242
|
-
/** Ensure that the surfaceNormals array exists with
|
|
249
|
+
/** Ensure that the surfaceNormals array exists with length 0 but at least the capacity of the point array. */
|
|
243
250
|
ensureEmptySurfaceNormals() {
|
|
244
251
|
const n = this.numPoints();
|
|
245
252
|
if (!this._surfaceNormals) {
|
|
@@ -250,7 +257,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
250
257
|
this._surfaceNormals.ensureCapacity(n);
|
|
251
258
|
return this._surfaceNormals;
|
|
252
259
|
}
|
|
253
|
-
/** Ensure that the
|
|
260
|
+
/** Ensure that the derivatives array exists with length 0 but at least the capacity of the point array. */
|
|
254
261
|
ensureEmptyDerivatives() {
|
|
255
262
|
const n = this.numPoints();
|
|
256
263
|
if (!this._derivatives) {
|
|
@@ -261,7 +268,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
261
268
|
this._derivatives.ensureCapacity(n);
|
|
262
269
|
return this._derivatives;
|
|
263
270
|
}
|
|
264
|
-
/** Ensure that the
|
|
271
|
+
/** Ensure that the normalIndices array exists with length 0 but at least the capacity of the point array. */
|
|
265
272
|
ensureEmptyNormalIndices() {
|
|
266
273
|
const n = this.numPoints();
|
|
267
274
|
if (!this._normalIndices) {
|
|
@@ -272,7 +279,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
272
279
|
this._normalIndices.ensureCapacity(n);
|
|
273
280
|
return this._normalIndices;
|
|
274
281
|
}
|
|
275
|
-
/** Ensure that the
|
|
282
|
+
/** Ensure that the uvIndices array exists with length 0 but at least the capacity of the point array. */
|
|
276
283
|
ensureEmptyUVIndices() {
|
|
277
284
|
const n = this.numPoints();
|
|
278
285
|
if (!this._uvIndices) {
|
|
@@ -283,7 +290,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
283
290
|
this._uvIndices.ensureCapacity(n);
|
|
284
291
|
return this._uvIndices;
|
|
285
292
|
}
|
|
286
|
-
/** Ensure that the
|
|
293
|
+
/** Ensure that the pointIndices array exists with length 0 but at least the capacity of the point array. */
|
|
287
294
|
ensureEmptyPointIndices() {
|
|
288
295
|
const n = this.numPoints();
|
|
289
296
|
if (!this._pointIndices) {
|
|
@@ -502,17 +509,20 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
502
509
|
*/
|
|
503
510
|
fractionToPoint(fraction, result) {
|
|
504
511
|
const n = this._points.length;
|
|
505
|
-
if (n
|
|
512
|
+
if (n <= 0)
|
|
506
513
|
return Point3dVector3d_1.Point3d.createZero();
|
|
507
514
|
if (n === 1)
|
|
508
515
|
return Point3dVector3d_1.Point3d.createFrom(this._points.getPoint3dAtUncheckedPointIndex(0), result);
|
|
516
|
+
(0, core_bentley_1.assert)(n >= 2);
|
|
509
517
|
const df = 1.0 / (n - 1);
|
|
510
|
-
if (fraction <= df)
|
|
511
|
-
return this._points.
|
|
512
|
-
if (fraction + df >= 1.0)
|
|
513
|
-
return this._points.
|
|
518
|
+
if (fraction <= df) // first segment
|
|
519
|
+
return this._points.interpolateUncheckedIndexIndex(0, fraction / df, 1, result);
|
|
520
|
+
if (fraction + df >= 1.0) // last segment
|
|
521
|
+
return this._points.interpolateUncheckedIndexIndex(n - 1, (1.0 - fraction) / df, n - 2, result);
|
|
522
|
+
(0, core_bentley_1.assert)(n > 3);
|
|
514
523
|
const index0 = Math.floor(fraction / df);
|
|
515
|
-
|
|
524
|
+
(0, core_bentley_1.assert)(0 < index0 && index0 + 1 < n);
|
|
525
|
+
return this._points.interpolateUncheckedIndexIndex(index0, (fraction - index0 * df) / df, index0 + 1, result);
|
|
516
526
|
}
|
|
517
527
|
/**
|
|
518
528
|
* Evaluate a point a fractional position and derivative with respect to fraction along this linestring.
|
|
@@ -615,7 +625,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
615
625
|
globalFractionToSegmentIndexAndLocalFraction(globalFraction) {
|
|
616
626
|
return LineString3d.mapGlobalToLocalFraction(globalFraction, this._points.length - 1);
|
|
617
627
|
}
|
|
618
|
-
/** Return a
|
|
628
|
+
/** Return a Frenet frame, using nearby points to estimate a plane. */
|
|
619
629
|
fractionToFrenetFrame(fraction, result) {
|
|
620
630
|
const n = this._points.length;
|
|
621
631
|
if (n <= 1) {
|
|
@@ -623,8 +633,10 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
623
633
|
return Transform_1.Transform.createTranslation(this._points.getPoint3dAtUncheckedPointIndex(0), result);
|
|
624
634
|
return Transform_1.Transform.createIdentity(result);
|
|
625
635
|
}
|
|
626
|
-
if (n === 2)
|
|
627
|
-
|
|
636
|
+
if (n === 2) {
|
|
637
|
+
const rotation = Matrix3d_1.Matrix3d.createRigidHeadsUp(this._points.vectorUncheckedIndexIndex(0, 1), Geometry_1.AxisOrder.XYZ);
|
|
638
|
+
return Transform_1.Transform.createOriginAndMatrix(this._points.interpolate(0, fraction, 1), rotation, result);
|
|
639
|
+
}
|
|
628
640
|
/** 3 or more points. */
|
|
629
641
|
const numSegment = n - 1;
|
|
630
642
|
const df = 1.0 / numSegment;
|
|
@@ -642,8 +654,9 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
642
654
|
baseIndex = Math.floor(fraction / df);
|
|
643
655
|
localFraction = fraction * numSegment - baseIndex;
|
|
644
656
|
}
|
|
645
|
-
|
|
646
|
-
const
|
|
657
|
+
(0, core_bentley_1.assert)(0 <= baseIndex && baseIndex < n - 1, "expect valid baseIndex");
|
|
658
|
+
const origin = this._points.interpolateUncheckedIndexIndex(baseIndex, localFraction, baseIndex + 1);
|
|
659
|
+
const vectorA = this._points.vectorUncheckedIndexIndex(baseIndex, baseIndex + 1);
|
|
647
660
|
// tricky stuff to handle colinear points. But if vectorA is zero it is still a mess . ..
|
|
648
661
|
const normal = Point3dVector3d_1.Vector3d.create();
|
|
649
662
|
const workVector = Point3dVector3d_1.Vector3d.create();
|
|
@@ -671,9 +684,16 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
671
684
|
/** If i is a valid index, return that point. */
|
|
672
685
|
pointAt(i, result) {
|
|
673
686
|
if (this._points.isIndexValid(i))
|
|
674
|
-
return this.
|
|
687
|
+
return this.pointAtUnchecked(i, result);
|
|
675
688
|
return undefined;
|
|
676
689
|
}
|
|
690
|
+
/**
|
|
691
|
+
* Return the point for the given index.
|
|
692
|
+
* * This method does not check for index validity. Use [[pointAt]] to have validity test.
|
|
693
|
+
*/
|
|
694
|
+
pointAtUnchecked(i, result) {
|
|
695
|
+
return this._points.getPoint3dAtUncheckedPointIndex(i, result);
|
|
696
|
+
}
|
|
677
697
|
/** If i and j are both valid indices, return the vector from point i to point j */
|
|
678
698
|
vectorBetween(i, j, result) {
|
|
679
699
|
return this._points.vectorIndexIndex(i, j, result);
|
|
@@ -748,30 +768,27 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
748
768
|
}
|
|
749
769
|
/** Sum the lengths of segments between fractional positions on a linestring. */
|
|
750
770
|
curveLengthBetweenFractions(fraction0, fraction1) {
|
|
751
|
-
const
|
|
771
|
+
const n = this._points.length;
|
|
772
|
+
const numSegments = n - 1;
|
|
752
773
|
if (fraction1 === fraction0 || numSegments < 1)
|
|
753
774
|
return 0.0;
|
|
754
775
|
if (fraction1 < fraction0)
|
|
755
776
|
return this.curveLengthBetweenFractions(fraction1, fraction0);
|
|
756
777
|
const scaledFraction0 = fraction0 * numSegments;
|
|
757
778
|
const scaledFraction1 = fraction1 * numSegments;
|
|
758
|
-
const index0 = Math.max(1, Math.ceil(scaledFraction0));
|
|
759
|
-
const index1 = Math.min(Math.floor(scaledFraction1), numSegments - 1);
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
for (let i = index0; i < index1; i++)
|
|
772
|
-
sum += this._points.distanceIndexIndex(i, i + 1);
|
|
773
|
-
return sum;
|
|
774
|
-
}
|
|
779
|
+
const index0 = Math.max(1, Math.ceil(scaledFraction0)); // right index of first contributing partial/trivial segment
|
|
780
|
+
const index1 = Math.min(Math.floor(scaledFraction1), numSegments - 1); // left index of last contributing partial/trivial segment
|
|
781
|
+
(0, core_bentley_1.assert)(0 < index0 && index0 <= index1 + 1 && index1 + 1 < n, "expect index0, index1 are valid indices");
|
|
782
|
+
if (index0 > index1) // only one segment contributes to the sum
|
|
783
|
+
return Math.abs(scaledFraction1 - scaledFraction0) * this._points.distanceUncheckedIndexIndex(index1, index0);
|
|
784
|
+
// we have 1 leading partial/trivial segment, 0+ complete segments, and 1 trailing partial/trivial segment
|
|
785
|
+
const localFraction0 = index0 - scaledFraction0; // fractional length of first contributing segment
|
|
786
|
+
const localFraction1 = scaledFraction1 - index1; // fractional length of last contributing segment
|
|
787
|
+
let sum = localFraction0 * this._points.distanceUncheckedIndexIndex(index0 - 1, index0);
|
|
788
|
+
for (let i = index0; i < index1; i++)
|
|
789
|
+
sum += this._points.distanceUncheckedIndexIndex(i, i + 1);
|
|
790
|
+
sum += localFraction1 * this._points.distanceUncheckedIndexIndex(index1, index1 + 1);
|
|
791
|
+
return sum;
|
|
775
792
|
}
|
|
776
793
|
/** Compute the range of points between fractional positions on the linestring. */
|
|
777
794
|
rangeBetweenFractions(fraction0, fraction1, transform) {
|
|
@@ -805,17 +822,15 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
805
822
|
* * Find the segment that contains the start fraction
|
|
806
823
|
* * Move point-by-point from that position to the start or end (respectively for negative or positive signedDistance)
|
|
807
824
|
* * Optionally extrapolate
|
|
808
|
-
* @param startFraction
|
|
809
|
-
* @param signedDistance
|
|
810
|
-
* @param allowExtension
|
|
811
|
-
* @param result
|
|
812
825
|
*/
|
|
813
826
|
moveSignedDistanceFromFraction(startFraction, signedDistance, allowExtension, result) {
|
|
814
|
-
const
|
|
827
|
+
const n = this._points.length;
|
|
828
|
+
const numSegments = n - 1;
|
|
815
829
|
const scaledFraction = startFraction * numSegments;
|
|
816
830
|
let leftPointIndex = Geometry_1.Geometry.restrictToInterval(Math.floor(scaledFraction), 0, numSegments - 1); // lower point index on active segment.
|
|
817
831
|
const localFraction = scaledFraction - leftPointIndex;
|
|
818
|
-
|
|
832
|
+
(0, core_bentley_1.assert)(0 <= leftPointIndex && leftPointIndex + 1 < n, "expect leftPointIndex is valid");
|
|
833
|
+
const point0 = this._points.interpolateUncheckedIndexIndex(leftPointIndex, localFraction, leftPointIndex + 1, LineString3d._workPointA);
|
|
819
834
|
const point1 = LineString3d._workPointB;
|
|
820
835
|
const context = new MoveByDistanceContext(point0, startFraction, signedDistance);
|
|
821
836
|
if (signedDistance > 0.0) {
|
|
@@ -977,16 +992,15 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
977
992
|
appendStrokePoint(point, fraction) {
|
|
978
993
|
const n = this._points.length;
|
|
979
994
|
let add = true;
|
|
980
|
-
const addFraction = (fraction !== undefined) && (this._fractions !== undefined);
|
|
981
995
|
if (n > 0) {
|
|
982
|
-
if (
|
|
996
|
+
if (fraction !== undefined && this._fractions && Geometry_1.Geometry.isSmallRelative(fraction - this._fractions.back()))
|
|
983
997
|
add = false;
|
|
984
|
-
if (point.isAlmostEqual(this._points.getPoint3dAtUncheckedPointIndex(n - 1)))
|
|
998
|
+
else if (point.isAlmostEqual(this._points.getPoint3dAtUncheckedPointIndex(n - 1)))
|
|
985
999
|
add = false;
|
|
986
1000
|
}
|
|
987
1001
|
if (add) {
|
|
988
1002
|
this._points.push(point);
|
|
989
|
-
if (
|
|
1003
|
+
if (fraction !== undefined)
|
|
990
1004
|
this.addFraction(fraction);
|
|
991
1005
|
}
|
|
992
1006
|
}
|
|
@@ -1177,9 +1191,8 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
1177
1191
|
let numStroke = numPoints - 1;
|
|
1178
1192
|
if (options && options.hasMaxEdgeLength) {
|
|
1179
1193
|
numStroke = 0;
|
|
1180
|
-
for (let i = 1; i < numPoints; i++)
|
|
1181
|
-
numStroke += options.applyMaxEdgeLength(1, this._points.
|
|
1182
|
-
}
|
|
1194
|
+
for (let i = 1; i < numPoints; i++)
|
|
1195
|
+
numStroke += options.applyMaxEdgeLength(1, this._points.distanceUncheckedIndexIndex(i - 1, i));
|
|
1183
1196
|
}
|
|
1184
1197
|
return numStroke;
|
|
1185
1198
|
}
|
|
@@ -1193,7 +1206,7 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
1193
1206
|
const applyOptions = options !== undefined && options.hasMaxEdgeLength;
|
|
1194
1207
|
const myData = StrokeCountMap_1.StrokeCountMap.createWithCurvePrimitiveAndOptionalParent(this, parentStrokeMap, []);
|
|
1195
1208
|
for (let i = 1; i < numPoints; i++) {
|
|
1196
|
-
const segmentLength = this._points.
|
|
1209
|
+
const segmentLength = this._points.distanceUncheckedIndexIndex(i - 1, i);
|
|
1197
1210
|
const numStrokeOnSegment = applyOptions ? options.applyMaxEdgeLength(1, segmentLength) : 1;
|
|
1198
1211
|
myData.addToCountAndLength(numStrokeOnSegment, segmentLength);
|
|
1199
1212
|
}
|
|
@@ -1310,10 +1323,17 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
1310
1323
|
}
|
|
1311
1324
|
/** Return (if possible) a specific segment of the linestring */
|
|
1312
1325
|
getIndexedSegment(index, result) {
|
|
1313
|
-
if (index >= 0 && index
|
|
1314
|
-
return
|
|
1326
|
+
if (index >= 0 && index < this.numEdges())
|
|
1327
|
+
return this.getUncheckedIndexedSegment(index, result);
|
|
1315
1328
|
return undefined;
|
|
1316
1329
|
}
|
|
1330
|
+
/**
|
|
1331
|
+
* Return a specific segment of the linestring.
|
|
1332
|
+
* * This method does not check for index validity. Use [[getIndexedSegment]] to have validity test.
|
|
1333
|
+
*/
|
|
1334
|
+
getUncheckedIndexedSegment(index, result) {
|
|
1335
|
+
return LineSegment3d_1.LineSegment3d.create(this._points.getPoint3dAtUncheckedPointIndex(index), this._points.getPoint3dAtUncheckedPointIndex(index + 1), result);
|
|
1336
|
+
}
|
|
1317
1337
|
/**
|
|
1318
1338
|
* Whether the start and end points are defined and within tolerance.
|
|
1319
1339
|
* * Does not check for planarity or degeneracy.
|
|
@@ -1324,8 +1344,8 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
1324
1344
|
if (!this._points.length)
|
|
1325
1345
|
return false;
|
|
1326
1346
|
if (xyOnly)
|
|
1327
|
-
return this._points.
|
|
1328
|
-
return this._points.
|
|
1347
|
+
return this._points.almostEqualXYUncheckedIndexIndex(0, this._points.length - 1, tolerance);
|
|
1348
|
+
return this._points.almostEqualUncheckedIndexIndex(0, this._points.length - 1, tolerance);
|
|
1329
1349
|
}
|
|
1330
1350
|
/** Returns true if first and last points are within metric tolerance. */
|
|
1331
1351
|
get isPhysicallyClosed() {
|
|
@@ -1341,8 +1361,6 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
1341
1361
|
*/
|
|
1342
1362
|
addMappedStrokesToLineString3D(map, destLinestring) {
|
|
1343
1363
|
const numPoint0 = destLinestring.numPoints();
|
|
1344
|
-
const needFractions = destLinestring._fractions !== undefined;
|
|
1345
|
-
const needDerivatives = destLinestring._derivatives !== undefined;
|
|
1346
1364
|
const points = this._points;
|
|
1347
1365
|
const pointA = LineString3d._workPointA;
|
|
1348
1366
|
const pointB = LineString3d._workPointB;
|
|
@@ -1360,9 +1378,9 @@ class LineString3d extends CurvePrimitive_1.CurvePrimitive {
|
|
|
1360
1378
|
const fraction = i / m;
|
|
1361
1379
|
const outputFraction = segmentMap.fractionToA(fraction);
|
|
1362
1380
|
destLinestring.addPoint(pointA.interpolate(fraction, pointB, pointC));
|
|
1363
|
-
if (
|
|
1364
|
-
destLinestring._fractions.push(
|
|
1365
|
-
if (
|
|
1381
|
+
if (destLinestring._fractions)
|
|
1382
|
+
destLinestring._fractions.push(outputFraction);
|
|
1383
|
+
if (destLinestring._derivatives)
|
|
1366
1384
|
destLinestring._derivatives.push(vectorAB);
|
|
1367
1385
|
}
|
|
1368
1386
|
}
|