@itwin/core-geometry 5.3.0-dev.2 → 5.3.0-dev.23
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 +21 -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.js.map +1 -1
- package/lib/cjs/curve/Arc3d.d.ts +15 -1
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
- package/lib/cjs/curve/Arc3d.js +36 -9
- package/lib/cjs/curve/Arc3d.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/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.d.ts +25 -8
- package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
- package/lib/cjs/curve/CurveFactory.js +51 -55
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurveOps.d.ts +2 -5
- package/lib/cjs/curve/CurveOps.d.ts.map +1 -1
- package/lib/cjs/curve/CurveOps.js +2 -5
- package/lib/cjs/curve/CurveOps.js.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
- package/lib/cjs/curve/CurveProcessor.js.map +1 -1
- package/lib/cjs/curve/CurveTypes.js.map +1 -1
- package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/cjs/curve/GeometryQuery.js.map +1 -1
- package/lib/cjs/curve/LineSegment3d.js.map +1 -1
- package/lib/cjs/curve/LineString3d.js.map +1 -1
- package/lib/cjs/curve/Loop.js.map +1 -1
- package/lib/cjs/curve/OffsetOptions.js.map +1 -1
- package/lib/cjs/curve/ParityRegion.js.map +1 -1
- package/lib/cjs/curve/Path.js.map +1 -1
- package/lib/cjs/curve/PointString3d.js.map +1 -1
- 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.d.ts +50 -15
- package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
- package/lib/cjs/curve/Query/PlanarSubdivision.js +102 -84
- 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.js.map +1 -1
- package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
- package/lib/cjs/curve/RegionOps.d.ts +44 -25
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +74 -39
- 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 +8 -8
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/UnionRegion.js.map +1 -1
- package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/ChainCollectorContext.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/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +102 -92
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.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/EllipticalArcApproximationContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
- 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.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.js.map +1 -1
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +10 -13
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js +23 -22
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/ClothoidSeries.d.ts +10 -6
- package/lib/cjs/curve/spiral/ClothoidSeries.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/ClothoidSeries.js +36 -19
- package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/cjs/curve/spiral/CubicEvaluator.d.ts +7 -6
- package/lib/cjs/curve/spiral/CubicEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/CubicEvaluator.js +29 -14
- package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts +34 -44
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js +47 -53
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +2 -2
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js +17 -7
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +112 -104
- package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js +143 -117
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +71 -53
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +99 -66
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +8 -12
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +11 -13
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/NormalizedTransition.d.ts +36 -29
- package/lib/cjs/curve/spiral/NormalizedTransition.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/NormalizedTransition.js +62 -40
- package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts +13 -18
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js +21 -24
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts +41 -27
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js +50 -33
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +45 -34
- package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js +56 -38
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts +27 -21
- package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js +23 -18
- 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.d.ts +98 -99
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js +123 -111
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +137 -143
- package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js +167 -161
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts +51 -34
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js +16 -6
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +87 -93
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js +41 -38
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- 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.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.d.ts +2 -2
- package/lib/cjs/geometry3d/PolylineOps.js +2 -2
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
- package/lib/cjs/geometry3d/Range.js.map +1 -1
- package/lib/cjs/geometry3d/Ray2d.js.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.d.ts.map +1 -1
- package/lib/cjs/numerics/ClusterableArray.js +2 -2
- 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/SmallSystem.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/IndexedPolyfaceWalker.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/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.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/serialization/SerializationHelpers.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.d.ts +15 -7
- package/lib/cjs/topology/Merging.d.ts.map +1 -1
- package/lib/cjs/topology/Merging.js +15 -10
- 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/Voronoi.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.js.map +1 -1
- package/lib/esm/curve/Arc3d.d.ts +15 -1
- package/lib/esm/curve/Arc3d.d.ts.map +1 -1
- package/lib/esm/curve/Arc3d.js +36 -9
- package/lib/esm/curve/Arc3d.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/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveExtendMode.js.map +1 -1
- package/lib/esm/curve/CurveFactory.d.ts +25 -8
- package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
- package/lib/esm/curve/CurveFactory.js +51 -55
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurveOps.d.ts +2 -5
- package/lib/esm/curve/CurveOps.d.ts.map +1 -1
- package/lib/esm/curve/CurveOps.js +2 -5
- package/lib/esm/curve/CurveOps.js.map +1 -1
- package/lib/esm/curve/CurvePrimitive.js.map +1 -1
- package/lib/esm/curve/CurveProcessor.js.map +1 -1
- package/lib/esm/curve/CurveTypes.js.map +1 -1
- package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/esm/curve/GeometryQuery.js.map +1 -1
- package/lib/esm/curve/LineSegment3d.js.map +1 -1
- package/lib/esm/curve/LineString3d.js.map +1 -1
- package/lib/esm/curve/Loop.js.map +1 -1
- package/lib/esm/curve/OffsetOptions.js.map +1 -1
- package/lib/esm/curve/ParityRegion.js.map +1 -1
- package/lib/esm/curve/Path.js.map +1 -1
- package/lib/esm/curve/PointString3d.js.map +1 -1
- 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.d.ts +50 -15
- package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
- package/lib/esm/curve/Query/PlanarSubdivision.js +102 -84
- 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.js.map +1 -1
- package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
- package/lib/esm/curve/RegionOps.d.ts +44 -25
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +72 -37
- 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 +8 -8
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/UnionRegion.js.map +1 -1
- package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/ChainCollectorContext.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/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +102 -92
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.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/EllipticalArcApproximationContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
- 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.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/TransferWithSplitArcs.js.map +1 -1
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +10 -13
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js +23 -22
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts +10 -6
- package/lib/esm/curve/spiral/ClothoidSeries.d.ts.map +1 -1
- package/lib/esm/curve/spiral/ClothoidSeries.js +36 -19
- package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts +7 -6
- package/lib/esm/curve/spiral/CubicEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/CubicEvaluator.js +29 -14
- package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts +34 -44
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js +47 -53
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +2 -2
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js +17 -7
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +112 -104
- package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js +143 -117
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +71 -53
- package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +99 -66
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +8 -12
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +11 -13
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts +36 -29
- package/lib/esm/curve/spiral/NormalizedTransition.d.ts.map +1 -1
- package/lib/esm/curve/spiral/NormalizedTransition.js +62 -40
- package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts +13 -18
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js +21 -24
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +41 -27
- package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js +50 -33
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +45 -34
- package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.js +56 -38
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts +27 -21
- package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.js +23 -18
- 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.d.ts +98 -99
- package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js +124 -112
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts +137 -143
- package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js +167 -161
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts +51 -34
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js +14 -5
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +87 -93
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js +41 -38
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- 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.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.d.ts +2 -2
- package/lib/esm/geometry3d/PolylineOps.js +2 -2
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
- package/lib/esm/geometry3d/Range.js.map +1 -1
- package/lib/esm/geometry3d/Ray2d.js.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.d.ts.map +1 -1
- package/lib/esm/numerics/ClusterableArray.js +2 -2
- 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/SmallSystem.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/IndexedPolyfaceWalker.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/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
- package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.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/serialization/SerializationHelpers.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.d.ts +15 -7
- package/lib/esm/topology/Merging.d.ts.map +1 -1
- package/lib/esm/topology/Merging.js +15 -10
- 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/Voronoi.js.map +1 -1
- package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
- package/package.json +3 -3
|
@@ -18,10 +18,10 @@ import { MXCubicAlongArcEvaluator } from "./MXCubicAlongArcSpiralEvaluator";
|
|
|
18
18
|
import { PolishCubicEvaluator } from "./PolishCubicSpiralEvaluator";
|
|
19
19
|
import { TransitionSpiral3d } from "./TransitionSpiral3d";
|
|
20
20
|
/**
|
|
21
|
-
* DirectSpiral3d acts like a TransitionSpiral3d for serialization purposes, but implements spiral types that have
|
|
22
|
-
* for IntegratedSpiral3d.
|
|
21
|
+
* DirectSpiral3d acts like a TransitionSpiral3d for serialization purposes, but implements spiral types that have
|
|
22
|
+
* "direct" xy calculations without the integrations required for IntegratedSpiral3d.
|
|
23
23
|
* * Each DirectSpiral3d carries an XYCurveEvaluator to give it specialized behavior.
|
|
24
|
-
* * Direct spirals that flow through serialization to native imodel02 are
|
|
24
|
+
* * Direct spirals that flow through serialization to native imodel02 are created with these static methods:
|
|
25
25
|
* * createArema
|
|
26
26
|
* * createJapaneseCubic
|
|
27
27
|
* * createAustralianRail
|
|
@@ -34,32 +34,45 @@ import { TransitionSpiral3d } from "./TransitionSpiral3d";
|
|
|
34
34
|
* @public
|
|
35
35
|
*/
|
|
36
36
|
export class DirectSpiral3d extends TransitionSpiral3d {
|
|
37
|
-
/** String name for schema properties */
|
|
37
|
+
/** String name for schema properties. */
|
|
38
38
|
curvePrimitiveType = "transitionSpiral";
|
|
39
|
-
/**
|
|
39
|
+
/** Stroked approximation of entire spiral. This is AFTER the localToWorld transform. */
|
|
40
40
|
_globalStrokes;
|
|
41
|
-
/**
|
|
42
|
-
*
|
|
43
|
-
* *
|
|
41
|
+
/**
|
|
42
|
+
* Stroked approximation of active spiral. This is AFTER the localToWorld transform.
|
|
43
|
+
* * Same count as global; possibly overly fine, but it gives some consistency between same clothoid constructed as
|
|
44
|
+
* partial versus complete.
|
|
45
|
+
* * If no trimming, this points to the same place as the _globalStrokes. DO NOT double transform.
|
|
44
46
|
*/
|
|
45
47
|
_activeStrokes;
|
|
46
|
-
/** Return the internal stroked form of the (possibly partial) spiral
|
|
47
|
-
get activeStrokes() {
|
|
48
|
+
/** Return the internal stroked form of the (possibly partial) spiral. */
|
|
49
|
+
get activeStrokes() {
|
|
50
|
+
return this._activeStrokes !== undefined ? this._activeStrokes : this._globalStrokes;
|
|
51
|
+
}
|
|
48
52
|
_nominalL1;
|
|
49
53
|
_nominalR1;
|
|
50
54
|
_evaluator;
|
|
51
55
|
/** Return the nominal end radius. */
|
|
52
|
-
get nominalR1() {
|
|
56
|
+
get nominalR1() {
|
|
57
|
+
return this._nominalR1;
|
|
58
|
+
}
|
|
53
59
|
/** Return the nominal distance from inflection to endpoint. */
|
|
54
|
-
get nominalL1() {
|
|
60
|
+
get nominalL1() {
|
|
61
|
+
return this._nominalL1;
|
|
62
|
+
}
|
|
55
63
|
/** Return the nominal end curvature */
|
|
56
|
-
get nominalCurvature1() {
|
|
57
|
-
|
|
64
|
+
get nominalCurvature1() {
|
|
65
|
+
return TransitionSpiral3d.radiusToCurvature(this._nominalR1);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Return the low level evaluator.
|
|
58
69
|
* @internal
|
|
59
70
|
*/
|
|
60
|
-
get evaluator() {
|
|
71
|
+
get evaluator() {
|
|
72
|
+
return this._evaluator;
|
|
73
|
+
}
|
|
61
74
|
// constructor demands radius1 and distance1 for nominal construction.
|
|
62
|
-
// caller is responsible for managing intervals of partial spiral
|
|
75
|
+
// caller is responsible for managing intervals of partial spiral.
|
|
63
76
|
constructor(localToWorld, spiralType, originalProperties, nominalL1, nominalR1, activeFractionInterval, evaluator) {
|
|
64
77
|
super(spiralType, localToWorld, activeFractionInterval, originalProperties);
|
|
65
78
|
this._nominalL1 = nominalL1;
|
|
@@ -67,14 +80,16 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
67
80
|
this._evaluator = evaluator;
|
|
68
81
|
this._globalStrokes = LineString3d.create();
|
|
69
82
|
this._activeStrokes = LineString3d.create();
|
|
70
|
-
// initialize for compiler
|
|
83
|
+
// initialize for compiler; but this will be recomputed in refreshComputeProperties
|
|
71
84
|
this.refreshComputedProperties();
|
|
72
85
|
}
|
|
73
86
|
/**
|
|
74
87
|
* Compute stroke data in an interval.
|
|
75
88
|
* @param strokes strokes to clear and refill.
|
|
76
|
-
* @param
|
|
77
|
-
* @param
|
|
89
|
+
* @param fractionA start fraction.
|
|
90
|
+
* @param fractionB end fraction.
|
|
91
|
+
* @param numInterval number of intervals.
|
|
92
|
+
* @param applyLocalToWorld if true, apply the localToWorld transform.
|
|
78
93
|
*/
|
|
79
94
|
computeStrokes(strokes, fractionA, fractionB, numInterval, applyLocalToWorld = true) {
|
|
80
95
|
if (numInterval < 1)
|
|
@@ -103,7 +118,7 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
103
118
|
trueDistance0 = trueDistance1;
|
|
104
119
|
}
|
|
105
120
|
}
|
|
106
|
-
/** Recompute strokes */
|
|
121
|
+
/** Recompute strokes. */
|
|
107
122
|
refreshComputedProperties() {
|
|
108
123
|
const sweepRadians = this.nominalL1 / (2.0 * this.nominalR1);
|
|
109
124
|
const radiansStep = 0.02;
|
|
@@ -115,12 +130,14 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
115
130
|
}
|
|
116
131
|
/**
|
|
117
132
|
* Create a spiral object which uses numXTerm terms from the clothoid X series and numYTerm from the clothoid Y series.
|
|
118
|
-
* @param
|
|
133
|
+
* @param spiralType type of spiral.
|
|
134
|
+
* @param localToWorld placement frame. Inflection point is at origin, initial direction is along x axis.
|
|
135
|
+
* @param numXTerm number of terms to use from X series
|
|
119
136
|
* @param numYTerm number of terms to use from Y series
|
|
120
|
-
* @param
|
|
137
|
+
* @param originalProperties (optional) transition conditional properties.
|
|
121
138
|
* @param nominalL1 design distance from inflection to end point.
|
|
122
139
|
* @param nominalR1 design radius at end point.
|
|
123
|
-
* @param activeInterval active interval (as fractions of nominalL1
|
|
140
|
+
* @param activeInterval (optional) active interval (as fractions of nominalL1)
|
|
124
141
|
*/
|
|
125
142
|
static createTruncatedClothoid(spiralType, localToWorld, numXTerm, numYTerm, originalProperties, nominalL1, nominalR1, activeInterval) {
|
|
126
143
|
if (numXTerm < 1)
|
|
@@ -130,29 +147,16 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
130
147
|
const evaluator = new ClothoidSeriesRLEvaluator(nominalL1, 1.0 / (2.0 * nominalL1 * nominalR1), numXTerm, numYTerm);
|
|
131
148
|
return new DirectSpiral3d(localToWorld.clone(), spiralType, originalProperties, nominalL1, nominalR1, activeInterval ? activeInterval.clone() : Segment1d.create(0, 1), evaluator);
|
|
132
149
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Create an Japanese spiral clothoid approximation
|
|
135
|
-
* * X is 1 terms of the clothoid series as a function of nominal distance along.
|
|
136
|
-
* * Y is 1 terms f the clothoid series as a function of nominal distance along.
|
|
137
|
-
* * Remark: This is identical to the ChineseCubic
|
|
138
|
-
* @param localToWorld axes with inflection at origin, tangent along x axis
|
|
139
|
-
* @param nominalL1 nominal length as used in series LR terms.
|
|
140
|
-
* @param nominalR1 nominal final radius as used in series LR terms
|
|
141
|
-
* @param activeInterval fractional interval with (0, nominalL1) range for nominal distance along
|
|
142
|
-
*/
|
|
143
|
-
static createJapaneseCubic(localToWorld, nominalL1, nominalR1, activeInterval) {
|
|
144
|
-
return this.createTruncatedClothoid("JapaneseCubic", localToWorld, 1, 1, undefined, nominalL1, nominalR1, activeInterval);
|
|
145
|
-
}
|
|
146
150
|
/**
|
|
147
151
|
* Create a czech cubic.
|
|
148
|
-
* This is y= m*x^3 with
|
|
149
|
-
* * x any point on the x axis
|
|
150
|
-
* * `fraction` along the spiral goes to `x = fraction * L
|
|
151
|
-
* * m is gamma
|
|
152
|
+
* This is y = m*x^3 with
|
|
153
|
+
* * x any point on the x axis.
|
|
154
|
+
* * `fraction` along the spiral goes to `x = fraction * L`.
|
|
155
|
+
* * m is gamma/(6RL).
|
|
152
156
|
* * 1/(6RL) is the leading term of the sine series.
|
|
153
|
-
* * `gamma = 2R/sqrt
|
|
157
|
+
* * `gamma = 2R/sqrt(4RR-LL)` pushes y up a little bit to simulate the lost series terms.
|
|
154
158
|
* @param localToWorld
|
|
155
|
-
* @param nominalLx nominal length along x axis
|
|
159
|
+
* @param nominalLx nominal length along x axis.
|
|
156
160
|
* @param nominalR1
|
|
157
161
|
* @param activeInterval
|
|
158
162
|
*/
|
|
@@ -164,15 +168,14 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
164
168
|
}
|
|
165
169
|
/**
|
|
166
170
|
* Create an italian spiral
|
|
167
|
-
* This is y= m*x^3 with
|
|
168
|
-
* * x any point on the x axis
|
|
169
|
-
* * `fraction` along the spiral goes to `x = fraction * L
|
|
170
|
-
* * m is gamma
|
|
171
|
+
* This is y = m*x^3 with
|
|
172
|
+
* * x any point on the x axis.
|
|
173
|
+
* * `fraction` along the spiral goes to `x = fraction * L`.
|
|
174
|
+
* * m is gamma/(6RL).
|
|
171
175
|
* * 1/(6RL) is the leading term of the sine series.
|
|
172
|
-
* * `gamma = 2R/sqrt
|
|
173
|
-
* * L in gamma and m is the
|
|
176
|
+
* * `gamma = 2R/sqrt(4RR-LL)` pushes y up a little bit to simulate the lost series terms.
|
|
174
177
|
* @param localToWorld
|
|
175
|
-
* @param nominalL1 nominal length along the spiral
|
|
178
|
+
* @param nominalL1 nominal length along the spiral.
|
|
176
179
|
* @param nominalR1
|
|
177
180
|
* @param activeInterval
|
|
178
181
|
*/
|
|
@@ -184,12 +187,12 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
184
187
|
}
|
|
185
188
|
/**
|
|
186
189
|
* Create an MX Cubic whose nominal length is close to along the curve.
|
|
187
|
-
* This is y= m*x^3 with
|
|
188
|
-
* * m is 1/
|
|
190
|
+
* This is y = m*x^3 with
|
|
191
|
+
* * m is 1/(6RL1).
|
|
189
192
|
* * 1/(6RL) is the leading term of the sine series.
|
|
190
|
-
* * L1 is an along-the-x-axis distance that is slightly LESS THAN the nominal length
|
|
191
|
-
* * x is axis position that is slightly LESS than nominal distance along
|
|
192
|
-
* * L1, x use the approximation
|
|
193
|
+
* * L1 is an along-the-x-axis distance that is slightly LESS THAN the nominal length.
|
|
194
|
+
* * x is axis position that is slightly LESS than nominal distance along.
|
|
195
|
+
* * L1, x use the approximation `x = s * ( 1 - s^4/ (40 R R L L))
|
|
193
196
|
* @param localToWorld
|
|
194
197
|
* @param nominalL1
|
|
195
198
|
* @param nominalR1
|
|
@@ -203,12 +206,12 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
203
206
|
}
|
|
204
207
|
/**
|
|
205
208
|
* Create a polish cubic
|
|
206
|
-
* This is y= m*x^3 with
|
|
207
|
-
* * m is 1/
|
|
209
|
+
* This is y = m*x^3 with
|
|
210
|
+
* * m is 1/(6RL).
|
|
208
211
|
* * 1/(6RL) is the leading term of the sine series.
|
|
209
|
-
* * L is nominal length
|
|
212
|
+
* * L is nominal length.
|
|
210
213
|
* * R is nominal end radius.
|
|
211
|
-
* * x ranges up to the x axis distance for which the polish distance series produces f(x)=L
|
|
214
|
+
* * x ranges up to the x axis distance for which the polish distance series produces f(x) = L.
|
|
212
215
|
* * The support class PolishCubicEvaluator has static methods for the distance series and its inversion.
|
|
213
216
|
*/
|
|
214
217
|
static createPolishCubic(localToWorld, nominalL1, nominalR1, activeInterval) {
|
|
@@ -219,12 +222,12 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
219
222
|
}
|
|
220
223
|
/**
|
|
221
224
|
* Create an AustralianRailCorp spiral
|
|
222
|
-
* This is y= m*x^3 with
|
|
223
|
-
* * x any point on the x axis
|
|
224
|
-
* * `fraction` along the spiral goes to `x = fraction * L
|
|
225
|
-
* * m is gamma
|
|
225
|
+
* This is y = m*x^3 with
|
|
226
|
+
* * x any point on the x axis.
|
|
227
|
+
* * `fraction` along the spiral goes to `x = fraction * L`.
|
|
228
|
+
* * m is gamma/(6RL).
|
|
226
229
|
* * 1/(6RL) is the leading term of the sine series.
|
|
227
|
-
* * `gamma = 2R/sqrt
|
|
230
|
+
* * `gamma = 2R/sqrt(4RR-LL)` pushes y up a little bit to simulate the lost series terms.
|
|
228
231
|
* @param localToWorld
|
|
229
232
|
* @param nominalL1
|
|
230
233
|
* @param nominalR1
|
|
@@ -237,64 +240,78 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
237
240
|
return new DirectSpiral3d(localToWorld.clone(), "AustralianRailCorp", undefined, nominalL1, nominalR1, activeInterval ? activeInterval.clone() : Segment1d.create(0, 1), evaluator);
|
|
238
241
|
}
|
|
239
242
|
static createDirectHalfCosine(localToWorld, nominalL1, nominalR1, activeInterval) {
|
|
240
|
-
return new
|
|
243
|
+
return new DirectSpiral3d(localToWorld, "HalfCosine", undefined, nominalL1, nominalR1, activeInterval, new DirectHalfCosineSpiralEvaluator(nominalL1, nominalR1));
|
|
241
244
|
}
|
|
242
245
|
/**
|
|
243
246
|
* Create an Arema spiral clothoid approximation
|
|
244
|
-
* * X is 2 terms of the clothoid series as a function of nominal distance along
|
|
245
|
-
* * Y is 2 terms f the clothoid series as a function of nominal distance along
|
|
246
|
-
* * Remark: This is identical to the ChineseCubic
|
|
247
|
-
* @param localToWorld axes with inflection at origin, tangent along x axis
|
|
247
|
+
* * X is 2 terms of the clothoid series as a function of nominal distance along.
|
|
248
|
+
* * Y is 2 terms f the clothoid series as a function of nominal distance along.
|
|
249
|
+
* * Remark: This is identical to the ChineseCubic.
|
|
250
|
+
* @param localToWorld axes with inflection at origin, tangent along x axis.
|
|
248
251
|
* @param nominalL1 nominal length as used in series LR terms.
|
|
249
|
-
* @param nominalR1 nominal final radius as used in series LR terms
|
|
250
|
-
* @param activeInterval fractional interval with (0, nominalL1) range for nominal distance along
|
|
252
|
+
* @param nominalR1 nominal final radius as used in series LR terms.
|
|
253
|
+
* @param activeInterval fractional interval with (0, nominalL1) range for nominal distance along.
|
|
251
254
|
*/
|
|
252
255
|
static createArema(localToWorld, nominalL1, nominalR1, activeInterval) {
|
|
253
256
|
return this.createTruncatedClothoid("Arema", localToWorld, 2, 2, undefined, nominalL1, nominalR1, activeInterval);
|
|
254
257
|
}
|
|
255
258
|
/**
|
|
256
|
-
* Create a
|
|
257
|
-
* * X is
|
|
258
|
-
* * Y is
|
|
259
|
-
* * Remark: This is identical to the
|
|
260
|
-
* @param localToWorld axes with inflection at origin, tangent along x axis
|
|
259
|
+
* Create a Japanese spiral clothoid approximation.
|
|
260
|
+
* * X is 1 terms of the clothoid series as a function of nominal distance along.
|
|
261
|
+
* * Y is 1 terms of the clothoid series as a function of nominal distance along.
|
|
262
|
+
* * Remark: This is identical to the ChineseCubic.
|
|
263
|
+
* @param localToWorld axes with inflection at origin, tangent along x axis.
|
|
261
264
|
* @param nominalL1 nominal length as used in series LR terms.
|
|
262
|
-
* @param nominalR1 nominal final radius as used in series LR terms
|
|
265
|
+
* @param nominalR1 nominal final radius as used in series LR terms.
|
|
263
266
|
* @param activeInterval fractional interval with (0, nominalL1) range for nominal distance along
|
|
264
267
|
*/
|
|
268
|
+
static createJapaneseCubic(localToWorld, nominalL1, nominalR1, activeInterval) {
|
|
269
|
+
return this.createTruncatedClothoid("JapaneseCubic", localToWorld, 1, 1, undefined, nominalL1, nominalR1, activeInterval);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Create a Chinese clothoid approximation
|
|
273
|
+
* * X is 2 terms of the clothoid series as a function of nominal distance along.
|
|
274
|
+
* * Y is 2 terms f the clothoid series as a function of nominal distance along.
|
|
275
|
+
* * Remark: This is identical to the Arema spiral.
|
|
276
|
+
* @param localToWorld axes with inflection at origin, tangent along x axis.
|
|
277
|
+
* @param nominalL1 nominal length as used in series LR terms.
|
|
278
|
+
* @param nominalR1 nominal final radius as used in series LR terms.
|
|
279
|
+
* @param activeInterval fractional interval with (0, nominalL1) range for nominal distance along.
|
|
280
|
+
*/
|
|
265
281
|
static createChineseCubic(localToWorld, nominalL1, nominalR1, activeInterval) {
|
|
266
282
|
return this.createTruncatedClothoid("ChineseCubic", localToWorld, 2, 2, undefined, nominalL1, nominalR1, activeInterval);
|
|
267
283
|
}
|
|
268
284
|
/**
|
|
269
285
|
* Create a Western Australian direct spiral.
|
|
270
|
-
* * X is 2 terms of the clothoid series as a function of distance along
|
|
271
|
-
* * Y is 1 term (cubic in nominal distance along)
|
|
272
|
-
* @param localToWorld axes with inflection at origin, tangent along x axis
|
|
286
|
+
* * X is 2 terms of the clothoid series as a function of distance along.
|
|
287
|
+
* * Y is 1 term (cubic in nominal distance along).
|
|
288
|
+
* @param localToWorld axes with inflection at origin, tangent along x axis.
|
|
273
289
|
* @param nominalL1 nominal length as used in series LR terms.
|
|
274
|
-
* @param nominalR1 nominal final radius as used in series LR terms
|
|
275
|
-
* @param activeInterval fractional interval with (0, nominalL1) range for nominal distance along
|
|
290
|
+
* @param nominalR1 nominal final radius as used in series LR terms.
|
|
291
|
+
* @param activeInterval fractional interval with (0, nominalL1) range for nominal distance along.
|
|
276
292
|
*/
|
|
277
293
|
static createWesternAustralian(localToWorld, nominalL1, nominalR1, activeInterval) {
|
|
278
294
|
return this.createTruncatedClothoid("WesternAustralian", localToWorld, 2, 1, undefined, nominalL1, nominalR1, activeInterval);
|
|
279
295
|
}
|
|
280
296
|
/**
|
|
281
297
|
* Create (if possible) a DirectSpiral3d, applying various strict conditions appropriate to the spiral type.
|
|
282
|
-
* The parameter list includes extraneous values in order to directly match IntegratedSpiral3d.create, which has
|
|
283
|
-
*
|
|
284
|
-
* * IMPORTANT RESTRICTIONS
|
|
298
|
+
* The parameter list includes extraneous values in order to directly match IntegratedSpiral3d.create, which has
|
|
299
|
+
* greater flexibility about mixtures of values.
|
|
300
|
+
* * IMPORTANT RESTRICTIONS:
|
|
285
301
|
* * Direct spirals must have the inflection at the origin of their coordinate system, aligned with the x axis.
|
|
286
|
-
* * hence bearing0 = 0
|
|
287
|
-
* * hence radius0 = 0
|
|
288
|
-
* * bearing1 is ignored
|
|
302
|
+
* * hence bearing0 = 0.
|
|
303
|
+
* * hence radius0 = 0.
|
|
304
|
+
* * bearing1 is ignored.
|
|
289
305
|
* * radius1 must be given.
|
|
290
306
|
* * arcLength must be given,
|
|
291
|
-
* @param spiralType one of the types in `
|
|
292
|
-
* @param radius0 radius (or 0 for tangent to line) at start.
|
|
307
|
+
* @param spiralType one of the types in `DirectSpiralTypeName`
|
|
308
|
+
* @param radius0 radius (or 0 for tangent to line) at start. Must be ZERO or UNDEFINED
|
|
293
309
|
* @param radius1 radius (or 0 for tangent to line) at end.
|
|
294
|
-
* @param bearing0 bearing, measured CCW from x axis at start.
|
|
295
|
-
* @param bearing1 bearing, measured CCW from x axis at end.
|
|
296
|
-
* @param fractionInterval optional fractional interval for an "active" portion of the curve.
|
|
297
|
-
*
|
|
310
|
+
* @param bearing0 bearing, measured CCW from x axis at start. Must be ZERO or UNDEFINED
|
|
311
|
+
* @param bearing1 bearing, measured CCW from x axis at end. IGNORED.
|
|
312
|
+
* @param fractionInterval (optional) fractional interval for an "active" portion of the curve. If omitted, the
|
|
313
|
+
* full [0,1] is used.
|
|
314
|
+
* @param localToWorld placement transform.
|
|
298
315
|
*/
|
|
299
316
|
static createFromLengthAndRadius(spiralType, radius0, radius1, bearing0, _bearing1, arcLength, activeInterval, localToWorld) {
|
|
300
317
|
if (bearing0 !== undefined && !bearing0.isAlmostZero)
|
|
@@ -327,11 +344,11 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
327
344
|
return this.createPolishCubic(localToWorld, arcLength, radius1, activeInterval);
|
|
328
345
|
return undefined;
|
|
329
346
|
}
|
|
330
|
-
/** Deep clone of this spiral */
|
|
347
|
+
/** Deep clone of this spiral. */
|
|
331
348
|
clone() {
|
|
332
349
|
return new DirectSpiral3d(this.localToWorld.clone(), this._spiralType, this.designProperties?.clone(), this._nominalL1, this._nominalR1, this._activeFractionInterval?.clone(), this._evaluator.clone());
|
|
333
350
|
}
|
|
334
|
-
/**
|
|
351
|
+
/** Apply `transform` to this spiral's local to world transform. */
|
|
335
352
|
tryTransformInPlace(transformA) {
|
|
336
353
|
const rigidData = this.applyRigidPartOfTransform(transformA);
|
|
337
354
|
if (rigidData !== undefined) {
|
|
@@ -346,17 +363,18 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
346
363
|
startPoint(result) {
|
|
347
364
|
return this.activeStrokes.startPoint(result);
|
|
348
365
|
}
|
|
349
|
-
/**
|
|
366
|
+
/** Return the spiral end point. */
|
|
350
367
|
endPoint(result) {
|
|
351
368
|
return this.activeStrokes.endPoint(result);
|
|
352
369
|
}
|
|
353
|
-
/**
|
|
370
|
+
/** Test if the local to world transform places the spiral xy plane into `plane`. */
|
|
354
371
|
isInPlane(plane) {
|
|
355
372
|
return plane.isPointInPlane(this.localToWorld.origin)
|
|
356
373
|
&& Geometry.isSameCoordinate(0.0, this.localToWorld.matrix.dotColumnX(plane.getNormalRef()))
|
|
357
374
|
&& Geometry.isSameCoordinate(0.0, this.localToWorld.matrix.dotColumnY(plane.getNormalRef()));
|
|
358
375
|
}
|
|
359
|
-
/**
|
|
376
|
+
/**
|
|
377
|
+
* Return quick length of the spiral.
|
|
360
378
|
* The tangent vector of a true clothoid is length 1 everywhere, so simple proportion of nominalL1 is a good approximation.
|
|
361
379
|
*/
|
|
362
380
|
quickLength() {
|
|
@@ -364,18 +382,24 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
364
382
|
const n = distanceData.length;
|
|
365
383
|
return distanceData.getYAtUncheckedPointIndex(n - 1);
|
|
366
384
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
//
|
|
385
|
+
// We claim true length is stored at the back of `packedUVParams`.
|
|
386
|
+
// Nevertheless defer to the generic integrator in the default implementation.
|
|
387
|
+
// public override curveLength() {
|
|
388
|
+
// return this.quickLength();
|
|
389
|
+
// }
|
|
371
390
|
/** Test if `other` is an instance of `TransitionSpiral3d` */
|
|
372
|
-
isSameGeometryClass(other) {
|
|
373
|
-
|
|
374
|
-
|
|
391
|
+
isSameGeometryClass(other) {
|
|
392
|
+
return other instanceof TransitionSpiral3d;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Add strokes from this spiral to `dest`.
|
|
396
|
+
* * Line strings will usually stroke as just their points.
|
|
375
397
|
* * If maxEdgeLength is given, this will sub-stroke within the linestring -- not what we want.
|
|
376
398
|
*/
|
|
377
|
-
emitStrokes(dest, options) {
|
|
378
|
-
|
|
399
|
+
emitStrokes(dest, options) {
|
|
400
|
+
this.activeStrokes.emitStrokes(dest, options);
|
|
401
|
+
}
|
|
402
|
+
/** Emit stroke fragments to `dest` handler. */
|
|
379
403
|
emitStrokableParts(dest, options) {
|
|
380
404
|
const n = this.computeStrokeCountForOptions(options);
|
|
381
405
|
const activeStrokes = this.activeStrokes;
|
|
@@ -396,8 +420,8 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
396
420
|
dest.endParentCurvePrimitive(this);
|
|
397
421
|
}
|
|
398
422
|
/**
|
|
399
|
-
*
|
|
400
|
-
* @param options StrokeOptions that determine count
|
|
423
|
+
* Return the stroke count required for given options.
|
|
424
|
+
* @param options StrokeOptions that determine count.
|
|
401
425
|
*/
|
|
402
426
|
computeStrokeCountForOptions(options) {
|
|
403
427
|
let numStroke;
|
|
@@ -414,8 +438,9 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
414
438
|
numStroke = Math.ceil(this._activeFractionInterval.absoluteDelta() * numStroke);
|
|
415
439
|
return numStroke;
|
|
416
440
|
}
|
|
417
|
-
/**
|
|
418
|
-
*
|
|
441
|
+
/**
|
|
442
|
+
* Reverse the active interval and active strokes.
|
|
443
|
+
* * Primary defining data remains unchanged.
|
|
419
444
|
*/
|
|
420
445
|
reverseInPlace() {
|
|
421
446
|
this._activeFractionInterval.reverseInPlace();
|
|
@@ -438,10 +463,11 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
438
463
|
result.transformInPlace(this.localToWorld);
|
|
439
464
|
return result;
|
|
440
465
|
}
|
|
441
|
-
/**
|
|
442
|
-
*
|
|
443
|
-
* * origin at fractional position along the curve
|
|
444
|
-
* * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
|
|
466
|
+
/**
|
|
467
|
+
* Return a plane with
|
|
468
|
+
* * origin at fractional position along the curve.
|
|
469
|
+
* * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
|
|
470
|
+
* the fraction.
|
|
445
471
|
* * vectorV is the second derivative, i.e.derivative of vectorU.
|
|
446
472
|
*/
|
|
447
473
|
fractionToPointAnd2Derivatives(activeFraction, result) {
|
|
@@ -453,11 +479,11 @@ export class DirectSpiral3d extends TransitionSpiral3d {
|
|
|
453
479
|
result.transformInPlace(this.localToWorld);
|
|
454
480
|
return result;
|
|
455
481
|
}
|
|
456
|
-
/** Second step of double dispatch:
|
|
482
|
+
/** Second step of double dispatch: call `handler.handleTransitionSpiral(this)`. */
|
|
457
483
|
dispatchToGeometryHandler(handler) {
|
|
458
484
|
return handler.handleTransitionSpiral(this);
|
|
459
485
|
}
|
|
460
|
-
/**
|
|
486
|
+
/** Compare various coordinate quantities. */
|
|
461
487
|
isAlmostEqual(other) {
|
|
462
488
|
if (other instanceof DirectSpiral3d) {
|
|
463
489
|
return Geometry.isSameCoordinate(this._nominalL1, other._nominalL1)
|