@itwin/core-geometry 4.1.0-dev.4 → 4.1.0-dev.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -1
- package/lib/cjs/Constant.js.map +1 -1
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
- package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/cjs/bspline/KnotVector.js.map +1 -1
- package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
- package/lib/cjs/clipping/ClipPlane.js.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/clipping/ClipVector.js.map +1 -1
- package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/cjs/core-geometry.d.ts +1 -0
- package/lib/cjs/core-geometry.d.ts.map +1 -1
- package/lib/cjs/core-geometry.js +4 -1
- package/lib/cjs/core-geometry.js.map +1 -1
- package/lib/cjs/curve/Arc3d.d.ts +71 -86
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
- package/lib/cjs/curve/Arc3d.js +110 -96
- package/lib/cjs/curve/Arc3d.js.map +1 -1
- package/lib/cjs/curve/ChainCollectorContext.js.map +1 -1
- package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
- package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
- package/lib/cjs/curve/CurveChain.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +61 -41
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +69 -46
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.d.ts +73 -46
- package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCollection.js +100 -64
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.d.ts +45 -46
- package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js +39 -41
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.d.ts +138 -92
- package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.js +115 -75
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
- package/lib/cjs/curve/CurveProcessor.js.map +1 -1
- package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/cjs/curve/GeometryQuery.d.ts +26 -20
- package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -1
- package/lib/cjs/curve/GeometryQuery.js +11 -9
- package/lib/cjs/curve/GeometryQuery.js.map +1 -1
- package/lib/cjs/curve/LineSegment3d.d.ts +38 -27
- package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineSegment3d.js +77 -39
- package/lib/cjs/curve/LineSegment3d.js.map +1 -1
- package/lib/cjs/curve/LineString3d.d.ts +70 -51
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineString3d.js +120 -71
- package/lib/cjs/curve/LineString3d.js.map +1 -1
- package/lib/cjs/curve/Loop.d.ts +7 -5
- package/lib/cjs/curve/Loop.d.ts.map +1 -1
- package/lib/cjs/curve/Loop.js +18 -6
- package/lib/cjs/curve/Loop.js.map +1 -1
- package/lib/cjs/curve/ParityRegion.d.ts +7 -7
- package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
- package/lib/cjs/curve/ParityRegion.js +19 -11
- package/lib/cjs/curve/ParityRegion.js.map +1 -1
- package/lib/cjs/curve/Path.d.ts +6 -6
- package/lib/cjs/curve/Path.d.ts.map +1 -1
- package/lib/cjs/curve/Path.js +15 -9
- package/lib/cjs/curve/Path.js.map +1 -1
- package/lib/cjs/curve/PointString3d.js.map +1 -1
- package/lib/cjs/curve/ProxyCurve.d.ts +4 -6
- package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
- package/lib/cjs/curve/ProxyCurve.js +7 -7
- package/lib/cjs/curve/ProxyCurve.js.map +1 -1
- package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
- package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
- package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
- package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
- package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountMap.d.ts +14 -13
- package/lib/cjs/curve/Query/StrokeCountMap.d.ts.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountMap.js +9 -8
- package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
- package/lib/cjs/curve/RegionOps.d.ts +69 -47
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +70 -47
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.d.ts +29 -21
- package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js +50 -24
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/UnionRegion.d.ts +6 -5
- package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
- package/lib/cjs/curve/UnionRegion.js +17 -8
- package/lib/cjs/curve/UnionRegion.js.map +1 -1
- package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
- package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
- package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +4 -0
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js +5 -2
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +56 -34
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +152 -87
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/cjs/geometry3d/Angle.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +2 -2
- package/lib/cjs/geometry3d/Matrix3d.js +2 -2
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +35 -32
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
- package/lib/cjs/geometry3d/Range.d.ts +133 -93
- package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Range.js +296 -144
- package/lib/cjs/geometry3d/Range.js.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
- package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
- package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
- package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/cjs/geometry4d/Map4d.js.map +1 -1
- package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
- package/lib/cjs/geometry4d/MomentData.js.map +1 -1
- package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
- package/lib/cjs/geometry4d/Point4d.js.map +1 -1
- package/lib/cjs/numerics/BandedSystem.js.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
- package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
- package/lib/cjs/numerics/Complex.js.map +1 -1
- package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/cjs/numerics/Newton.js.map +1 -1
- package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
- package/lib/cjs/numerics/PolarData.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/numerics/Quadrature.js.map +1 -1
- package/lib/cjs/numerics/Range1dArray.js.map +1 -1
- package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
- package/lib/cjs/numerics/UnionFind.js.map +1 -1
- package/lib/cjs/numerics/UsageSums.js.map +1 -1
- package/lib/cjs/polyface/AuxData.js.map +1 -1
- package/lib/cjs/polyface/BoxTopology.js.map +1 -1
- package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
- package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
- package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/cjs/polyface/Polyface.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
- package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
- package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
- package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
- package/lib/cjs/serialization/DeepCompare.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/solid/Box.js.map +1 -1
- package/lib/cjs/solid/Cone.js.map +1 -1
- package/lib/cjs/solid/LinearSweep.js.map +1 -1
- package/lib/cjs/solid/RotationalSweep.js.map +1 -1
- package/lib/cjs/solid/RuledSweep.js.map +1 -1
- package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
- package/lib/cjs/solid/Sphere.js.map +1 -1
- package/lib/cjs/solid/SweepContour.js.map +1 -1
- package/lib/cjs/solid/TorusPipe.js.map +1 -1
- package/lib/cjs/topology/ChainMerge.js.map +1 -1
- package/lib/cjs/topology/Graph.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/cjs/topology/MaskManager.js.map +1 -1
- package/lib/cjs/topology/Merging.js.map +1 -1
- package/lib/cjs/topology/RegularizeFace.js.map +1 -1
- package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
- package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
- package/lib/cjs/topology/Triangulation.js.map +1 -1
- package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
- package/lib/esm/Constant.js.map +1 -1
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/esm/bspline/BSplineSurface.js.map +1 -1
- package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/esm/bspline/KnotVector.js.map +1 -1
- package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
- package/lib/esm/clipping/ClipPlane.js.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/clipping/ClipVector.js.map +1 -1
- package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/esm/core-geometry.d.ts +1 -0
- package/lib/esm/core-geometry.d.ts.map +1 -1
- package/lib/esm/core-geometry.js +2 -0
- package/lib/esm/core-geometry.js.map +1 -1
- package/lib/esm/curve/Arc3d.d.ts +71 -86
- package/lib/esm/curve/Arc3d.d.ts.map +1 -1
- package/lib/esm/curve/Arc3d.js +110 -96
- package/lib/esm/curve/Arc3d.js.map +1 -1
- package/lib/esm/curve/ChainCollectorContext.js.map +1 -1
- package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
- package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
- package/lib/esm/curve/CurveChain.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +61 -41
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +69 -46
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.d.ts +73 -46
- package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
- package/lib/esm/curve/CurveCollection.js +100 -64
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/esm/curve/CurveExtendMode.js.map +1 -1
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.d.ts +45 -46
- package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js +39 -41
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurvePrimitive.d.ts +138 -92
- package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/esm/curve/CurvePrimitive.js +115 -75
- package/lib/esm/curve/CurvePrimitive.js.map +1 -1
- package/lib/esm/curve/CurveProcessor.js.map +1 -1
- package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/esm/curve/GeometryQuery.d.ts +26 -20
- package/lib/esm/curve/GeometryQuery.d.ts.map +1 -1
- package/lib/esm/curve/GeometryQuery.js +11 -9
- package/lib/esm/curve/GeometryQuery.js.map +1 -1
- package/lib/esm/curve/LineSegment3d.d.ts +38 -27
- package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/esm/curve/LineSegment3d.js +77 -39
- package/lib/esm/curve/LineSegment3d.js.map +1 -1
- package/lib/esm/curve/LineString3d.d.ts +70 -51
- package/lib/esm/curve/LineString3d.d.ts.map +1 -1
- package/lib/esm/curve/LineString3d.js +120 -71
- package/lib/esm/curve/LineString3d.js.map +1 -1
- package/lib/esm/curve/Loop.d.ts +7 -5
- package/lib/esm/curve/Loop.d.ts.map +1 -1
- package/lib/esm/curve/Loop.js +18 -6
- package/lib/esm/curve/Loop.js.map +1 -1
- package/lib/esm/curve/ParityRegion.d.ts +7 -7
- package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
- package/lib/esm/curve/ParityRegion.js +19 -11
- package/lib/esm/curve/ParityRegion.js.map +1 -1
- package/lib/esm/curve/Path.d.ts +6 -6
- package/lib/esm/curve/Path.d.ts.map +1 -1
- package/lib/esm/curve/Path.js +15 -9
- package/lib/esm/curve/Path.js.map +1 -1
- package/lib/esm/curve/PointString3d.js.map +1 -1
- package/lib/esm/curve/ProxyCurve.d.ts +4 -6
- package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
- package/lib/esm/curve/ProxyCurve.js +7 -7
- package/lib/esm/curve/ProxyCurve.js.map +1 -1
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
- package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
- package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
- package/lib/esm/curve/Query/InOutTests.js.map +1 -1
- package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountMap.d.ts +14 -13
- package/lib/esm/curve/Query/StrokeCountMap.d.ts.map +1 -1
- package/lib/esm/curve/Query/StrokeCountMap.js +9 -8
- package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
- package/lib/esm/curve/RegionOps.d.ts +69 -47
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +70 -47
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.d.ts +29 -21
- package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
- package/lib/esm/curve/StrokeOptions.js +50 -24
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/UnionRegion.d.ts +6 -5
- package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
- package/lib/esm/curve/UnionRegion.js +17 -8
- package/lib/esm/curve/UnionRegion.js.map +1 -1
- package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
- package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
- package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +4 -0
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.js +5 -2
- package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +56 -34
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +152 -87
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/esm/geometry3d/Angle.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +2 -2
- package/lib/esm/geometry3d/Matrix3d.js +2 -2
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/esm/geometry3d/Plane3d.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +35 -32
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
- package/lib/esm/geometry3d/Range.d.ts +133 -93
- package/lib/esm/geometry3d/Range.d.ts.map +1 -1
- package/lib/esm/geometry3d/Range.js +296 -144
- package/lib/esm/geometry3d/Range.js.map +1 -1
- package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
- package/lib/esm/geometry3d/Segment1d.js.map +1 -1
- package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
- package/lib/esm/geometry3d/XYZProps.js.map +1 -1
- package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/esm/geometry4d/Map4d.js.map +1 -1
- package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
- package/lib/esm/geometry4d/MomentData.js.map +1 -1
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
- package/lib/esm/geometry4d/Point4d.js.map +1 -1
- package/lib/esm/numerics/BandedSystem.js.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
- package/lib/esm/numerics/ClusterableArray.js.map +1 -1
- package/lib/esm/numerics/Complex.js.map +1 -1
- package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/esm/numerics/Newton.js.map +1 -1
- package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
- package/lib/esm/numerics/PolarData.js.map +1 -1
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/numerics/Quadrature.js.map +1 -1
- package/lib/esm/numerics/Range1dArray.js.map +1 -1
- package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
- package/lib/esm/numerics/UnionFind.js.map +1 -1
- package/lib/esm/numerics/UsageSums.js.map +1 -1
- package/lib/esm/polyface/AuxData.js.map +1 -1
- package/lib/esm/polyface/BoxTopology.js.map +1 -1
- package/lib/esm/polyface/FacetFaceData.js.map +1 -1
- package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
- package/lib/esm/polyface/FacetOrientation.js.map +1 -1
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/esm/polyface/Polyface.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceData.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/RangeLengthData.js.map +1 -1
- package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
- package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/BGFBWriter.js.map +1 -1
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
- package/lib/esm/serialization/DeepCompare.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/solid/Box.js.map +1 -1
- package/lib/esm/solid/Cone.js.map +1 -1
- package/lib/esm/solid/LinearSweep.js.map +1 -1
- package/lib/esm/solid/RotationalSweep.js.map +1 -1
- package/lib/esm/solid/RuledSweep.js.map +1 -1
- package/lib/esm/solid/SolidPrimitive.js.map +1 -1
- package/lib/esm/solid/Sphere.js.map +1 -1
- package/lib/esm/solid/SweepContour.js.map +1 -1
- package/lib/esm/solid/TorusPipe.js.map +1 -1
- package/lib/esm/topology/ChainMerge.js.map +1 -1
- package/lib/esm/topology/Graph.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
- package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
- package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/esm/topology/MaskManager.js.map +1 -1
- package/lib/esm/topology/Merging.js.map +1 -1
- package/lib/esm/topology/RegularizeFace.js.map +1 -1
- package/lib/esm/topology/SignedDataSummary.js.map +1 -1
- package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
- package/lib/esm/topology/Triangulation.js.map +1 -1
- package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
- package/package.json +3 -3
|
@@ -18,16 +18,16 @@ import { OffsetOptions } from "./internalContexts/PolygonOffsetContext";
|
|
|
18
18
|
import { LineString3d } from "./LineString3d";
|
|
19
19
|
import { StrokeOptions } from "./StrokeOptions";
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Annotation of an interval of a curve.
|
|
22
22
|
* * The interval is marked with two pairs of numbers:
|
|
23
23
|
* * * fraction0, fraction1 = fraction parameters along the child curve
|
|
24
24
|
* * * distance0,distance1 = distances within containing CurveChainWithDistanceIndex
|
|
25
25
|
* @public
|
|
26
26
|
*/
|
|
27
27
|
export declare class PathFragment {
|
|
28
|
-
/**
|
|
28
|
+
/** Distance along parent to this fragment start */
|
|
29
29
|
chainDistance0: number;
|
|
30
|
-
/**
|
|
30
|
+
/** Distance along parent to this fragment end */
|
|
31
31
|
chainDistance1: number;
|
|
32
32
|
/** Fractional position of this fragment start within its curve primitive. */
|
|
33
33
|
childFraction0: number;
|
|
@@ -35,9 +35,9 @@ export declare class PathFragment {
|
|
|
35
35
|
childFraction1: number;
|
|
36
36
|
/** Curve primitive of this fragment, as presented in stroker. Note that this might have become a proxy. */
|
|
37
37
|
childCurve: CurvePrimitive;
|
|
38
|
-
/**
|
|
38
|
+
/** Optional range */
|
|
39
39
|
range?: Range3d;
|
|
40
|
-
/**
|
|
40
|
+
/** Working var for use in searches. */
|
|
41
41
|
a: number;
|
|
42
42
|
/** Create a fragment with complete fraction, distance and child data. */
|
|
43
43
|
constructor(childFraction0: number, childFraction1: number, distance0: number, distance1: number, childCurve: CurvePrimitive, range?: Range3d);
|
|
@@ -46,25 +46,32 @@ export declare class PathFragment {
|
|
|
46
46
|
* @param distance
|
|
47
47
|
*/
|
|
48
48
|
containsChainDistance(distance: number): boolean;
|
|
49
|
+
/** Return a quick distance to the curve. This may be SMALLER than true distance but may not be larger */
|
|
49
50
|
quickMinDistanceToChildCurve(spacePoint: Point3d): number;
|
|
51
|
+
/**
|
|
52
|
+
* Return an array with (references to) all the path fragments, sorted smallest to largest on the "a" value
|
|
53
|
+
* equal to the quick min distance to the fragment
|
|
54
|
+
*/
|
|
50
55
|
static collectSortedQuickMinDistances(fragments: PathFragment[], spacePoint: Point3d): PathFragment[];
|
|
51
56
|
/**
|
|
52
57
|
* Return true if this fragment addresses `curve` and brackets `fraction`
|
|
53
58
|
* @param distance
|
|
54
59
|
*/
|
|
55
60
|
containsChildCurveAndChildFraction(curve: CurvePrimitive, fraction: number): boolean;
|
|
56
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
|
|
57
63
|
* Note that proportional calculation does NOT account for nonuniform parameterization in the child curve.
|
|
58
64
|
*/
|
|
59
65
|
chainDistanceToInterpolatedChildFraction(distance: number): number;
|
|
60
|
-
/** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction
|
|
61
|
-
*/
|
|
66
|
+
/** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction */
|
|
62
67
|
chainDistanceToAccurateChildFraction(chainDistance: number, allowExtrapolation?: boolean): number;
|
|
63
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
|
|
64
70
|
* @param globalDistance total length of the global curve.
|
|
65
71
|
*/
|
|
66
72
|
fractionScaleFactor(globalDistance: number): number;
|
|
67
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* Reverse the fraction and distance data.
|
|
68
75
|
* * each child fraction `f` is replaced by `1-f`
|
|
69
76
|
* * each `chainDistance` is replaced by `totalDistance-chainDistance`
|
|
70
77
|
*/
|
|
@@ -72,7 +79,7 @@ export declare class PathFragment {
|
|
|
72
79
|
/** @deprecated in 3.x. Use childFractionToChainDistance */
|
|
73
80
|
childFractionTChainDistance(fraction: number): number;
|
|
74
81
|
/**
|
|
75
|
-
*
|
|
82
|
+
* Convert a fractional position on the childCurve to distance in the chain space.
|
|
76
83
|
* * Return value is SIGNED -- will be negative when fraction < this.childFraction0.
|
|
77
84
|
* @param fraction fraction along the curve within this fragment
|
|
78
85
|
*/
|
|
@@ -81,6 +88,8 @@ export declare class PathFragment {
|
|
|
81
88
|
/**
|
|
82
89
|
* `CurveChainWithDistanceIndex` is a CurvePrimitive whose fractional parameterization is proportional to true
|
|
83
90
|
* distance along a CurveChain.
|
|
91
|
+
* * For example if the total length of the chain is `L`, then the distance along the chain from parameters `t0`
|
|
92
|
+
* to `t1` is easily computed as `L*(t1-t0)`.
|
|
84
93
|
* * The curve chain can be any type derived from CurveChain.
|
|
85
94
|
* * * i.e. either a `Path` or a `Loop`
|
|
86
95
|
* @public
|
|
@@ -99,11 +108,13 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
99
108
|
* @param transform transform to apply in the clone.
|
|
100
109
|
*/
|
|
101
110
|
cloneTransformed(transform: Transform): CurveChainWithDistanceIndex | undefined;
|
|
102
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* Reference to the contained path.
|
|
103
113
|
* * Do not modify the path. The distance index will be wrong.
|
|
104
114
|
*/
|
|
105
115
|
get path(): CurveChain;
|
|
106
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* Reference to the fragments array.
|
|
107
118
|
* * Do not modify.
|
|
108
119
|
*/
|
|
109
120
|
get fragments(): PathFragment[];
|
|
@@ -111,22 +122,24 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
111
122
|
clone(): CurveChainWithDistanceIndex;
|
|
112
123
|
/** Return a deep clone */
|
|
113
124
|
clonePartialCurve(fractionA: number, fractionB: number): CurveChainWithDistanceIndex | undefined;
|
|
114
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* Ask if the curve is within tolerance of a plane.
|
|
115
127
|
* @returns Returns true if the curve is completely within tolerance of the plane.
|
|
116
128
|
*/
|
|
117
129
|
isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean;
|
|
118
|
-
/**
|
|
130
|
+
/** Return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
|
|
119
131
|
startPoint(result?: Point3d): Point3d;
|
|
120
132
|
/** Return the end point of the primitive. The default implementation returns fractionToPoint(1.0) */
|
|
121
133
|
endPoint(result?: Point3d): Point3d;
|
|
122
134
|
/** Add strokes to caller-supplied linestring */
|
|
123
135
|
emitStrokes(dest: LineString3d, options?: StrokeOptions): void;
|
|
124
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* Ask the curve to announce points and simple subcurve fragments for stroking.
|
|
125
138
|
* See IStrokeHandler for description of the sequence of the method calls.
|
|
126
139
|
*/
|
|
127
140
|
emitStrokableParts(dest: IStrokeHandler, options?: StrokeOptions): void;
|
|
128
141
|
/**
|
|
129
|
-
*
|
|
142
|
+
* Return the stroke count required for given options.
|
|
130
143
|
* @param options StrokeOptions that determine count
|
|
131
144
|
*/
|
|
132
145
|
computeStrokeCountForOptions(options?: StrokeOptions): number;
|
|
@@ -134,25 +147,25 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
134
147
|
* Return an array containing only the curve primitives.
|
|
135
148
|
* @param collectorArray array to receive primitives (pushed -- the array is not cleared)
|
|
136
149
|
* @param smallestPossiblePrimitives if true, recurse on the (otherwise hidden) children. If false, only push `this`.
|
|
137
|
-
* @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
|
|
150
|
+
* @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
|
|
151
|
+
* segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
|
|
138
152
|
*/
|
|
139
153
|
collectCurvePrimitivesGo(collectorArray: CurvePrimitive[], smallestPossiblePrimitives?: boolean, explodeLineStrings?: boolean): void;
|
|
140
154
|
/**
|
|
141
|
-
*
|
|
155
|
+
* Construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
|
|
142
156
|
* @param options StrokeOptions that determine count
|
|
143
157
|
* @param parentStrokeMap evolving parent map.
|
|
144
158
|
*/
|
|
145
159
|
computeAndAttachRecursiveStrokeCounts(options?: StrokeOptions, parentStrokeMap?: StrokeCountMap): void;
|
|
146
|
-
/**
|
|
160
|
+
/**
|
|
161
|
+
* Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
|
|
147
162
|
* * Note that this exposes the children individually to the handler.
|
|
148
163
|
*/
|
|
149
164
|
dispatchToGeometryHandler(handler: GeometryHandler): any;
|
|
150
|
-
/** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed)
|
|
151
|
-
*/
|
|
165
|
+
/** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed) */
|
|
152
166
|
extendRange(rangeToExtend: Range3d, transform?: Transform): void;
|
|
153
167
|
/**
|
|
154
|
-
*
|
|
155
|
-
* * Curve length is always positive.
|
|
168
|
+
* Curve length is always positive.
|
|
156
169
|
* @returns Returns a (high accuracy) length of the curve between fractional positions
|
|
157
170
|
* @returns Returns the length of the curve.
|
|
158
171
|
*/
|
|
@@ -185,9 +198,7 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
185
198
|
* @param fraction
|
|
186
199
|
*/
|
|
187
200
|
curveAndChildFractionToFragment(curve: CurvePrimitive, fraction: number): PathFragment | undefined;
|
|
188
|
-
/**
|
|
189
|
-
* Returns the total length of curves.
|
|
190
|
-
*/
|
|
201
|
+
/** Returns the total length of curves. */
|
|
191
202
|
curveLength(): number;
|
|
192
203
|
/**
|
|
193
204
|
* Returns the total length of the path.
|
|
@@ -200,8 +211,8 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
200
211
|
* @returns Returns a point on the curve.
|
|
201
212
|
*/
|
|
202
213
|
fractionToPoint(fraction: number, result?: Point3d): Point3d;
|
|
203
|
-
/**
|
|
204
|
-
*
|
|
214
|
+
/**
|
|
215
|
+
* Return the point (x,y,z) and derivative on the curve at fractional position.
|
|
205
216
|
* * Note that this derivative is "derivative of xyz with respect to fraction."
|
|
206
217
|
* * this derivative shows the speed of the "fractional point" moving along the curve.
|
|
207
218
|
* * this is not generally a unit vector. use fractionToPointAndUnitTangent for a unit vector.
|
|
@@ -216,14 +227,16 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
216
227
|
* Returns a ray whose origin is the curve point and direction is the unit tangent.
|
|
217
228
|
*/
|
|
218
229
|
fractionToPointAndUnitTangent(fraction: number, result?: Ray3d): Ray3d;
|
|
219
|
-
/**
|
|
220
|
-
*
|
|
230
|
+
/**
|
|
231
|
+
* Return a plane with
|
|
221
232
|
* * origin at fractional position along the curve
|
|
222
|
-
* * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
|
|
233
|
+
* * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
|
|
234
|
+
* the fraction.
|
|
223
235
|
* * vectorV is the second derivative, i.e.derivative of vectorU.
|
|
224
236
|
*/
|
|
225
237
|
fractionToPointAnd2Derivatives(fraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors | undefined;
|
|
226
|
-
/**
|
|
238
|
+
/**
|
|
239
|
+
* Attempt to transform in place.
|
|
227
240
|
* * Warning: If any child fails, this object becomes invalid. But that should never happen.
|
|
228
241
|
*/
|
|
229
242
|
tryTransformInPlace(transform: Transform): boolean;
|
|
@@ -236,13 +249,14 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
236
249
|
* @param other
|
|
237
250
|
*/
|
|
238
251
|
isAlmostEqual(other: GeometryQuery): boolean;
|
|
239
|
-
/**
|
|
252
|
+
/**
|
|
253
|
+
* Implement moveSignedDistanceFromFraction.
|
|
240
254
|
* * See `CurvePrimitive` for parameter details.
|
|
241
|
-
* * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
255
|
+
* * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
256
|
+
* has pointer to an additional detail for the child curve.
|
|
242
257
|
*/
|
|
243
258
|
moveSignedDistanceFromFraction(startFraction: number, signedDistance: number, allowExtension: boolean, result?: CurveLocationDetail): CurveLocationDetail;
|
|
244
259
|
/**
|
|
245
|
-
*
|
|
246
260
|
* The returned object has
|
|
247
261
|
* * numCalls = number of times closestPoint was called.
|
|
248
262
|
* * numCurvesTested = number of curves tested with full closestPoint
|
|
@@ -261,10 +275,12 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
261
275
|
private static _numTested;
|
|
262
276
|
private static _numAssigned;
|
|
263
277
|
private static _numCandidate;
|
|
264
|
-
/**
|
|
278
|
+
/**
|
|
279
|
+
* Search for the curve point that is closest to the spacePoint.
|
|
265
280
|
* * The CurveChainWithDistanceIndex invokes the base class CurvePrimitive method, which
|
|
266
281
|
* (via a handler) determines a CurveLocation detail among the children.
|
|
267
|
-
* * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
282
|
+
* * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
283
|
+
* has pointer to an additional detail for the child curve.
|
|
268
284
|
* @param spacePoint point in space
|
|
269
285
|
* @param extend true to extend the curve
|
|
270
286
|
* @returns Returns a CurveLocationDetail structure that holds the details of the close point.
|
|
@@ -272,14 +288,18 @@ export declare class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
272
288
|
closestPoint(spacePoint: Point3d, extend: VariantCurveExtendParameter): CurveLocationDetail | undefined;
|
|
273
289
|
/**
|
|
274
290
|
* Construct an offset of each child as viewed in the xy-plane (ignoring z).
|
|
275
|
-
* * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
|
|
291
|
+
* * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
|
|
292
|
+
* joined offset.
|
|
276
293
|
* @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object
|
|
277
294
|
*/
|
|
278
295
|
constructOffsetXY(offsetDistanceOrOptions: number | OffsetOptions): CurvePrimitive | CurvePrimitive[] | undefined;
|
|
279
|
-
/**
|
|
296
|
+
/**
|
|
297
|
+
* Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of
|
|
298
|
+
* projection.
|
|
280
299
|
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
281
300
|
* @param lowHigh optional receiver for output
|
|
282
|
-
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
|
|
301
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
|
|
302
|
+
* end of the ray.
|
|
283
303
|
*/
|
|
284
304
|
projectedParameterRange(ray: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined;
|
|
285
305
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurveChainWithDistanceIndex.d.ts","sourceRoot":"","sources":["../../../src/curve/CurveChainWithDistanceIndex.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAuC,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB,mDAAmD;IAC5C,cAAc,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IAC1C,cAAc,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IACtE,cAAc,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IACrE,cAAc,EAAE,MAAM,CAAC;IAC9B,4GAA4G;IACrG,UAAU,EAAE,cAAc,CAAC;IAClC,qBAAqB;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IAChC,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;
|
|
1
|
+
{"version":3,"file":"CurveChainWithDistanceIndex.d.ts","sourceRoot":"","sources":["../../../src/curve/CurveChainWithDistanceIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import { PlaneAltitudeRangeContext } from "./internalContexts/PlaneAltitudeRange
|
|
|
17
17
|
import { OffsetOptions } from "./internalContexts/PolygonOffsetContext";
|
|
18
18
|
import { Path } from "./Path";
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Annotation of an interval of a curve.
|
|
21
21
|
* * The interval is marked with two pairs of numbers:
|
|
22
22
|
* * * fraction0, fraction1 = fraction parameters along the child curve
|
|
23
23
|
* * * distance0,distance1 = distances within containing CurveChainWithDistanceIndex
|
|
@@ -41,8 +41,7 @@ export class PathFragment {
|
|
|
41
41
|
containsChainDistance(distance) {
|
|
42
42
|
return distance >= this.chainDistance0 && distance <= this.chainDistance1;
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
// not be larger.
|
|
44
|
+
/** Return a quick distance to the curve. This may be SMALLER than true distance but may not be larger */
|
|
46
45
|
quickMinDistanceToChildCurve(spacePoint) {
|
|
47
46
|
if (this.range) {
|
|
48
47
|
return this.range.distanceToPoint(spacePoint);
|
|
@@ -53,8 +52,10 @@ export class PathFragment {
|
|
|
53
52
|
return detail.a;
|
|
54
53
|
return 0;
|
|
55
54
|
}
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Return an array with (references to) all the path fragments, sorted smallest to largest on the "a" value
|
|
57
|
+
* equal to the quick min distance to the fragment
|
|
58
|
+
*/
|
|
58
59
|
static collectSortedQuickMinDistances(fragments, spacePoint) {
|
|
59
60
|
const sortedFragments = [];
|
|
60
61
|
for (const f of fragments) {
|
|
@@ -71,26 +72,28 @@ export class PathFragment {
|
|
|
71
72
|
containsChildCurveAndChildFraction(curve, fraction) {
|
|
72
73
|
return this.childCurve === curve && fraction >= this.childFraction0 && fraction <= this.childFraction1;
|
|
73
74
|
}
|
|
74
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
|
|
75
77
|
* Note that proportional calculation does NOT account for nonuniform parameterization in the child curve.
|
|
76
78
|
*/
|
|
77
79
|
chainDistanceToInterpolatedChildFraction(distance) {
|
|
78
80
|
return Geometry.inverseInterpolate(this.childFraction0, this.chainDistance0, this.childFraction1, this.chainDistance1, distance, this.childFraction0); // the interval "must" have nonzero length, division should be safe . ..
|
|
79
81
|
}
|
|
80
|
-
/** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction
|
|
81
|
-
*/
|
|
82
|
+
/** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction */
|
|
82
83
|
chainDistanceToAccurateChildFraction(chainDistance, allowExtrapolation) {
|
|
83
84
|
// The fragments are really expected to do good mappings in their distance range ...
|
|
84
85
|
const childDetail = this.childCurve.moveSignedDistanceFromFraction(this.childFraction0, chainDistance - this.chainDistance0, allowExtrapolation ?? false);
|
|
85
86
|
return childDetail.fraction;
|
|
86
87
|
}
|
|
87
|
-
/**
|
|
88
|
+
/**
|
|
89
|
+
* Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
|
|
88
90
|
* @param globalDistance total length of the global curve.
|
|
89
91
|
*/
|
|
90
92
|
fractionScaleFactor(globalDistance) {
|
|
91
93
|
return globalDistance * (this.childFraction1 - this.childFraction0) / (this.chainDistance1 - this.chainDistance0);
|
|
92
94
|
}
|
|
93
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* Reverse the fraction and distance data.
|
|
94
97
|
* * each child fraction `f` is replaced by `1-f`
|
|
95
98
|
* * each `chainDistance` is replaced by `totalDistance-chainDistance`
|
|
96
99
|
*/
|
|
@@ -109,7 +112,7 @@ export class PathFragment {
|
|
|
109
112
|
return this.childFractionToChainDistance(fraction);
|
|
110
113
|
}
|
|
111
114
|
/**
|
|
112
|
-
*
|
|
115
|
+
* Convert a fractional position on the childCurve to distance in the chain space.
|
|
113
116
|
* * Return value is SIGNED -- will be negative when fraction < this.childFraction0.
|
|
114
117
|
* @param fraction fraction along the curve within this fragment
|
|
115
118
|
*/
|
|
@@ -131,7 +134,6 @@ class DistanceIndexConstructionContext {
|
|
|
131
134
|
startCurvePrimitive(_cp) { }
|
|
132
135
|
endParentCurvePrimitive(_cp) { }
|
|
133
136
|
endCurvePrimitive(_cp) { }
|
|
134
|
-
// um .. we need to see curves? how to reject?
|
|
135
137
|
announcePointTangent(_xyz, _fraction, _tangent) { }
|
|
136
138
|
/** Announce numPoints interpolated between point0 and point1, with associated fractions */
|
|
137
139
|
announceSegmentInterval(cp, point0, point1, numStrokes, fraction0, fraction1) {
|
|
@@ -178,13 +180,17 @@ class DistanceIndexConstructionContext {
|
|
|
178
180
|
/**
|
|
179
181
|
* `CurveChainWithDistanceIndex` is a CurvePrimitive whose fractional parameterization is proportional to true
|
|
180
182
|
* distance along a CurveChain.
|
|
183
|
+
* * For example if the total length of the chain is `L`, then the distance along the chain from parameters `t0`
|
|
184
|
+
* to `t1` is easily computed as `L*(t1-t0)`.
|
|
181
185
|
* * The curve chain can be any type derived from CurveChain.
|
|
182
186
|
* * * i.e. either a `Path` or a `Loop`
|
|
183
187
|
* @public
|
|
184
188
|
*/
|
|
185
189
|
class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
186
190
|
/** Test if other is a `CurveChainWithDistanceIndex` */
|
|
187
|
-
isSameGeometryClass(other) {
|
|
191
|
+
isSameGeometryClass(other) {
|
|
192
|
+
return other instanceof CurveChainWithDistanceIndex;
|
|
193
|
+
}
|
|
188
194
|
// final assembly of CurveChainWithDistanceIndex -- caller must create valid fragment index.
|
|
189
195
|
constructor(path, fragments) {
|
|
190
196
|
super();
|
|
@@ -204,14 +210,20 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
204
210
|
return CurveChainWithDistanceIndex.createCapture(c);
|
|
205
211
|
return undefined;
|
|
206
212
|
}
|
|
207
|
-
/**
|
|
213
|
+
/**
|
|
214
|
+
* Reference to the contained path.
|
|
208
215
|
* * Do not modify the path. The distance index will be wrong.
|
|
209
216
|
*/
|
|
210
|
-
get path() {
|
|
211
|
-
|
|
217
|
+
get path() {
|
|
218
|
+
return this._path;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Reference to the fragments array.
|
|
212
222
|
* * Do not modify.
|
|
213
223
|
*/
|
|
214
|
-
get fragments() {
|
|
224
|
+
get fragments() {
|
|
225
|
+
return this._fragments;
|
|
226
|
+
}
|
|
215
227
|
/** Return a deep clone */
|
|
216
228
|
clone() {
|
|
217
229
|
const c = this._path.clone();
|
|
@@ -283,7 +295,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
283
295
|
newPath.children.reverse();
|
|
284
296
|
return CurveChainWithDistanceIndex.createCapture(newPath);
|
|
285
297
|
}
|
|
286
|
-
/**
|
|
298
|
+
/**
|
|
299
|
+
* Ask if the curve is within tolerance of a plane.
|
|
287
300
|
* @returns Returns true if the curve is completely within tolerance of the plane.
|
|
288
301
|
*/
|
|
289
302
|
isInPlane(plane) {
|
|
@@ -293,7 +306,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
293
306
|
}
|
|
294
307
|
return true;
|
|
295
308
|
}
|
|
296
|
-
/**
|
|
309
|
+
/** Return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
|
|
297
310
|
startPoint(result) {
|
|
298
311
|
const c = this._path.cyclicCurvePrimitive(0);
|
|
299
312
|
if (c)
|
|
@@ -313,7 +326,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
313
326
|
c.emitStrokes(dest, options);
|
|
314
327
|
}
|
|
315
328
|
}
|
|
316
|
-
/**
|
|
329
|
+
/**
|
|
330
|
+
* Ask the curve to announce points and simple subcurve fragments for stroking.
|
|
317
331
|
* See IStrokeHandler for description of the sequence of the method calls.
|
|
318
332
|
*/
|
|
319
333
|
emitStrokableParts(dest, options) {
|
|
@@ -322,7 +336,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
322
336
|
}
|
|
323
337
|
}
|
|
324
338
|
/**
|
|
325
|
-
*
|
|
339
|
+
* Return the stroke count required for given options.
|
|
326
340
|
* @param options StrokeOptions that determine count
|
|
327
341
|
*/
|
|
328
342
|
computeStrokeCountForOptions(options) {
|
|
@@ -336,7 +350,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
336
350
|
* Return an array containing only the curve primitives.
|
|
337
351
|
* @param collectorArray array to receive primitives (pushed -- the array is not cleared)
|
|
338
352
|
* @param smallestPossiblePrimitives if true, recurse on the (otherwise hidden) children. If false, only push `this`.
|
|
339
|
-
* @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
|
|
353
|
+
* @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
|
|
354
|
+
* segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
|
|
340
355
|
*/
|
|
341
356
|
collectCurvePrimitivesGo(collectorArray, smallestPossiblePrimitives = false, explodeLineStrings = false) {
|
|
342
357
|
if (smallestPossiblePrimitives) {
|
|
@@ -349,7 +364,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
349
364
|
}
|
|
350
365
|
}
|
|
351
366
|
/**
|
|
352
|
-
*
|
|
367
|
+
* Construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
|
|
353
368
|
* @param options StrokeOptions that determine count
|
|
354
369
|
* @param parentStrokeMap evolving parent map.
|
|
355
370
|
*/
|
|
@@ -360,20 +375,19 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
360
375
|
}
|
|
361
376
|
CurvePrimitive.installStrokeCountMap(this, myMap, parentStrokeMap);
|
|
362
377
|
}
|
|
363
|
-
/**
|
|
378
|
+
/**
|
|
379
|
+
* Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
|
|
364
380
|
* * Note that this exposes the children individually to the handler.
|
|
365
381
|
*/
|
|
366
382
|
dispatchToGeometryHandler(handler) {
|
|
367
383
|
return this._path.dispatchToGeometryHandler(handler);
|
|
368
384
|
}
|
|
369
|
-
/** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed)
|
|
370
|
-
*/
|
|
385
|
+
/** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed) */
|
|
371
386
|
extendRange(rangeToExtend, transform) {
|
|
372
387
|
this._path.extendRange(rangeToExtend, transform);
|
|
373
388
|
}
|
|
374
389
|
/**
|
|
375
|
-
*
|
|
376
|
-
* * Curve length is always positive.
|
|
390
|
+
* Curve length is always positive.
|
|
377
391
|
* @returns Returns a (high accuracy) length of the curve between fractional positions
|
|
378
392
|
* @returns Returns the length of the curve.
|
|
379
393
|
*/
|
|
@@ -425,7 +439,9 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
425
439
|
* Convert distance along the chain to fraction along the chain.
|
|
426
440
|
* @param distance distance along the chain
|
|
427
441
|
*/
|
|
428
|
-
chainDistanceToChainFraction(distance) {
|
|
442
|
+
chainDistanceToChainFraction(distance) {
|
|
443
|
+
return distance / this._totalLength;
|
|
444
|
+
}
|
|
429
445
|
/**
|
|
430
446
|
* Resolve a fraction within a specific curve to a fragment.
|
|
431
447
|
* @param curve
|
|
@@ -447,9 +463,7 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
447
463
|
}
|
|
448
464
|
return undefined;
|
|
449
465
|
}
|
|
450
|
-
/**
|
|
451
|
-
* Returns the total length of curves.
|
|
452
|
-
*/
|
|
466
|
+
/** Returns the total length of curves. */
|
|
453
467
|
curveLength() {
|
|
454
468
|
return this._totalLength;
|
|
455
469
|
}
|
|
@@ -476,8 +490,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
476
490
|
// fragment = this.chainDistanceToFragment(chainDistance, true);
|
|
477
491
|
return this._fragments[0].childCurve.fractionToPoint(0.0, result);
|
|
478
492
|
}
|
|
479
|
-
/**
|
|
480
|
-
*
|
|
493
|
+
/**
|
|
494
|
+
* Return the point (x,y,z) and derivative on the curve at fractional position.
|
|
481
495
|
* * Note that this derivative is "derivative of xyz with respect to fraction."
|
|
482
496
|
* * this derivative shows the speed of the "fractional point" moving along the curve.
|
|
483
497
|
* * this is not generally a unit vector. use fractionToPointAndUnitTangent for a unit vector.
|
|
@@ -511,10 +525,11 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
511
525
|
result.direction.normalizeInPlace();
|
|
512
526
|
return result;
|
|
513
527
|
}
|
|
514
|
-
/**
|
|
515
|
-
*
|
|
528
|
+
/**
|
|
529
|
+
* Return a plane with
|
|
516
530
|
* * origin at fractional position along the curve
|
|
517
|
-
* * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
|
|
531
|
+
* * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
|
|
532
|
+
* the fraction.
|
|
518
533
|
* * vectorV is the second derivative, i.e.derivative of vectorU.
|
|
519
534
|
*/
|
|
520
535
|
fractionToPointAnd2Derivatives(fraction, result) {
|
|
@@ -540,7 +555,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
540
555
|
result.vectorV.scaleInPlace(scale * scale);
|
|
541
556
|
return result;
|
|
542
557
|
}
|
|
543
|
-
/**
|
|
558
|
+
/**
|
|
559
|
+
* Attempt to transform in place.
|
|
544
560
|
* * Warning: If any child fails, this object becomes invalid. But that should never happen.
|
|
545
561
|
*/
|
|
546
562
|
tryTransformInPlace(transform) {
|
|
@@ -573,9 +589,11 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
573
589
|
}
|
|
574
590
|
return false;
|
|
575
591
|
}
|
|
576
|
-
/**
|
|
592
|
+
/**
|
|
593
|
+
* Implement moveSignedDistanceFromFraction.
|
|
577
594
|
* * See `CurvePrimitive` for parameter details.
|
|
578
|
-
* * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
595
|
+
* * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
596
|
+
* has pointer to an additional detail for the child curve.
|
|
579
597
|
*/
|
|
580
598
|
moveSignedDistanceFromFraction(startFraction, signedDistance, allowExtension, result) {
|
|
581
599
|
const distanceA = startFraction * this._totalLength;
|
|
@@ -588,7 +606,6 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
588
606
|
return chainDetail;
|
|
589
607
|
}
|
|
590
608
|
/**
|
|
591
|
-
*
|
|
592
609
|
* The returned object has
|
|
593
610
|
* * numCalls = number of times closestPoint was called.
|
|
594
611
|
* * numCurvesTested = number of curves tested with full closestPoint
|
|
@@ -609,10 +626,12 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
609
626
|
}
|
|
610
627
|
return a;
|
|
611
628
|
}
|
|
612
|
-
/**
|
|
629
|
+
/**
|
|
630
|
+
* Search for the curve point that is closest to the spacePoint.
|
|
613
631
|
* * The CurveChainWithDistanceIndex invokes the base class CurvePrimitive method, which
|
|
614
632
|
* (via a handler) determines a CurveLocation detail among the children.
|
|
615
|
-
* * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
633
|
+
* * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
|
|
634
|
+
* has pointer to an additional detail for the child curve.
|
|
616
635
|
* @param spacePoint point in space
|
|
617
636
|
* @param extend true to extend the curve
|
|
618
637
|
* @returns Returns a CurveLocationDetail structure that holds the details of the close point.
|
|
@@ -661,7 +680,8 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
661
680
|
}
|
|
662
681
|
/**
|
|
663
682
|
* Construct an offset of each child as viewed in the xy-plane (ignoring z).
|
|
664
|
-
* * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
|
|
683
|
+
* * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
|
|
684
|
+
* joined offset.
|
|
665
685
|
* @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object
|
|
666
686
|
*/
|
|
667
687
|
constructOffsetXY(offsetDistanceOrOptions) {
|
|
@@ -678,10 +698,13 @@ class CurveChainWithDistanceIndex extends CurvePrimitive {
|
|
|
678
698
|
}
|
|
679
699
|
return offsets;
|
|
680
700
|
}
|
|
681
|
-
/**
|
|
701
|
+
/**
|
|
702
|
+
* Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of
|
|
703
|
+
* projection.
|
|
682
704
|
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
683
705
|
* @param lowHigh optional receiver for output
|
|
684
|
-
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
|
|
706
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
|
|
707
|
+
* end of the ray.
|
|
685
708
|
*/
|
|
686
709
|
projectedParameterRange(ray, lowHigh) {
|
|
687
710
|
return PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|