@itwin/core-geometry 4.0.0-dev.54 → 4.0.0-dev.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/Constant.js.map +1 -1
- package/lib/cjs/Geometry.d.ts +5 -1
- package/lib/cjs/Geometry.d.ts.map +1 -1
- package/lib/cjs/Geometry.js +5 -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.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.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/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.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/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/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.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.js.map +1 -1
- 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/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.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/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.d.ts +29 -34
- package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Angle.js +31 -36
- package/lib/cjs/geometry3d/Angle.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.d.ts +48 -43
- package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js +48 -43
- 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 +5 -8
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +5 -8
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts +3 -3
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.js +3 -3
- package/lib/cjs/geometry3d/OrderedRotationAngles.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.d.ts +8 -10
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js +8 -10
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.d.ts +37 -34
- package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.js +38 -35
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts +17 -21
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js +16 -20
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +84 -67
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +84 -67
- 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.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.d.ts +76 -66
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Transform.js +88 -77
- 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.d.ts +15 -16
- package/lib/cjs/geometry3d/YawPitchRollAngles.d.ts.map +1 -1
- package/lib/cjs/geometry3d/YawPitchRollAngles.js +14 -15
- 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.d.ts +72 -58
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js +132 -108
- 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.d.ts +5 -1
- package/lib/esm/Geometry.d.ts.map +1 -1
- package/lib/esm/Geometry.js +5 -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.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.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/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.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/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/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.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.js.map +1 -1
- 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/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.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/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.d.ts +29 -34
- package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
- package/lib/esm/geometry3d/Angle.js +31 -36
- package/lib/esm/geometry3d/Angle.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.d.ts +48 -43
- package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js +48 -43
- 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 +5 -8
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +5 -8
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts +3 -3
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.js +3 -3
- package/lib/esm/geometry3d/OrderedRotationAngles.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.d.ts +8 -10
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js +8 -10
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.d.ts +37 -34
- package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.js +38 -35
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +17 -21
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js +16 -20
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +84 -67
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +84 -67
- 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.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.d.ts +76 -66
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
- package/lib/esm/geometry3d/Transform.js +88 -77
- 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.d.ts +15 -16
- package/lib/esm/geometry3d/YawPitchRollAngles.d.ts.map +1 -1
- package/lib/esm/geometry3d/YawPitchRollAngles.js +14 -15
- 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.d.ts +72 -58
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js +132 -108
- 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
|
@@ -39,13 +39,15 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
39
39
|
get startAngle(): Angle;
|
|
40
40
|
/** Return the (strongly typed) end angle */
|
|
41
41
|
get endAngle(): Angle;
|
|
42
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Create a sweep as one of
|
|
43
44
|
* * A clone of a given sweep
|
|
44
45
|
* * 0 to given angle
|
|
45
46
|
* * full circle if no arg given (sweep 0 to 360 degrees)
|
|
46
47
|
*/
|
|
47
48
|
static create(data?: AngleSweep | Angle): AngleSweep;
|
|
48
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* (private) constructor with start and end angles in radians.
|
|
49
51
|
* * Use explicitly named static methods to clarify intent and units of inputs:
|
|
50
52
|
*
|
|
51
53
|
* * createStartEndRadians (startRadians:number, endRadians:number)
|
|
@@ -57,46 +59,45 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
57
59
|
*/
|
|
58
60
|
private constructor();
|
|
59
61
|
/**
|
|
60
|
-
*
|
|
62
|
+
* Directly set the start and end angles in radians
|
|
61
63
|
* * If the difference between startRadians and endRadians is greater than 360, the function limits the angle sweep to 360.
|
|
62
|
-
|
|
64
|
+
*/
|
|
63
65
|
setStartEndRadians(startRadians?: number, endRadians?: number): void;
|
|
64
|
-
/**
|
|
66
|
+
/** Directly set the start and end angles in degrees */
|
|
65
67
|
setStartEndDegrees(startDegrees?: number, endDegrees?: number): void;
|
|
66
68
|
/**
|
|
67
|
-
*
|
|
69
|
+
* Create an AngleSweep from start and end angles given in radians.
|
|
68
70
|
* * If the difference between startRadians and endRadians is greater than 360, the function limits the angle sweep to 360.
|
|
69
|
-
|
|
71
|
+
*/
|
|
70
72
|
static createStartEndRadians(startRadians?: number, endRadians?: number, result?: AngleSweep): AngleSweep;
|
|
71
73
|
/** Return the angle obtained by subtracting radians from this angle. */
|
|
72
74
|
cloneMinusRadians(radians: number): AngleSweep;
|
|
73
|
-
/**
|
|
75
|
+
/** Create an AngleSweep from start and end angles given in degrees. */
|
|
74
76
|
static createStartEndDegrees(startDegrees?: number, endDegrees?: number, result?: AngleSweep): AngleSweep;
|
|
75
|
-
/**
|
|
77
|
+
/** Create an angle sweep from strongly typed start and end angles */
|
|
76
78
|
static createStartEnd(startAngle: Angle, endAngle: Angle, result?: AngleSweep): AngleSweep;
|
|
77
|
-
/**
|
|
79
|
+
/** Create an AngleSweep from start and end angles given in radians. */
|
|
78
80
|
static createStartSweepRadians(startRadians?: number, sweepRadians?: number, result?: AngleSweep): AngleSweep;
|
|
79
|
-
/**
|
|
81
|
+
/** Create an AngleSweep from start and sweep given in degrees. */
|
|
80
82
|
static createStartSweepDegrees(startDegrees?: number, sweepDegrees?: number, result?: AngleSweep): AngleSweep;
|
|
81
83
|
/** Create an angle sweep with limits given as (strongly typed) angles for start and sweep */
|
|
82
84
|
static createStartSweep(startAngle: Angle, sweepAngle: Angle, result?: AngleSweep): AngleSweep;
|
|
83
85
|
/** Return a sweep with limits interpolated between this and other. */
|
|
84
86
|
interpolate(fraction: number, other: AngleSweep): AngleSweep;
|
|
85
|
-
/**
|
|
87
|
+
/** Copy from other AngleSweep. */
|
|
86
88
|
setFrom(other: AngleSweep): void;
|
|
87
|
-
/**
|
|
89
|
+
/** Create a full circle sweep (CCW). startRadians defaults to 0 */
|
|
88
90
|
static create360(startRadians?: number): AngleSweep;
|
|
89
|
-
/**
|
|
91
|
+
/** Create a sweep from the south pole to the north pole (-90 to +90). */
|
|
90
92
|
static createFullLatitude(): AngleSweep;
|
|
91
93
|
/** Reverse the start and end angle in place. */
|
|
92
94
|
reverseInPlace(): void;
|
|
93
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* Return a sweep for the "other" part of the circle.
|
|
94
97
|
* @param reverseDirection true to move backwards (CW) from start to end, false to more forwards (CCW) from start to end.
|
|
95
98
|
*/
|
|
96
99
|
cloneComplement(reverseDirection?: boolean, result?: AngleSweep): AngleSweep;
|
|
97
|
-
/**
|
|
98
|
-
* Restrict start and end angles into the range (-90,+90) in degrees.
|
|
99
|
-
* */
|
|
100
|
+
/** Restrict start and end angles into the range (-90,+90) in degrees */
|
|
100
101
|
capLatitudeInPlace(): void;
|
|
101
102
|
/** Ask if the sweep is counterclockwise, i.e. positive sweep */
|
|
102
103
|
get isCCW(): boolean;
|
|
@@ -104,19 +105,20 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
104
105
|
get isFullCircle(): boolean;
|
|
105
106
|
/** Ask if the sweep is a full sweep from south pole to north pole. */
|
|
106
107
|
get isFullLatitudeSweep(): boolean;
|
|
107
|
-
/**
|
|
108
|
+
/** Return a clone of this sweep. */
|
|
108
109
|
clone(): AngleSweep;
|
|
109
110
|
/** Convert fractional position in the sweep to radians. */
|
|
110
111
|
fractionToRadians(fraction: number): number;
|
|
111
112
|
/** Convert fractional position in the sweep to strongly typed Angle object. */
|
|
112
113
|
fractionToAngle(fraction: number): Angle;
|
|
113
|
-
/**
|
|
114
|
+
/**
|
|
115
|
+
* Return 2PI divided by the sweep radians (i.e. 360 degrees divided by sweep angle).
|
|
114
116
|
* * This is the number of fractional intervals required to cover a whole circle.
|
|
115
117
|
*/
|
|
116
118
|
fractionPeriod(): number;
|
|
117
|
-
/**
|
|
119
|
+
/**
|
|
120
|
+
* Return the fractionalized position of the given angle (as Angle) computed without consideration of
|
|
118
121
|
* 2PI period and without consideration of angle sweep direction (CW or CCW).
|
|
119
|
-
*
|
|
120
122
|
* * the start angle is at fraction 0
|
|
121
123
|
* * the end angle is at fraction 1
|
|
122
124
|
* * interior angles are between 0 and 1
|
|
@@ -127,8 +129,8 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
127
129
|
* * does not allow period shift
|
|
128
130
|
*/
|
|
129
131
|
angleToUnboundedFraction(theta: Angle): number;
|
|
130
|
-
/**
|
|
131
|
-
*
|
|
132
|
+
/**
|
|
133
|
+
* Return the fractionalized position of the given angle (as radians), computed with consideration of 2PI period.
|
|
132
134
|
* * consider radians0 as `start` angle of the sweep and radians1 as `end` angle of the sweep
|
|
133
135
|
* * fraction is always positive
|
|
134
136
|
* * the start angle is at fraction 0
|
|
@@ -138,8 +140,8 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
138
140
|
* * allows period shift
|
|
139
141
|
*/
|
|
140
142
|
static radiansToPositivePeriodicFractionStartEnd(radians: number, radians0: number, radians1: number, zeroSweepDefault?: number): number;
|
|
141
|
-
/**
|
|
142
|
-
*
|
|
143
|
+
/**
|
|
144
|
+
* Return the fractionalized position of the given angle (as radians), computed with consideration of 2PI period.
|
|
143
145
|
* * fraction is always positive
|
|
144
146
|
* * the start angle is at fraction 0
|
|
145
147
|
* * the end angle is at fraction 1
|
|
@@ -148,8 +150,8 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
148
150
|
* * allows period shift
|
|
149
151
|
*/
|
|
150
152
|
radiansToPositivePeriodicFraction(radians: number, zeroSweepDefault?: number): number;
|
|
151
|
-
/**
|
|
152
|
-
*
|
|
153
|
+
/**
|
|
154
|
+
* Return the fractionalized position of the given angle (as Angle), computed with consideration of 2PI period.
|
|
153
155
|
* * fraction is always positive
|
|
154
156
|
* * the start angle is at fraction 0
|
|
155
157
|
* * the end angle is at fraction 1
|
|
@@ -158,8 +160,8 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
158
160
|
* * allows period shift
|
|
159
161
|
*/
|
|
160
162
|
angleToPositivePeriodicFraction(theta: Angle): number;
|
|
161
|
-
/**
|
|
162
|
-
*
|
|
163
|
+
/**
|
|
164
|
+
* Return the fractionalized position of the given array of angles (as radian), computed with consideration of 2PI period.
|
|
163
165
|
* * fraction is always positive
|
|
164
166
|
* * the start angle is at fraction 0
|
|
165
167
|
* * the end angle is at fraction 1
|
|
@@ -168,9 +170,9 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
168
170
|
* * allows period shift
|
|
169
171
|
*/
|
|
170
172
|
radiansArrayToPositivePeriodicFractions(data: GrowableFloat64Array): void;
|
|
171
|
-
/**
|
|
173
|
+
/**
|
|
174
|
+
* Return the fractionalized position of the given angle (as radian) computed with consideration of
|
|
172
175
|
* 2PI period and with consideration of angle sweep direction (CW or CCW).
|
|
173
|
-
*
|
|
174
176
|
* * the start angle is at fraction 0
|
|
175
177
|
* * the end angle is at fraction 1
|
|
176
178
|
* * interior angles are between 0 and 1
|
|
@@ -179,9 +181,9 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
179
181
|
* * allows period shift
|
|
180
182
|
*/
|
|
181
183
|
radiansToSignedPeriodicFraction(radians: number): number;
|
|
182
|
-
/**
|
|
184
|
+
/**
|
|
185
|
+
* Return the fractionalized position of the given angle (as Angle) computed with consideration of
|
|
183
186
|
* 2PI period and with consideration of angle sweep direction (CW or CCW).
|
|
184
|
-
*
|
|
185
187
|
* * the start angle is at fraction 0
|
|
186
188
|
* * the end angle is at fraction 1
|
|
187
189
|
* * interior angles are between 0 and 1
|
|
@@ -190,14 +192,14 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
190
192
|
* * allows period shift
|
|
191
193
|
*/
|
|
192
194
|
angleToSignedPeriodicFraction(theta: Angle): number;
|
|
193
|
-
/**
|
|
195
|
+
/** Test if the given angle (as radians) is within sweep (between radians0 and radians1) */
|
|
194
196
|
static isRadiansInStartEnd(radians: number, radians0: number, radians1: number, allowPeriodShift?: boolean): boolean;
|
|
195
|
-
/**
|
|
197
|
+
/** Test if the given angle (as radians) is within sweep */
|
|
196
198
|
isRadiansInSweep(radians: number, allowPeriodShift?: boolean): boolean;
|
|
197
|
-
/**
|
|
199
|
+
/** Test if the given angle (as Angle) is within the sweep */
|
|
198
200
|
isAngleInSweep(angle: Angle): boolean;
|
|
199
|
-
/**
|
|
200
|
-
*
|
|
201
|
+
/**
|
|
202
|
+
* Set this AngleSweep from various sources:
|
|
201
203
|
* * if json is undefined, a full-circle sweep is returned.
|
|
202
204
|
* * If json is an AngleSweep object, it is cloned
|
|
203
205
|
* * If json is an array of 2 numbers, those numbers are start and end angles in degrees.
|
|
@@ -206,22 +208,25 @@ export declare class AngleSweep implements BeJSONFunctions {
|
|
|
206
208
|
* * Otherwise, a full-circle sweep is returned.
|
|
207
209
|
*/
|
|
208
210
|
setFromJSON(json?: any): void;
|
|
209
|
-
/**
|
|
211
|
+
/** Create an AngleSweep from a json object. */
|
|
210
212
|
static fromJSON(json?: AngleSweepProps): AngleSweep;
|
|
211
213
|
/**
|
|
212
214
|
* Convert an AngleSweep to a JSON object.
|
|
213
215
|
* @return {*} {degrees: [startAngleInDegrees, endAngleInDegrees}
|
|
214
216
|
*/
|
|
215
217
|
toJSON(): any;
|
|
216
|
-
/**
|
|
218
|
+
/**
|
|
219
|
+
* Test if this angle sweep and other angle sweep match with radians tolerance.
|
|
217
220
|
* * Period shifts are allowed.
|
|
218
221
|
*/
|
|
219
222
|
isAlmostEqualAllowPeriodShift(other: AngleSweep): boolean;
|
|
220
|
-
/**
|
|
223
|
+
/**
|
|
224
|
+
* Test if this angle sweep and other angle sweep match with radians tolerance.
|
|
221
225
|
* * Period shifts are not allowed.
|
|
222
226
|
*/
|
|
223
227
|
isAlmostEqualNoPeriodShift(other: AngleSweep): boolean;
|
|
224
|
-
/**
|
|
228
|
+
/**
|
|
229
|
+
* Test if start and end angles match with radians tolerance.
|
|
225
230
|
* * Period shifts are not allowed.
|
|
226
231
|
* * This function is equivalent to isAlmostEqualNoPeriodShift. It is present for consistency with other classes.
|
|
227
232
|
* However, it is recommended to use isAlmostEqualNoPeriodShift which has a clearer name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AngleSweep.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/AngleSweep.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAY,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,UAAW,YAAW,eAAe;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,iEAAiE;IACjE,IAAW,YAAY,WAEtB;IACD,+DAA+D;IAC/D,IAAW,UAAU,WAEpB;IACD,8DAA8D;IAC9D,IAAW,YAAY,WAEtB;IACD,iEAAiE;IACjE,IAAW,YAAY,WAEtB;IACD,+DAA+D;IAC/D,IAAW,UAAU,WAEpB;IACD,8DAA8D;IAC9D,IAAW,YAAY,WAEtB;IACD,8CAA8C;IAC9C,IAAW,UAAU,UAEpB;IACD,4CAA4C;IAC5C,IAAW,QAAQ,UAElB;IACD
|
|
1
|
+
{"version":3,"file":"AngleSweep.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/AngleSweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,7 +59,8 @@ class AngleSweep {
|
|
|
59
59
|
get endAngle() {
|
|
60
60
|
return Angle_1.Angle.createRadians(this._radians1);
|
|
61
61
|
}
|
|
62
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Create a sweep as one of
|
|
63
64
|
* * A clone of a given sweep
|
|
64
65
|
* * 0 to given angle
|
|
65
66
|
* * full circle if no arg given (sweep 0 to 360 degrees)
|
|
@@ -71,7 +72,8 @@ class AngleSweep {
|
|
|
71
72
|
return new AngleSweep(0, data.radians);
|
|
72
73
|
return AngleSweep.create360();
|
|
73
74
|
}
|
|
74
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* (private) constructor with start and end angles in radians.
|
|
75
77
|
* * Use explicitly named static methods to clarify intent and units of inputs:
|
|
76
78
|
*
|
|
77
79
|
* * createStartEndRadians (startRadians:number, endRadians:number)
|
|
@@ -86,9 +88,9 @@ class AngleSweep {
|
|
|
86
88
|
this._radians1 = endRadians;
|
|
87
89
|
}
|
|
88
90
|
/**
|
|
89
|
-
*
|
|
91
|
+
* Directly set the start and end angles in radians
|
|
90
92
|
* * If the difference between startRadians and endRadians is greater than 360, the function limits the angle sweep to 360.
|
|
91
|
-
|
|
93
|
+
*/
|
|
92
94
|
setStartEndRadians(startRadians = 0, endRadians = 2.0 * Math.PI) {
|
|
93
95
|
const delta = endRadians - startRadians;
|
|
94
96
|
if (Angle_1.Angle.isFullCircleRadians(delta)) {
|
|
@@ -97,14 +99,14 @@ class AngleSweep {
|
|
|
97
99
|
this._radians0 = startRadians;
|
|
98
100
|
this._radians1 = endRadians;
|
|
99
101
|
}
|
|
100
|
-
/**
|
|
102
|
+
/** Directly set the start and end angles in degrees */
|
|
101
103
|
setStartEndDegrees(startDegrees = 0, endDegrees = 360.0) {
|
|
102
104
|
this.setStartEndRadians(Angle_1.Angle.degreesToRadians(startDegrees), Angle_1.Angle.degreesToRadians(endDegrees));
|
|
103
105
|
}
|
|
104
106
|
/**
|
|
105
|
-
*
|
|
107
|
+
* Create an AngleSweep from start and end angles given in radians.
|
|
106
108
|
* * If the difference between startRadians and endRadians is greater than 360, the function limits the angle sweep to 360.
|
|
107
|
-
|
|
109
|
+
*/
|
|
108
110
|
static createStartEndRadians(startRadians = 0, endRadians = 2.0 * Math.PI, result) {
|
|
109
111
|
result = result ? result : new AngleSweep();
|
|
110
112
|
result.setStartEndRadians(startRadians, endRadians);
|
|
@@ -114,23 +116,23 @@ class AngleSweep {
|
|
|
114
116
|
cloneMinusRadians(radians) {
|
|
115
117
|
return new AngleSweep(this._radians0 - radians, this._radians1 - radians);
|
|
116
118
|
}
|
|
117
|
-
/**
|
|
119
|
+
/** Create an AngleSweep from start and end angles given in degrees. */
|
|
118
120
|
static createStartEndDegrees(startDegrees = 0, endDegrees = 360, result) {
|
|
119
121
|
return AngleSweep.createStartEndRadians(Angle_1.Angle.degreesToRadians(startDegrees), Angle_1.Angle.degreesToRadians(endDegrees), result);
|
|
120
122
|
}
|
|
121
|
-
/**
|
|
123
|
+
/** Create an angle sweep from strongly typed start and end angles */
|
|
122
124
|
static createStartEnd(startAngle, endAngle, result) {
|
|
123
125
|
result = result ? result : new AngleSweep();
|
|
124
126
|
result.setStartEndRadians(startAngle.radians, endAngle.radians);
|
|
125
127
|
return result;
|
|
126
128
|
}
|
|
127
|
-
/**
|
|
129
|
+
/** Create an AngleSweep from start and end angles given in radians. */
|
|
128
130
|
static createStartSweepRadians(startRadians = 0, sweepRadians = Math.PI, result) {
|
|
129
131
|
result = result ? result : new AngleSweep();
|
|
130
132
|
result.setStartEndRadians(startRadians, startRadians + sweepRadians);
|
|
131
133
|
return result;
|
|
132
134
|
}
|
|
133
|
-
/**
|
|
135
|
+
/** Create an AngleSweep from start and sweep given in degrees. */
|
|
134
136
|
static createStartSweepDegrees(startDegrees = 0, sweepDegrees = 360, result) {
|
|
135
137
|
return AngleSweep.createStartEndRadians(Angle_1.Angle.degreesToRadians(startDegrees), Angle_1.Angle.degreesToRadians(startDegrees + sweepDegrees), result);
|
|
136
138
|
}
|
|
@@ -142,17 +144,17 @@ class AngleSweep {
|
|
|
142
144
|
interpolate(fraction, other) {
|
|
143
145
|
return new AngleSweep(Geometry_1.Geometry.interpolate(this._radians0, fraction, other._radians0), Geometry_1.Geometry.interpolate(this._radians1, fraction, other._radians1));
|
|
144
146
|
}
|
|
145
|
-
/**
|
|
147
|
+
/** Copy from other AngleSweep. */
|
|
146
148
|
setFrom(other) {
|
|
147
149
|
this._radians0 = other._radians0;
|
|
148
150
|
this._radians1 = other._radians1;
|
|
149
151
|
}
|
|
150
|
-
/**
|
|
152
|
+
/** Create a full circle sweep (CCW). startRadians defaults to 0 */
|
|
151
153
|
static create360(startRadians) {
|
|
152
154
|
startRadians = startRadians ? startRadians : 0.0;
|
|
153
155
|
return new AngleSweep(startRadians, startRadians + 2.0 * Math.PI);
|
|
154
156
|
}
|
|
155
|
-
/**
|
|
157
|
+
/** Create a sweep from the south pole to the north pole (-90 to +90). */
|
|
156
158
|
static createFullLatitude() {
|
|
157
159
|
return AngleSweep.createStartEndRadians(-0.5 * Math.PI, 0.5 * Math.PI);
|
|
158
160
|
}
|
|
@@ -162,7 +164,8 @@ class AngleSweep {
|
|
|
162
164
|
this._radians0 = this._radians1;
|
|
163
165
|
this._radians1 = tmp;
|
|
164
166
|
}
|
|
165
|
-
/**
|
|
167
|
+
/**
|
|
168
|
+
* Return a sweep for the "other" part of the circle.
|
|
166
169
|
* @param reverseDirection true to move backwards (CW) from start to end, false to more forwards (CCW) from start to end.
|
|
167
170
|
*/
|
|
168
171
|
cloneComplement(reverseDirection = false, result) {
|
|
@@ -172,9 +175,7 @@ class AngleSweep {
|
|
|
172
175
|
else
|
|
173
176
|
return AngleSweep.createStartEndRadians(this.endRadians, this.startRadians + s * Math.PI, result);
|
|
174
177
|
}
|
|
175
|
-
/**
|
|
176
|
-
* Restrict start and end angles into the range (-90,+90) in degrees.
|
|
177
|
-
* */
|
|
178
|
+
/** Restrict start and end angles into the range (-90,+90) in degrees */
|
|
178
179
|
capLatitudeInPlace() {
|
|
179
180
|
const limit = 0.5 * Math.PI;
|
|
180
181
|
this._radians0 = Geometry_1.Geometry.clampToStartEnd(this._radians0, -limit, limit);
|
|
@@ -194,7 +195,7 @@ class AngleSweep {
|
|
|
194
195
|
return Angle_1.Angle.isAlmostEqualRadiansNoPeriodShift(this._radians0, -a)
|
|
195
196
|
&& Angle_1.Angle.isAlmostEqualRadiansNoPeriodShift(this._radians1, a);
|
|
196
197
|
}
|
|
197
|
-
/**
|
|
198
|
+
/** Return a clone of this sweep. */
|
|
198
199
|
clone() {
|
|
199
200
|
return new AngleSweep(this._radians0, this._radians1);
|
|
200
201
|
}
|
|
@@ -208,15 +209,16 @@ class AngleSweep {
|
|
|
208
209
|
fractionToAngle(fraction) {
|
|
209
210
|
return Angle_1.Angle.createRadians(this.fractionToRadians(fraction));
|
|
210
211
|
}
|
|
211
|
-
/**
|
|
212
|
+
/**
|
|
213
|
+
* Return 2PI divided by the sweep radians (i.e. 360 degrees divided by sweep angle).
|
|
212
214
|
* * This is the number of fractional intervals required to cover a whole circle.
|
|
213
215
|
*/
|
|
214
216
|
fractionPeriod() {
|
|
215
217
|
return Geometry_1.Geometry.safeDivideFraction(Math.PI * 2.0, Math.abs(this._radians1 - this._radians0), 1.0);
|
|
216
218
|
}
|
|
217
|
-
/**
|
|
219
|
+
/**
|
|
220
|
+
* Return the fractionalized position of the given angle (as Angle) computed without consideration of
|
|
218
221
|
* 2PI period and without consideration of angle sweep direction (CW or CCW).
|
|
219
|
-
*
|
|
220
222
|
* * the start angle is at fraction 0
|
|
221
223
|
* * the end angle is at fraction 1
|
|
222
224
|
* * interior angles are between 0 and 1
|
|
@@ -229,8 +231,8 @@ class AngleSweep {
|
|
|
229
231
|
angleToUnboundedFraction(theta) {
|
|
230
232
|
return Geometry_1.Geometry.safeDivideFraction(theta.radians - this._radians0, this._radians1 - this._radians0, 1.0);
|
|
231
233
|
}
|
|
232
|
-
/**
|
|
233
|
-
*
|
|
234
|
+
/**
|
|
235
|
+
* Return the fractionalized position of the given angle (as radians), computed with consideration of 2PI period.
|
|
234
236
|
* * consider radians0 as `start` angle of the sweep and radians1 as `end` angle of the sweep
|
|
235
237
|
* * fraction is always positive
|
|
236
238
|
* * the start angle is at fraction 0
|
|
@@ -255,8 +257,8 @@ class AngleSweep {
|
|
|
255
257
|
const fraction2 = Geometry_1.Geometry.safeDivideFraction(delta2, -sweep, zeroSweepDefault);
|
|
256
258
|
return fraction2;
|
|
257
259
|
}
|
|
258
|
-
/**
|
|
259
|
-
*
|
|
260
|
+
/**
|
|
261
|
+
* Return the fractionalized position of the given angle (as radians), computed with consideration of 2PI period.
|
|
260
262
|
* * fraction is always positive
|
|
261
263
|
* * the start angle is at fraction 0
|
|
262
264
|
* * the end angle is at fraction 1
|
|
@@ -267,8 +269,8 @@ class AngleSweep {
|
|
|
267
269
|
radiansToPositivePeriodicFraction(radians, zeroSweepDefault = 0.0) {
|
|
268
270
|
return AngleSweep.radiansToPositivePeriodicFractionStartEnd(radians, this._radians0, this._radians1, zeroSweepDefault);
|
|
269
271
|
}
|
|
270
|
-
/**
|
|
271
|
-
*
|
|
272
|
+
/**
|
|
273
|
+
* Return the fractionalized position of the given angle (as Angle), computed with consideration of 2PI period.
|
|
272
274
|
* * fraction is always positive
|
|
273
275
|
* * the start angle is at fraction 0
|
|
274
276
|
* * the end angle is at fraction 1
|
|
@@ -279,8 +281,8 @@ class AngleSweep {
|
|
|
279
281
|
angleToPositivePeriodicFraction(theta) {
|
|
280
282
|
return this.radiansToPositivePeriodicFraction(theta.radians);
|
|
281
283
|
}
|
|
282
|
-
/**
|
|
283
|
-
*
|
|
284
|
+
/**
|
|
285
|
+
* Return the fractionalized position of the given array of angles (as radian), computed with consideration of 2PI period.
|
|
284
286
|
* * fraction is always positive
|
|
285
287
|
* * the start angle is at fraction 0
|
|
286
288
|
* * the end angle is at fraction 1
|
|
@@ -294,9 +296,9 @@ class AngleSweep {
|
|
|
294
296
|
data.reassign(i, this.radiansToPositivePeriodicFraction(data.atUncheckedIndex(i)));
|
|
295
297
|
}
|
|
296
298
|
}
|
|
297
|
-
/**
|
|
299
|
+
/**
|
|
300
|
+
* Return the fractionalized position of the given angle (as radian) computed with consideration of
|
|
298
301
|
* 2PI period and with consideration of angle sweep direction (CW or CCW).
|
|
299
|
-
*
|
|
300
302
|
* * the start angle is at fraction 0
|
|
301
303
|
* * the end angle is at fraction 1
|
|
302
304
|
* * interior angles are between 0 and 1
|
|
@@ -320,9 +322,9 @@ class AngleSweep {
|
|
|
320
322
|
const fraction = 0.5 + Geometry_1.Geometry.safeDivideFraction(delta2, -sweep, 0.0);
|
|
321
323
|
return fraction;
|
|
322
324
|
}
|
|
323
|
-
/**
|
|
325
|
+
/**
|
|
326
|
+
* Return the fractionalized position of the given angle (as Angle) computed with consideration of
|
|
324
327
|
* 2PI period and with consideration of angle sweep direction (CW or CCW).
|
|
325
|
-
*
|
|
326
328
|
* * the start angle is at fraction 0
|
|
327
329
|
* * the end angle is at fraction 1
|
|
328
330
|
* * interior angles are between 0 and 1
|
|
@@ -333,7 +335,7 @@ class AngleSweep {
|
|
|
333
335
|
angleToSignedPeriodicFraction(theta) {
|
|
334
336
|
return this.radiansToSignedPeriodicFraction(theta.radians);
|
|
335
337
|
}
|
|
336
|
-
/**
|
|
338
|
+
/** Test if the given angle (as radians) is within sweep (between radians0 and radians1) */
|
|
337
339
|
static isRadiansInStartEnd(radians, radians0, radians1, allowPeriodShift = true) {
|
|
338
340
|
const delta0 = radians - radians0;
|
|
339
341
|
const delta1 = radians - radians1;
|
|
@@ -343,16 +345,16 @@ class AngleSweep {
|
|
|
343
345
|
return allowPeriodShift ? Angle_1.Angle.isAlmostEqualRadiansAllowPeriodShift(radians, radians0) : Angle_1.Angle.isAlmostEqualRadiansNoPeriodShift(radians, radians0);
|
|
344
346
|
return allowPeriodShift ? this.radiansToPositivePeriodicFractionStartEnd(radians, radians0, radians1, 1000.0) <= 1.0 : false;
|
|
345
347
|
}
|
|
346
|
-
/**
|
|
348
|
+
/** Test if the given angle (as radians) is within sweep */
|
|
347
349
|
isRadiansInSweep(radians, allowPeriodShift = true) {
|
|
348
350
|
return AngleSweep.isRadiansInStartEnd(radians, this.startRadians, this.endRadians, allowPeriodShift);
|
|
349
351
|
}
|
|
350
|
-
/**
|
|
352
|
+
/** Test if the given angle (as Angle) is within the sweep */
|
|
351
353
|
isAngleInSweep(angle) {
|
|
352
354
|
return this.isRadiansInSweep(angle.radians);
|
|
353
355
|
}
|
|
354
|
-
/**
|
|
355
|
-
*
|
|
356
|
+
/**
|
|
357
|
+
* Set this AngleSweep from various sources:
|
|
356
358
|
* * if json is undefined, a full-circle sweep is returned.
|
|
357
359
|
* * If json is an AngleSweep object, it is cloned
|
|
358
360
|
* * If json is an array of 2 numbers, those numbers are start and end angles in degrees.
|
|
@@ -374,7 +376,7 @@ class AngleSweep {
|
|
|
374
376
|
else
|
|
375
377
|
this.setStartEndRadians(); // default full circle
|
|
376
378
|
}
|
|
377
|
-
/**
|
|
379
|
+
/** Create an AngleSweep from a json object. */
|
|
378
380
|
static fromJSON(json) {
|
|
379
381
|
const result = AngleSweep.create360();
|
|
380
382
|
result.setFromJSON(json);
|
|
@@ -387,7 +389,8 @@ class AngleSweep {
|
|
|
387
389
|
toJSON() {
|
|
388
390
|
return [this.startDegrees, this.endDegrees];
|
|
389
391
|
}
|
|
390
|
-
/**
|
|
392
|
+
/**
|
|
393
|
+
* Test if this angle sweep and other angle sweep match with radians tolerance.
|
|
391
394
|
* * Period shifts are allowed.
|
|
392
395
|
*/
|
|
393
396
|
isAlmostEqualAllowPeriodShift(other) {
|
|
@@ -396,14 +399,16 @@ class AngleSweep {
|
|
|
396
399
|
return Angle_1.Angle.isAlmostEqualRadiansAllowPeriodShift(this._radians0, other._radians0)
|
|
397
400
|
&& Angle_1.Angle.isAlmostEqualRadiansAllowPeriodShift(this._radians1 - this._radians0, other._radians1 - other._radians0);
|
|
398
401
|
}
|
|
399
|
-
/**
|
|
402
|
+
/**
|
|
403
|
+
* Test if this angle sweep and other angle sweep match with radians tolerance.
|
|
400
404
|
* * Period shifts are not allowed.
|
|
401
405
|
*/
|
|
402
406
|
isAlmostEqualNoPeriodShift(other) {
|
|
403
407
|
return Angle_1.Angle.isAlmostEqualRadiansNoPeriodShift(this._radians0, other._radians0)
|
|
404
408
|
&& Angle_1.Angle.isAlmostEqualRadiansNoPeriodShift(this._radians1 - this._radians0, other._radians1 - other._radians0);
|
|
405
409
|
}
|
|
406
|
-
/**
|
|
410
|
+
/**
|
|
411
|
+
* Test if start and end angles match with radians tolerance.
|
|
407
412
|
* * Period shifts are not allowed.
|
|
408
413
|
* * This function is equivalent to isAlmostEqualNoPeriodShift. It is present for consistency with other classes.
|
|
409
414
|
* However, it is recommended to use isAlmostEqualNoPeriodShift which has a clearer name.
|