@itwin/core-geometry 4.0.0-dev.4 → 4.0.0-dev.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -3
- package/lib/cjs/Geometry.d.ts +56 -16
- package/lib/cjs/Geometry.d.ts.map +1 -1
- package/lib/cjs/Geometry.js +87 -30
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurveOps.js +4 -5
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/cjs/bspline/InterpolationCurve3d.js +7 -10
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js +2 -2
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js +4 -4
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +20 -13
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.js +1 -1
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.d.ts +11 -8
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurve.js +16 -12
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts +5 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurveIntersectXY.js +11 -10
- package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/Loop.d.ts +2 -2
- package/lib/cjs/curve/Loop.d.ts.map +1 -1
- package/lib/cjs/curve/Loop.js +6 -0
- package/lib/cjs/curve/Loop.js.map +1 -1
- package/lib/cjs/curve/RegionOps.d.ts +10 -10
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +11 -11
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts +2 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js +5 -2
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js +1 -2
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js +1 -2
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +1 -2
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/geometry3d/Angle.d.ts +19 -0
- package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Angle.js +39 -0
- package/lib/cjs/geometry3d/Angle.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.d.ts +1 -0
- package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js +1 -0
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.d.ts +195 -8
- package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.js +459 -11
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts +1 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js +3 -0
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js +2 -2
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js +2 -2
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts +22 -7
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js +41 -5
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +58 -4
- package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js +102 -4
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +479 -265
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +996 -784
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts +1 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.js +1 -0
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts +10 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js +14 -0
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.js +4 -6
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts +0 -6
- package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js +0 -6
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +57 -57
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +63 -65
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts +14 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js +33 -1
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.d.ts +127 -19
- package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js +420 -22
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js +1 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/Segment1d.d.ts +1 -1
- package/lib/cjs/geometry3d/Segment1d.js +1 -1
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.d.ts +12 -0
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/Polynomials.js +14 -0
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/polyface/AuxData.js +1 -1
- package/lib/cjs/polyface/AuxData.js.map +1 -1
- package/lib/cjs/polyface/FacetLocationDetail.d.ts +264 -0
- package/lib/cjs/polyface/FacetLocationDetail.d.ts.map +1 -0
- package/lib/cjs/polyface/FacetLocationDetail.js +376 -0
- package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -0
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts +2 -5
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js +5 -2
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts +24 -14
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js +74 -23
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js +6 -7
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.d.ts +1 -1
- package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts +76 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js +123 -3
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.d.ts +202 -0
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.d.ts.map +1 -0
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js +1038 -0
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -0
- package/lib/cjs/serialization/BGFBReader.js +4 -4
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.d.ts +8 -6
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js +26 -19
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js +1 -2
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/solid/Sphere.d.ts +5 -5
- package/lib/cjs/solid/Sphere.js +5 -5
- package/lib/cjs/solid/Sphere.js.map +1 -1
- package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
- package/lib/cjs/solid/SweepContour.js +8 -1
- package/lib/cjs/solid/SweepContour.js.map +1 -1
- package/lib/cjs/topology/Graph.d.ts +113 -7
- package/lib/cjs/topology/Graph.d.ts.map +1 -1
- package/lib/cjs/topology/Graph.js +185 -7
- package/lib/cjs/topology/Graph.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +38 -0
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts.map +1 -0
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js +82 -0
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts +2 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -0
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/cjs/topology/Triangulation.js +1 -1
- package/lib/cjs/topology/Triangulation.js.map +1 -1
- package/lib/esm/Geometry.d.ts +56 -16
- package/lib/esm/Geometry.d.ts.map +1 -1
- package/lib/esm/Geometry.js +86 -29
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/BSplineCurveOps.js +4 -5
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/esm/bspline/InterpolationCurve3d.js +7 -10
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js +2 -2
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.js +4 -4
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +21 -14
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.js +1 -1
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.d.ts +11 -8
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurve.js +16 -12
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts +5 -1
- package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurveIntersectXY.js +11 -10
- package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/Loop.d.ts +2 -2
- package/lib/esm/curve/Loop.d.ts.map +1 -1
- package/lib/esm/curve/Loop.js +6 -0
- package/lib/esm/curve/Loop.js.map +1 -1
- package/lib/esm/curve/RegionOps.d.ts +10 -10
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +11 -11
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +2 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js +5 -2
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.js +1 -2
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js +1 -2
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js +1 -2
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/geometry3d/Angle.d.ts +19 -0
- package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
- package/lib/esm/geometry3d/Angle.js +39 -0
- package/lib/esm/geometry3d/Angle.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.d.ts +1 -0
- package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js +1 -0
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts +195 -8
- package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.js +459 -12
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +1 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.js +3 -0
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js +2 -2
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.d.ts +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js +2 -2
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts +22 -7
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js +41 -5
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +58 -4
- package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js +103 -5
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +479 -265
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +996 -784
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.d.ts.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.js +1 -0
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts +10 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js +14 -0
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.js +4 -6
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +0 -6
- package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js +0 -6
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +57 -57
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +63 -65
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts +14 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js +33 -1
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.d.ts +127 -19
- package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js +419 -22
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/Segment1d.d.ts +1 -1
- package/lib/esm/geometry3d/Segment1d.js +1 -1
- package/lib/esm/geometry3d/Segment1d.js.map +1 -1
- package/lib/esm/numerics/Polynomials.d.ts +12 -0
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
- package/lib/esm/numerics/Polynomials.js +14 -0
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/polyface/AuxData.js +1 -1
- package/lib/esm/polyface/AuxData.js.map +1 -1
- package/lib/esm/polyface/FacetLocationDetail.d.ts +264 -0
- package/lib/esm/polyface/FacetLocationDetail.d.ts.map +1 -0
- package/lib/esm/polyface/FacetLocationDetail.js +369 -0
- package/lib/esm/polyface/FacetLocationDetail.js.map +1 -0
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +2 -5
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js +5 -2
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.d.ts +24 -14
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js +74 -23
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js +6 -7
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceData.d.ts +1 -1
- package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceData.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts +76 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js +121 -2
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.d.ts +202 -0
- package/lib/esm/polyface/multiclip/OffsetMeshContext.d.ts.map +1 -0
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js +1032 -0
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -0
- package/lib/esm/serialization/BGFBReader.js +4 -4
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.d.ts +8 -6
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js +26 -19
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js +1 -2
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/solid/Sphere.d.ts +5 -5
- package/lib/esm/solid/Sphere.js +5 -5
- package/lib/esm/solid/Sphere.js.map +1 -1
- package/lib/esm/solid/SweepContour.d.ts.map +1 -1
- package/lib/esm/solid/SweepContour.js +8 -1
- package/lib/esm/solid/SweepContour.js.map +1 -1
- package/lib/esm/topology/Graph.d.ts +113 -7
- package/lib/esm/topology/Graph.d.ts.map +1 -1
- package/lib/esm/topology/Graph.js +185 -7
- package/lib/esm/topology/Graph.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +38 -0
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js +78 -0
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +2 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -0
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/esm/topology/Triangulation.js +1 -1
- package/lib/esm/topology/Triangulation.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Point3dArrayCarrier.js","sourceRoot":"","sources":["../../../src/geometry3d/Point3dArrayCarrier.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iEAAuE;AACvE,uDAAsD;AAGtD;;;;;;GAMG;AACH,MAAa,mBAAoB,SAAQ,oDAA6B;IAGpE,wCAAwC;IACxC,YAAmB,IAAe;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,uDAAuD;IAChD,YAAY,CAAC,KAAa;QAC/B,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IACD;;;;;;OAMG;IACI,6BAA6B,CAAC,KAAa,EAAE,MAAgB;QAClE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,yBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SAC7D;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;OAMG;IACI,+BAA+B,CAAC,KAAa,EAAE,MAAgB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,yBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IACD;;;;;OAKG;IACI,+BAA+B,CAAC,KAAa,EAAE,MAAiB;QACrE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,0BAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SAC9D;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;SAGK;IACE,yBAAyB,CAAC,UAAkB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD;;;SAGK;IACE,yBAAyB,CAAC,UAAkB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD;;;SAGK;IACE,yBAAyB,CAAC,UAAkB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAiB;QACvE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACxD,OAAO,0BAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;OAMG;IACI,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAiB;QACxE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC3B,OAAO,0BAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;;OAOG;IACI,4BAA4B,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAiB;QACnG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACxD,OAAO,0BAAQ,CAAC,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;;OAOG;IACI,2BAA2B,CAAC,WAAmB,EAAE,MAAc,EAAE,MAAc,EAAE,MAAiB;QACvG,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1F,OAAO,0BAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACnH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;;OAOG;IACI,qCAAqC,CAAC,WAAmB,EAAE,MAAc,EAAE,MAAc,EAAE,MAAgB;QAChH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1F,MAAM,CAAC,+BAA+B,CACpC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAC7D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAC/C,CAAC;IACN,CAAC;IACD;;;OAGG;IACI,mBAAmB,CAAC,KAAa,EAAE,KAAa,EAAE,GAAY;QACnE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC;IACD;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD;;OAEG;IACI,IAAI,CAAC,IAAa;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD;;;;;OAKG;IACI,OAAO,CAAC,CAAU,EAAE,CAAU,EAAE,CAAU;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,yBAAO,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAChG,CAAC;IACJ,CAAC;IACD,qCAAqC;IAC9B,IAAI,CAAC,MAAgB;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACtD;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,qCAAqC;IAC9B,KAAK,CAAC,MAAgB;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,8BAA8B;IACvB,GAAG;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,yBAAyB;IAClB,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,kCAAkC;IAC3B,cAAc;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IACD;;;;;;;OAOG;IACI,yBAAyB,CAAC,MAAc,EAAE,MAAc;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;OAMG;IACI,kBAAkB,CAAC,MAAc,EAAE,MAAc;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACtD;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,yDAAyD;IACzC,WAAW,CAAC,CAAS;QACnC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AAzOD,kDAyOC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ArraysAndInterfaces\r\n */\r\n\r\nimport { IndexedReadWriteXYZCollection } from \"./IndexedXYZCollection\";\r\nimport { Point3d, Vector3d } from \"./Point3dVector3d\";\r\nimport { XYAndZ } from \"./XYZProps\";\r\n\r\n/**\r\n * Helper object to access members of a Point3d[] in geometric calculations.\r\n * * The collection holds only a reference to the actual array.\r\n * * The actual array may be replaced by the user as needed.\r\n * * When replaced, there is no cached data to be updated.\r\n * @public\r\n */\r\nexport class Point3dArrayCarrier extends IndexedReadWriteXYZCollection {\r\n /** reference to array being queried. */\r\n public data: Point3d[];\r\n /** CAPTURE caller supplied array ... */\r\n public constructor(data: Point3d[]) {\r\n super();\r\n this.data = data;\r\n }\r\n /** test if `index` is a valid index into the array. */\r\n public isValidIndex(index: number): boolean {\r\n return index >= 0 && index < this.data.length;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Point3d\r\n * * This returns the xyz value but NOT reference to the point in the \"carried\" array.\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getPoint3dAtCheckedPointIndex(index: number, result?: Point3d): Point3d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Point3d.create(source.x, source.y, source.z, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Point3d\r\n * * This returns the xyz value but NOT reference to the point in the \"carried\" array.\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getPoint3dAtUncheckedPointIndex(index: number, result?: Point3d): Point3d {\r\n const source = this.data[index];\r\n return Point3d.create(source.x, source.y, source.z, result);\r\n }\r\n /**\r\n * Access by index, returning strongly typed Vector3d\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getVector3dAtCheckedVectorIndex(index: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Vector3d.create(source.x, source.y, source.z, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * access x of indexed point\r\n * * WARNING: make sure `pointIndex` is a valid index, otherwise, you get random results\r\n * */\r\n public getXAtUncheckedPointIndex(pointIndex: number): number {\r\n return this.data[pointIndex].x;\r\n }\r\n /**\r\n * access y of indexed point\r\n * * WARNING: make sure `pointIndex` is a valid index, otherwise, you get random results\r\n * */\r\n public getYAtUncheckedPointIndex(pointIndex: number): number {\r\n return this.data[pointIndex].y;\r\n }\r\n /**\r\n * access z of indexed point\r\n * * WARNING: make sure `pointIndex` is a valid index, otherwise, you get random results\r\n * */\r\n public getZAtUncheckedPointIndex(pointIndex: number): number {\r\n return this.data[pointIndex].z;\r\n }\r\n /**\r\n * Return a vector from the point at indexA to the point at indexB\r\n * @param indexA index of point within the array\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public vectorIndexIndex(indexA: number, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector3d.createStartEnd(this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return a vector from given origin to point at indexB\r\n * @param origin origin for vector\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if index is out of bounds\r\n */\r\n public vectorXYAndZIndex(origin: XYAndZ, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(indexB))\r\n return Vector3d.createStartEnd(origin, this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return the cross product of vectors from origin to points at indexA and indexB\r\n * @param origin origin for vector\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public crossProductXYAndZIndexIndex(origin: XYAndZ, indexA: number, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector3d.createCrossProductToPoints(origin, this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return the cross product of vectors from point at originIndex to points at indexA and indexB\r\n * @param originIndex index of origin\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns return true if indexA, indexB both valid\r\n */\r\n public crossProductIndexIndexIndex(originIndex: number, indexA: number, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(originIndex) && this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector3d.createCrossProductToPoints(this.data[originIndex], this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Compute the cross product of vectors from point at originIndex to points at indexA and indexB, and accumulate it to the result.\r\n * @param origin index of origin\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns return true if indexA, indexB both valid\r\n */\r\n public accumulateCrossProductIndexIndexIndex(originIndex: number, indexA: number, indexB: number, result: Vector3d): void {\r\n const data = this.data;\r\n if (this.isValidIndex(originIndex) && this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n result.addCrossProductToTargetsInPlace(\r\n data[originIndex].x, data[originIndex].y, data[originIndex].z,\r\n data[indexA].x, data[indexA].y, data[indexA].z,\r\n data[indexB].x, data[indexB].y, data[indexB].z\r\n );\r\n }\r\n /**\r\n * Accumulate scale times the x,y,z values at index to the sum.\r\n * No action if index is out of bounds.\r\n */\r\n public accumulateScaledXYZ(index: number, scale: number, sum: Point3d): void {\r\n if (this.isValidIndex(index)) {\r\n const point = this.data[index];\r\n sum.x += scale * point.x;\r\n sum.y += scale * point.y;\r\n sum.z += scale * point.z;\r\n }\r\n }\r\n /**\r\n * read-only property for number of XYZ in the collection.\r\n */\r\n public get length(): number {\r\n return this.data.length;\r\n }\r\n /** push a (clone of) point onto the collection\r\n * * point itself is not pushed -- xyz data is extracted into the native form of the collection.\r\n */\r\n public push(data: Point3d): void {\r\n this.data.push(data.clone());\r\n }\r\n /**\r\n * push a new point (given by coordinates) onto the collection\r\n * @param x x coordinate\r\n * @param y y coordinate\r\n * @param z z coordinate\r\n */\r\n public pushXYZ(x?: number, y?: number, z?: number): void {\r\n this.data.push(\r\n Point3d.create(x === undefined ? 0.0 : x, y === undefined ? 0.0 : y, z === undefined ? 0.0 : z)\r\n );\r\n }\r\n /** extract (copy) the final point */\r\n public back(result?: Point3d): Point3d | undefined {\r\n if (this.data.length > 0) {\r\n return this.data[this.data.length - 1].clone(result);\r\n }\r\n return undefined;\r\n }\r\n /** extract (copy) the first point */\r\n public front(result?: Point3d): Point3d | undefined {\r\n if (this.data.length > 0) {\r\n return this.data[0].clone(result);\r\n }\r\n return undefined;\r\n }\r\n /** remove the final point. */\r\n public pop(): void {\r\n if (this.data.length > 0)\r\n this.data.pop();\r\n }\r\n /** remove all points. */\r\n public clear(): void {\r\n this.data.length = 0;\r\n }\r\n /** Reverse the points in place */\r\n public reverseInPlace(): void {\r\n this.data.reverse();\r\n }\r\n /**\r\n * Return distance squared between indicated points.\r\n * * Concrete classes may be able to implement this without creating a temporary.\r\n * @param index0 first point index\r\n * @param index1 second point index\r\n * @param defaultDistanceSquared distance squared to return if either point index is invalid.\r\n *\r\n */\r\n public distanceSquaredIndexIndex(index0: number, index1: number): number | undefined {\r\n const n = this.data.length;\r\n if (index0 >= 0 && index0 < n && index1 >= 0 && index1 < n) {\r\n return this.data[index0].distanceSquared(this.data[index1]);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Return distance between indicated points.\r\n * * Concrete classes may be able to implement this without creating a temporary.\r\n * @param index0 first point index\r\n * @param index1 second point index\r\n * @param defaultDistanceSquared distance squared to return if either point index is invalid.\r\n */\r\n public distanceIndexIndex(index0: number, index1: number): number | undefined {\r\n const n = this.data.length;\r\n if (index0 >= 0 && index0 < n && index1 >= 0 && index1 < n) {\r\n return this.data[index0].distance(this.data[index1]);\r\n }\r\n return undefined;\r\n }\r\n /** Adjust index into range by modulo with the length. */\r\n public override cyclicIndex(i: number): number {\r\n return (i % this.data.length);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Point3dArrayCarrier.js","sourceRoot":"","sources":["../../../src/geometry3d/Point3dArrayCarrier.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iEAAuE;AACvE,uDAAsD;AAGtD;;;;;;GAMG;AACH,MAAa,mBAAoB,SAAQ,oDAA6B;IAGpE,wCAAwC;IACxC,YAAmB,IAAe;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,uDAAuD;IAChD,YAAY,CAAC,KAAa;QAC/B,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IACD;;;;;;OAMG;IACI,6BAA6B,CAAC,KAAa,EAAE,MAAgB;QAClE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,yBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SAC7D;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;OAKG;IACI,+BAA+B,CAAC,KAAa,EAAE,MAAgB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,yBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IACD;;;;;OAKG;IACI,+BAA+B,CAAC,KAAa,EAAE,MAAiB;QACrE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,0BAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SAC9D;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;SAGK;IACE,yBAAyB,CAAC,UAAkB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD;;;SAGK;IACE,yBAAyB,CAAC,UAAkB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD;;;SAGK;IACE,yBAAyB,CAAC,UAAkB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAiB;QACvE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACxD,OAAO,0BAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;OAMG;IACI,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAiB;QACxE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC3B,OAAO,0BAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;;OAOG;IACI,4BAA4B,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAiB;QACnG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACxD,OAAO,0BAAQ,CAAC,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACnG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;;OAOG;IACI,2BAA2B,CAAC,WAAmB,EAAE,MAAc,EAAE,MAAc,EAAE,MAAiB;QACvG,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1F,OAAO,0BAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACnH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;;;OAOG;IACI,qCAAqC,CAAC,WAAmB,EAAE,MAAc,EAAE,MAAc,EAAE,MAAgB;QAChH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1F,MAAM,CAAC,+BAA+B,CACpC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAC7D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAC/C,CAAC;IACN,CAAC;IACD;;;OAGG;IACI,mBAAmB,CAAC,KAAa,EAAE,KAAa,EAAE,GAAY;QACnE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC;IACD;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD;;OAEG;IACI,IAAI,CAAC,IAAa;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD;;;;;OAKG;IACI,OAAO,CAAC,CAAU,EAAE,CAAU,EAAE,CAAU;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,yBAAO,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAChG,CAAC;IACJ,CAAC;IACD,qCAAqC;IAC9B,IAAI,CAAC,MAAgB;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACtD;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,qCAAqC;IAC9B,KAAK,CAAC,MAAgB;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,8BAA8B;IACvB,GAAG;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,yBAAyB;IAClB,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,kCAAkC;IAC3B,cAAc;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IACD;;;;OAIG;IACI,yBAAyB,CAAC,MAAc,EAAE,MAAc;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;OAIG;IACI,kBAAkB,CAAC,MAAc,EAAE,MAAc;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACtD;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,yDAAyD;IACzC,WAAW,CAAC,CAAS;QACnC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AAnOD,kDAmOC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ArraysAndInterfaces\r\n */\r\n\r\nimport { IndexedReadWriteXYZCollection } from \"./IndexedXYZCollection\";\r\nimport { Point3d, Vector3d } from \"./Point3dVector3d\";\r\nimport { XYAndZ } from \"./XYZProps\";\r\n\r\n/**\r\n * Helper object to access members of a Point3d[] in geometric calculations.\r\n * * The collection holds only a reference to the actual array.\r\n * * The actual array may be replaced by the user as needed.\r\n * * When replaced, there is no cached data to be updated.\r\n * @public\r\n */\r\nexport class Point3dArrayCarrier extends IndexedReadWriteXYZCollection {\r\n /** reference to array being queried. */\r\n public data: Point3d[];\r\n /** CAPTURE caller supplied array ... */\r\n public constructor(data: Point3d[]) {\r\n super();\r\n this.data = data;\r\n }\r\n /** test if `index` is a valid index into the array. */\r\n public isValidIndex(index: number): boolean {\r\n return index >= 0 && index < this.data.length;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Point3d\r\n * * This returns the xyz value but NOT reference to the point in the \"carried\" array.\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getPoint3dAtCheckedPointIndex(index: number, result?: Point3d): Point3d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Point3d.create(source.x, source.y, source.z, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Access by index, returning strongly typed Point3d\r\n * * This returns the xyz value but NOT reference to the point in the \"carried\" array.\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n */\r\n public getPoint3dAtUncheckedPointIndex(index: number, result?: Point3d): Point3d {\r\n const source = this.data[index];\r\n return Point3d.create(source.x, source.y, source.z, result);\r\n }\r\n /**\r\n * Access by index, returning strongly typed Vector3d\r\n * @param index index of point within the array\r\n * @param result caller-allocated destination\r\n * @returns undefined if the index is out of bounds\r\n */\r\n public getVector3dAtCheckedVectorIndex(index: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(index)) {\r\n const source = this.data[index];\r\n return Vector3d.create(source.x, source.y, source.z, result);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * access x of indexed point\r\n * * WARNING: make sure `pointIndex` is a valid index, otherwise, you get random results\r\n * */\r\n public getXAtUncheckedPointIndex(pointIndex: number): number {\r\n return this.data[pointIndex].x;\r\n }\r\n /**\r\n * access y of indexed point\r\n * * WARNING: make sure `pointIndex` is a valid index, otherwise, you get random results\r\n * */\r\n public getYAtUncheckedPointIndex(pointIndex: number): number {\r\n return this.data[pointIndex].y;\r\n }\r\n /**\r\n * access z of indexed point\r\n * * WARNING: make sure `pointIndex` is a valid index, otherwise, you get random results\r\n * */\r\n public getZAtUncheckedPointIndex(pointIndex: number): number {\r\n return this.data[pointIndex].z;\r\n }\r\n /**\r\n * Return a vector from the point at indexA to the point at indexB\r\n * @param indexA index of point within the array\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public vectorIndexIndex(indexA: number, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector3d.createStartEnd(this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return a vector from given origin to point at indexB\r\n * @param origin origin for vector\r\n * @param indexB index of point within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if index is out of bounds\r\n */\r\n public vectorXYAndZIndex(origin: XYAndZ, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(indexB))\r\n return Vector3d.createStartEnd(origin, this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return the cross product of vectors from origin to points at indexA and indexB\r\n * @param origin origin for vector\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns undefined if either index is out of bounds\r\n */\r\n public crossProductXYAndZIndexIndex(origin: XYAndZ, indexA: number, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector3d.createCrossProductToPoints(origin, this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Return the cross product of vectors from point at originIndex to points at indexA and indexB\r\n * @param originIndex index of origin\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns return true if indexA, indexB both valid\r\n */\r\n public crossProductIndexIndexIndex(originIndex: number, indexA: number, indexB: number, result?: Vector3d): Vector3d | undefined {\r\n if (this.isValidIndex(originIndex) && this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n return Vector3d.createCrossProductToPoints(this.data[originIndex], this.data[indexA], this.data[indexB], result);\r\n return undefined;\r\n }\r\n /**\r\n * Compute the cross product of vectors from point at originIndex to points at indexA and indexB, and accumulate it to the result.\r\n * @param origin index of origin\r\n * @param indexA index of first target within the array\r\n * @param indexB index of second target within the array\r\n * @param result caller-allocated vector.\r\n * @returns return true if indexA, indexB both valid\r\n */\r\n public accumulateCrossProductIndexIndexIndex(originIndex: number, indexA: number, indexB: number, result: Vector3d): void {\r\n const data = this.data;\r\n if (this.isValidIndex(originIndex) && this.isValidIndex(indexA) && this.isValidIndex(indexB))\r\n result.addCrossProductToTargetsInPlace(\r\n data[originIndex].x, data[originIndex].y, data[originIndex].z,\r\n data[indexA].x, data[indexA].y, data[indexA].z,\r\n data[indexB].x, data[indexB].y, data[indexB].z\r\n );\r\n }\r\n /**\r\n * Accumulate scale times the x,y,z values at index to the sum.\r\n * No action if index is out of bounds.\r\n */\r\n public accumulateScaledXYZ(index: number, scale: number, sum: Point3d): void {\r\n if (this.isValidIndex(index)) {\r\n const point = this.data[index];\r\n sum.x += scale * point.x;\r\n sum.y += scale * point.y;\r\n sum.z += scale * point.z;\r\n }\r\n }\r\n /**\r\n * read-only property for number of XYZ in the collection.\r\n */\r\n public get length(): number {\r\n return this.data.length;\r\n }\r\n /** push a (clone of) point onto the collection\r\n * * point itself is not pushed -- xyz data is extracted into the native form of the collection.\r\n */\r\n public push(data: Point3d): void {\r\n this.data.push(data.clone());\r\n }\r\n /**\r\n * push a new point (given by coordinates) onto the collection\r\n * @param x x coordinate\r\n * @param y y coordinate\r\n * @param z z coordinate\r\n */\r\n public pushXYZ(x?: number, y?: number, z?: number): void {\r\n this.data.push(\r\n Point3d.create(x === undefined ? 0.0 : x, y === undefined ? 0.0 : y, z === undefined ? 0.0 : z)\r\n );\r\n }\r\n /** extract (copy) the final point */\r\n public back(result?: Point3d): Point3d | undefined {\r\n if (this.data.length > 0) {\r\n return this.data[this.data.length - 1].clone(result);\r\n }\r\n return undefined;\r\n }\r\n /** extract (copy) the first point */\r\n public front(result?: Point3d): Point3d | undefined {\r\n if (this.data.length > 0) {\r\n return this.data[0].clone(result);\r\n }\r\n return undefined;\r\n }\r\n /** remove the final point. */\r\n public pop(): void {\r\n if (this.data.length > 0)\r\n this.data.pop();\r\n }\r\n /** remove all points. */\r\n public clear(): void {\r\n this.data.length = 0;\r\n }\r\n /** Reverse the points in place */\r\n public reverseInPlace(): void {\r\n this.data.reverse();\r\n }\r\n /**\r\n * Return distance squared between indicated points.\r\n * @param index0 first point index\r\n * @param index1 second point index\r\n */\r\n public distanceSquaredIndexIndex(index0: number, index1: number): number | undefined {\r\n const n = this.data.length;\r\n if (index0 >= 0 && index0 < n && index1 >= 0 && index1 < n) {\r\n return this.data[index0].distanceSquared(this.data[index1]);\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Return distance between indicated points.\r\n * @param index0 first point index\r\n * @param index1 second point index\r\n */\r\n public distanceIndexIndex(index0: number, index1: number): number | undefined {\r\n const n = this.data.length;\r\n if (index0 >= 0 && index0 < n && index1 >= 0 && index1 < n) {\r\n return this.data[index0].distance(this.data[index1]);\r\n }\r\n return undefined;\r\n }\r\n /** Adjust index into range by modulo with the length. */\r\n public override cyclicIndex(i: number): number {\r\n return (i % this.data.length);\r\n }\r\n}\r\n"]}
|
|
@@ -374,34 +374,34 @@ export declare class Vector3d extends XYZ {
|
|
|
374
374
|
static createFrom(data: XYAndZ | XAndY | Float64Array | number[], result?: Vector3d): Vector3d;
|
|
375
375
|
/**
|
|
376
376
|
* Return a vector defined by start and end points (end - start).
|
|
377
|
-
* @param start start point for vector
|
|
378
|
-
* @param end end point for vector
|
|
379
|
-
* @param result optional result
|
|
377
|
+
* @param start start point for vector.
|
|
378
|
+
* @param end end point for vector.
|
|
379
|
+
* @param result optional result.
|
|
380
380
|
*/
|
|
381
381
|
static createStartEnd(start: XAndY | XYAndZ, end: XAndY | XYAndZ, result?: Vector3d): Vector3d;
|
|
382
382
|
/**
|
|
383
383
|
* Return a vector (optionally in preallocated result, otherwise newly created) from [x0,y0,z0] to [x1,y1,z1]
|
|
384
|
-
* @param x0 start point x coordinate
|
|
385
|
-
* @param y0 start point y coordinate
|
|
386
|
-
* @param z0 start point z coordinate
|
|
387
|
-
* @param x1 end point x coordinate
|
|
388
|
-
* @param y1 end point y coordinate
|
|
389
|
-
* @param z1 end point z coordinate
|
|
390
|
-
* @param result optional result vector
|
|
384
|
+
* @param x0 start point x coordinate.
|
|
385
|
+
* @param y0 start point y coordinate.
|
|
386
|
+
* @param z0 start point z coordinate.
|
|
387
|
+
* @param x1 end point x coordinate.
|
|
388
|
+
* @param y1 end point y coordinate.
|
|
389
|
+
* @param z1 end point z coordinate.
|
|
390
|
+
* @param result optional result vector.
|
|
391
391
|
*/
|
|
392
392
|
static createStartEndXYZXYZ(x0: number, y0: number, z0: number, x1: number, y1: number, z1: number, result?: Vector3d): Vector3d;
|
|
393
393
|
/**
|
|
394
|
-
* Return a vector which is the input vector rotated around the axis vector.
|
|
395
|
-
* @param vector initial vector
|
|
396
|
-
* @param axis axis of rotation
|
|
397
|
-
* @param angle angle of rotation. If undefined, 90 degrees is implied
|
|
394
|
+
* Return a vector which is the input `vector` rotated by `angle` around the `axis` vector.
|
|
395
|
+
* @param vector initial vector.
|
|
396
|
+
* @param axis axis of rotation.
|
|
397
|
+
* @param angle angle of rotation. If undefined, 90 degrees is implied.
|
|
398
398
|
* @param result optional result vector
|
|
399
399
|
* @returns undefined if axis has no length.
|
|
400
400
|
*/
|
|
401
401
|
static createRotateVectorAroundVector(vector: Vector3d, axis: Vector3d, angle?: Angle): Vector3d | undefined;
|
|
402
402
|
/**
|
|
403
403
|
* Set (replace) xyz components so they are a vector from point0 to point1
|
|
404
|
-
* @param point0 start point of computed vector
|
|
404
|
+
* @param point0 start point of computed vector.
|
|
405
405
|
* @param point1 end point of computed vector.
|
|
406
406
|
*/
|
|
407
407
|
setStartEnd(point0: XYAndZ, point1: XYAndZ): void;
|
|
@@ -426,7 +426,7 @@ export declare class Vector3d extends XYZ {
|
|
|
426
426
|
mag: number;
|
|
427
427
|
};
|
|
428
428
|
/**
|
|
429
|
-
* Return a unit vector parallel with this.
|
|
429
|
+
* Return a unit vector parallel with this. Return undefined if this.magnitude is near zero.
|
|
430
430
|
* @param result optional result.
|
|
431
431
|
*/
|
|
432
432
|
normalize(result?: Vector3d): Vector3d | undefined;
|
|
@@ -445,6 +445,8 @@ export declare class Vector3d extends XYZ {
|
|
|
445
445
|
* * It's returning the signed projection magnitude divided by the target magnitude.
|
|
446
446
|
* * To find the projection vector, scale the target vector by the value that this function is returning.
|
|
447
447
|
* * math details can be found at docs/learning/geometry/PointVector.md
|
|
448
|
+
* * Visualization can be found at https://www.itwinjs.org/sandbox/SaeedTorabi/ProjectVectorOnVector
|
|
449
|
+
* and https://www.itwinjs.org/sandbox/SaeedTorabi/ProjectVectorOnPlane
|
|
448
450
|
* @param target the target vector
|
|
449
451
|
* @param defaultFraction the returned value in case magnitude square of target vector is very small
|
|
450
452
|
* */
|
|
@@ -458,7 +460,7 @@ export declare class Vector3d extends XYZ {
|
|
|
458
460
|
/** Return a vector same length as this but rotated 90 degrees clockwise */
|
|
459
461
|
rotate90CWXY(result?: Vector3d): Vector3d;
|
|
460
462
|
/**
|
|
461
|
-
* Return a vector which is in the xy plane, perpendicular
|
|
463
|
+
* Return a vector which is in the xy plane, perpendicular to the xy part of this vector, and of unit length.
|
|
462
464
|
* * If the xy part is 00, the return is the rotated (but not normalized) xy parts of this vector.
|
|
463
465
|
* @param result optional preallocated result.
|
|
464
466
|
*/
|
|
@@ -632,6 +634,7 @@ export declare class Vector3d extends XYZ {
|
|
|
632
634
|
crossProductXY(vectorB: Vector3d): number;
|
|
633
635
|
/**
|
|
634
636
|
* Return the cross product of this vector and vectorB.
|
|
637
|
+
* * Visualization can be found at https://www.itwinjs.org/sandbox/SaeedTorabi/CrossProduct
|
|
635
638
|
* @param vectorB second vector of cross product
|
|
636
639
|
* @param result optional preallocated result.
|
|
637
640
|
*/
|
|
@@ -645,74 +648,71 @@ export declare class Vector3d extends XYZ {
|
|
|
645
648
|
*/
|
|
646
649
|
crossProductXYZ(x: number, y: number, z: number, result?: Vector3d): Vector3d;
|
|
647
650
|
/**
|
|
648
|
-
* Return the
|
|
649
|
-
* * The returned angle is
|
|
650
|
-
* * The returned angle is
|
|
651
|
-
* * Use `planarRadiansTo` and `signedRadiansTo` to
|
|
651
|
+
* Return the angle in radians (not as strongly typed Angle) from this vector to vectorB.
|
|
652
|
+
* * The returned angle is between 0 and `Math.PI`.
|
|
653
|
+
* * The returned angle is measured in the plane containing the two vectors.
|
|
654
|
+
* * Use `planarRadiansTo` and `signedRadiansTo` to return an angle measured in a specific plane.
|
|
652
655
|
* @param vectorB target vector.
|
|
653
656
|
*/
|
|
654
657
|
radiansTo(vectorB: Vector3d): number;
|
|
655
658
|
/**
|
|
656
|
-
* Return the (strongly
|
|
657
|
-
* * The returned angle is
|
|
658
|
-
* * The returned angle is
|
|
659
|
-
* * Use `planarAngleTo` and `signedAngleTo` to
|
|
659
|
+
* Return the (strongly-typed) angle from this vector to vectorB.
|
|
660
|
+
* * The returned angle is between 0 and 180 degrees.
|
|
661
|
+
* * The returned angle is measured in the plane containing the two vectors.
|
|
662
|
+
* * Use `planarAngleTo` and `signedAngleTo` to return an angle measured in a specific plane.
|
|
660
663
|
* @param vectorB target vector.
|
|
661
664
|
*/
|
|
662
665
|
angleTo(vectorB: Vector3d): Angle;
|
|
663
666
|
/**
|
|
664
|
-
* Return the (strongly
|
|
665
|
-
* * The returned
|
|
666
|
-
* * The returned
|
|
667
|
-
* * The function returns
|
|
667
|
+
* Return the (strongly-typed) angle from this vector to the plane perpendicular to planeNormal.
|
|
668
|
+
* * The returned angle is between -90 and 90 degrees.
|
|
669
|
+
* * The returned angle is measured in the plane containing the two vectors.
|
|
670
|
+
* * The function returns PI/2 - angleTo(planeNormal).
|
|
668
671
|
* @param planeNormal a normal vector to the plane.
|
|
669
672
|
*/
|
|
670
673
|
angleFromPerpendicular(planeNormal: Vector3d): Angle;
|
|
671
674
|
/**
|
|
672
|
-
* Return the (
|
|
673
|
-
* * The returned angle
|
|
674
|
-
* *
|
|
675
|
-
* * Use `planarAngleTo` and `signedAngleTo` to take have angle measured in other planes.
|
|
675
|
+
* Return the (strongly-typed) angle from this vector to vectorB, using only the xy parts.
|
|
676
|
+
* * The returned angle is between -180 and 180 degrees.
|
|
677
|
+
* * Use `planarAngleTo` and `signedAngleTo` to return an angle measured in a specific plane.
|
|
676
678
|
* @param vectorB target vector.
|
|
677
679
|
*/
|
|
678
680
|
angleToXY(vectorB: Vector3d): Angle;
|
|
679
681
|
/**
|
|
680
|
-
* Return the
|
|
681
|
-
* in
|
|
682
|
-
* * The returned angle
|
|
683
|
-
* *
|
|
684
|
-
*
|
|
685
|
-
* * vectorW does not have to be perpendicular to the plane.
|
|
686
|
-
* * Use planarRadiansTo to measure the angle between vectors that are projected to another plane.
|
|
682
|
+
* Return the angle in radians (not as strongly-typed Angle) from this vector to vectorB, measured
|
|
683
|
+
* in their containing plane whose normal lies in the same half-space as vectorW.
|
|
684
|
+
* * The returned angle is between `-Math.PI` and `Math.PI`.
|
|
685
|
+
* * If the cross product of this vector and vectorB lies on the same side of the plane as vectorW,
|
|
686
|
+
* this function returns `radiansTo(vectorB)`; otherwise, it returns `-radiansTo(vectorB)`.
|
|
687
|
+
* * `vectorW` does not have to be perpendicular to the plane.
|
|
688
|
+
* * Use `planarRadiansTo` to measure the angle between vectors that are projected to another plane.
|
|
687
689
|
* @param vectorB target vector.
|
|
688
|
-
* @param vectorW
|
|
690
|
+
* @param vectorW determines the side of the plane in which the returned angle is measured
|
|
689
691
|
*/
|
|
690
692
|
signedRadiansTo(vectorB: Vector3d, vectorW: Vector3d): number;
|
|
691
|
-
/**
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
* @param vectorW distinguishes between the sides of the plane.
|
|
702
|
-
*/
|
|
693
|
+
/** Return the (strongly-typed) angle from this vector to vectorB, measured
|
|
694
|
+
* in their containing plane whose normal lies in the same half-space as vectorW.
|
|
695
|
+
* * The returned angle is between -180 and 180 degrees.
|
|
696
|
+
* * If the cross product of this vector and vectorB lies on the same side of the plane as vectorW,
|
|
697
|
+
* this function returns `angleTo(vectorB)`; otherwise, it returns `-angleTo(vectorB)`.
|
|
698
|
+
* * `vectorW` does not have to be perpendicular to the plane.
|
|
699
|
+
* * Use `planarAngleTo` to measure the angle between vectors that are projected to another plane.
|
|
700
|
+
* @param vectorB target vector.
|
|
701
|
+
* @param vectorW determines the side of the plane in which the returned angle is measured
|
|
702
|
+
*/
|
|
703
703
|
signedAngleTo(vectorB: Vector3d, vectorW: Vector3d): Angle;
|
|
704
704
|
/**
|
|
705
|
-
* Return the radians (as
|
|
705
|
+
* Return the angle in radians (not as strongly-typed Angle) from this vector to vectorB,
|
|
706
706
|
* measured between their projections to the plane with the given normal.
|
|
707
|
-
* * The returned angle
|
|
707
|
+
* * The returned angle is between `-Math.PI` and `Math.PI`.
|
|
708
708
|
* @param vectorB target vector
|
|
709
709
|
* @param planeNormal the normal vector to the plane.
|
|
710
710
|
*/
|
|
711
711
|
planarRadiansTo(vectorB: Vector3d, planeNormal: Vector3d): number;
|
|
712
712
|
/**
|
|
713
|
-
* Return the
|
|
713
|
+
* Return the (strongly-type) angle from this vector to vectorB,
|
|
714
714
|
* measured between their projections to the plane with the given normal.
|
|
715
|
-
* * The returned angle
|
|
715
|
+
* * The returned angle is between -180 and 180 degrees.
|
|
716
716
|
* @param vectorB target vector.
|
|
717
717
|
* @param planeNormal the normal vector to the plane.
|
|
718
718
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Point3dVector3d.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Point3dVector3d.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Point3dVector3d.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Point3dVector3d.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
/** @packageDocumentation
|
|
7
7
|
* @module CartesianGeometry
|
|
8
8
|
*/
|
|
9
|
-
// cspell:word CWXY
|
|
10
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
10
|
exports.Vector3d = exports.Point3d = exports.XYZ = void 0;
|
|
12
11
|
const Geometry_1 = require("../Geometry");
|
|
13
12
|
const Angle_1 = require("./Angle");
|
|
14
13
|
const XYZProps_1 = require("./XYZProps");
|
|
14
|
+
// cspell:words CWXY CCWXY arctan Rodrigues
|
|
15
15
|
/**
|
|
16
16
|
* * `XYZ` is a minimal object containing x,y,z and operations that are meaningful without change in both point and vector.
|
|
17
17
|
* * `XYZ` is not instantiable.
|
|
@@ -248,7 +248,7 @@ class XYZ {
|
|
|
248
248
|
setAt(index, value) {
|
|
249
249
|
if (index < 0.5)
|
|
250
250
|
this.x = value;
|
|
251
|
-
if (index > 1.5)
|
|
251
|
+
else if (index > 1.5)
|
|
252
252
|
this.z = value;
|
|
253
253
|
else
|
|
254
254
|
this.y = value;
|
|
@@ -752,9 +752,9 @@ class Vector3d extends XYZ {
|
|
|
752
752
|
}
|
|
753
753
|
/**
|
|
754
754
|
* Return a vector defined by start and end points (end - start).
|
|
755
|
-
* @param start start point for vector
|
|
756
|
-
* @param end end point for vector
|
|
757
|
-
* @param result optional result
|
|
755
|
+
* @param start start point for vector.
|
|
756
|
+
* @param end end point for vector.
|
|
757
|
+
* @param result optional result.
|
|
758
758
|
*/
|
|
759
759
|
static createStartEnd(start, end, result) {
|
|
760
760
|
const zStart = XYZ.accessZ(start, 0.0);
|
|
@@ -768,22 +768,22 @@ class Vector3d extends XYZ {
|
|
|
768
768
|
}
|
|
769
769
|
/**
|
|
770
770
|
* Return a vector (optionally in preallocated result, otherwise newly created) from [x0,y0,z0] to [x1,y1,z1]
|
|
771
|
-
* @param x0 start point x coordinate
|
|
772
|
-
* @param y0 start point y coordinate
|
|
773
|
-
* @param z0 start point z coordinate
|
|
774
|
-
* @param x1 end point x coordinate
|
|
775
|
-
* @param y1 end point y coordinate
|
|
776
|
-
* @param z1 end point z coordinate
|
|
777
|
-
* @param result optional result vector
|
|
771
|
+
* @param x0 start point x coordinate.
|
|
772
|
+
* @param y0 start point y coordinate.
|
|
773
|
+
* @param z0 start point z coordinate.
|
|
774
|
+
* @param x1 end point x coordinate.
|
|
775
|
+
* @param y1 end point y coordinate.
|
|
776
|
+
* @param z1 end point z coordinate.
|
|
777
|
+
* @param result optional result vector.
|
|
778
778
|
*/
|
|
779
779
|
static createStartEndXYZXYZ(x0, y0, z0, x1, y1, z1, result) {
|
|
780
780
|
return this.create(x1 - x0, y1 - y0, z1 - z0, result);
|
|
781
781
|
}
|
|
782
782
|
/**
|
|
783
|
-
* Return a vector which is the input vector rotated around the axis vector.
|
|
784
|
-
* @param vector initial vector
|
|
785
|
-
* @param axis axis of rotation
|
|
786
|
-
* @param angle angle of rotation. If undefined, 90 degrees is implied
|
|
783
|
+
* Return a vector which is the input `vector` rotated by `angle` around the `axis` vector.
|
|
784
|
+
* @param vector initial vector.
|
|
785
|
+
* @param axis axis of rotation.
|
|
786
|
+
* @param angle angle of rotation. If undefined, 90 degrees is implied.
|
|
787
787
|
* @param result optional result vector
|
|
788
788
|
* @returns undefined if axis has no length.
|
|
789
789
|
*/
|
|
@@ -807,7 +807,7 @@ class Vector3d extends XYZ {
|
|
|
807
807
|
}
|
|
808
808
|
/**
|
|
809
809
|
* Set (replace) xyz components so they are a vector from point0 to point1
|
|
810
|
-
* @param point0 start point of computed vector
|
|
810
|
+
* @param point0 start point of computed vector.
|
|
811
811
|
* @param point1 end point of computed vector.
|
|
812
812
|
*/
|
|
813
813
|
setStartEnd(point0, point1) {
|
|
@@ -850,7 +850,7 @@ class Vector3d extends XYZ {
|
|
|
850
850
|
return { v: this.safeDivideOrNull(magnitude, result), mag: magnitude };
|
|
851
851
|
}
|
|
852
852
|
/**
|
|
853
|
-
* Return a unit vector parallel with this.
|
|
853
|
+
* Return a unit vector parallel with this. Return undefined if this.magnitude is near zero.
|
|
854
854
|
* @param result optional result.
|
|
855
855
|
*/
|
|
856
856
|
normalize(result) {
|
|
@@ -887,6 +887,8 @@ class Vector3d extends XYZ {
|
|
|
887
887
|
* * It's returning the signed projection magnitude divided by the target magnitude.
|
|
888
888
|
* * To find the projection vector, scale the target vector by the value that this function is returning.
|
|
889
889
|
* * math details can be found at docs/learning/geometry/PointVector.md
|
|
890
|
+
* * Visualization can be found at https://www.itwinjs.org/sandbox/SaeedTorabi/ProjectVectorOnVector
|
|
891
|
+
* and https://www.itwinjs.org/sandbox/SaeedTorabi/ProjectVectorOnPlane
|
|
890
892
|
* @param target the target vector
|
|
891
893
|
* @param defaultFraction the returned value in case magnitude square of target vector is very small
|
|
892
894
|
* */
|
|
@@ -934,7 +936,7 @@ class Vector3d extends XYZ {
|
|
|
934
936
|
return result;
|
|
935
937
|
}
|
|
936
938
|
/**
|
|
937
|
-
* Return a vector which is in the xy plane, perpendicular
|
|
939
|
+
* Return a vector which is in the xy plane, perpendicular to the xy part of this vector, and of unit length.
|
|
938
940
|
* * If the xy part is 00, the return is the rotated (but not normalized) xy parts of this vector.
|
|
939
941
|
* @param result optional preallocated result.
|
|
940
942
|
*/
|
|
@@ -1279,6 +1281,7 @@ class Vector3d extends XYZ {
|
|
|
1279
1281
|
}
|
|
1280
1282
|
/**
|
|
1281
1283
|
* Return the cross product of this vector and vectorB.
|
|
1284
|
+
* * Visualization can be found at https://www.itwinjs.org/sandbox/SaeedTorabi/CrossProduct
|
|
1282
1285
|
* @param vectorB second vector of cross product
|
|
1283
1286
|
* @param result optional preallocated result.
|
|
1284
1287
|
*/
|
|
@@ -1296,10 +1299,10 @@ class Vector3d extends XYZ {
|
|
|
1296
1299
|
return Vector3d.createCrossProduct(this.x, this.y, this.z, x, y, z, result);
|
|
1297
1300
|
}
|
|
1298
1301
|
/**
|
|
1299
|
-
* Return the
|
|
1300
|
-
* * The returned angle is
|
|
1301
|
-
* * The returned angle is
|
|
1302
|
-
* * Use `planarRadiansTo` and `signedRadiansTo` to
|
|
1302
|
+
* Return the angle in radians (not as strongly typed Angle) from this vector to vectorB.
|
|
1303
|
+
* * The returned angle is between 0 and `Math.PI`.
|
|
1304
|
+
* * The returned angle is measured in the plane containing the two vectors.
|
|
1305
|
+
* * Use `planarRadiansTo` and `signedRadiansTo` to return an angle measured in a specific plane.
|
|
1303
1306
|
* @param vectorB target vector.
|
|
1304
1307
|
*/
|
|
1305
1308
|
radiansTo(vectorB) {
|
|
@@ -1308,45 +1311,44 @@ class Vector3d extends XYZ {
|
|
|
1308
1311
|
return Math.atan2(this.crossProductMagnitude(vectorB), this.dotProduct(vectorB));
|
|
1309
1312
|
}
|
|
1310
1313
|
/**
|
|
1311
|
-
* Return the (strongly
|
|
1312
|
-
* * The returned angle is
|
|
1313
|
-
* * The returned angle is
|
|
1314
|
-
* * Use `planarAngleTo` and `signedAngleTo` to
|
|
1314
|
+
* Return the (strongly-typed) angle from this vector to vectorB.
|
|
1315
|
+
* * The returned angle is between 0 and 180 degrees.
|
|
1316
|
+
* * The returned angle is measured in the plane containing the two vectors.
|
|
1317
|
+
* * Use `planarAngleTo` and `signedAngleTo` to return an angle measured in a specific plane.
|
|
1315
1318
|
* @param vectorB target vector.
|
|
1316
1319
|
*/
|
|
1317
1320
|
angleTo(vectorB) {
|
|
1318
1321
|
return Angle_1.Angle.createRadians(this.radiansTo(vectorB));
|
|
1319
1322
|
}
|
|
1320
1323
|
/**
|
|
1321
|
-
* Return the (strongly
|
|
1322
|
-
* * The returned
|
|
1323
|
-
* * The returned
|
|
1324
|
-
* * The function returns
|
|
1324
|
+
* Return the (strongly-typed) angle from this vector to the plane perpendicular to planeNormal.
|
|
1325
|
+
* * The returned angle is between -90 and 90 degrees.
|
|
1326
|
+
* * The returned angle is measured in the plane containing the two vectors.
|
|
1327
|
+
* * The function returns PI/2 - angleTo(planeNormal).
|
|
1325
1328
|
* @param planeNormal a normal vector to the plane.
|
|
1326
1329
|
*/
|
|
1327
1330
|
angleFromPerpendicular(planeNormal) {
|
|
1328
1331
|
return Angle_1.Angle.createAtan2(this.dotProduct(planeNormal), this.crossProductMagnitude(planeNormal));
|
|
1329
1332
|
}
|
|
1330
1333
|
/**
|
|
1331
|
-
* Return the (
|
|
1332
|
-
* * The returned angle
|
|
1333
|
-
* *
|
|
1334
|
-
* * Use `planarAngleTo` and `signedAngleTo` to take have angle measured in other planes.
|
|
1334
|
+
* Return the (strongly-typed) angle from this vector to vectorB, using only the xy parts.
|
|
1335
|
+
* * The returned angle is between -180 and 180 degrees.
|
|
1336
|
+
* * Use `planarAngleTo` and `signedAngleTo` to return an angle measured in a specific plane.
|
|
1335
1337
|
* @param vectorB target vector.
|
|
1336
1338
|
*/
|
|
1337
1339
|
angleToXY(vectorB) {
|
|
1338
1340
|
return Angle_1.Angle.createAtan2(this.crossProductXY(vectorB), this.dotProductXY(vectorB));
|
|
1339
1341
|
}
|
|
1340
1342
|
/**
|
|
1341
|
-
* Return the
|
|
1342
|
-
* in
|
|
1343
|
-
* * The returned angle
|
|
1344
|
-
* *
|
|
1345
|
-
*
|
|
1346
|
-
* * vectorW does not have to be perpendicular to the plane.
|
|
1347
|
-
* * Use planarRadiansTo to measure the angle between vectors that are projected to another plane.
|
|
1343
|
+
* Return the angle in radians (not as strongly-typed Angle) from this vector to vectorB, measured
|
|
1344
|
+
* in their containing plane whose normal lies in the same half-space as vectorW.
|
|
1345
|
+
* * The returned angle is between `-Math.PI` and `Math.PI`.
|
|
1346
|
+
* * If the cross product of this vector and vectorB lies on the same side of the plane as vectorW,
|
|
1347
|
+
* this function returns `radiansTo(vectorB)`; otherwise, it returns `-radiansTo(vectorB)`.
|
|
1348
|
+
* * `vectorW` does not have to be perpendicular to the plane.
|
|
1349
|
+
* * Use `planarRadiansTo` to measure the angle between vectors that are projected to another plane.
|
|
1348
1350
|
* @param vectorB target vector.
|
|
1349
|
-
* @param vectorW
|
|
1351
|
+
* @param vectorW determines the side of the plane in which the returned angle is measured
|
|
1350
1352
|
*/
|
|
1351
1353
|
signedRadiansTo(vectorB, vectorW) {
|
|
1352
1354
|
const p = this.crossProduct(vectorB);
|
|
@@ -1356,25 +1358,23 @@ class Vector3d extends XYZ {
|
|
|
1356
1358
|
else
|
|
1357
1359
|
return theta;
|
|
1358
1360
|
}
|
|
1359
|
-
/**
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
* @param vectorW distinguishes between the sides of the plane.
|
|
1370
|
-
*/
|
|
1361
|
+
/** Return the (strongly-typed) angle from this vector to vectorB, measured
|
|
1362
|
+
* in their containing plane whose normal lies in the same half-space as vectorW.
|
|
1363
|
+
* * The returned angle is between -180 and 180 degrees.
|
|
1364
|
+
* * If the cross product of this vector and vectorB lies on the same side of the plane as vectorW,
|
|
1365
|
+
* this function returns `angleTo(vectorB)`; otherwise, it returns `-angleTo(vectorB)`.
|
|
1366
|
+
* * `vectorW` does not have to be perpendicular to the plane.
|
|
1367
|
+
* * Use `planarAngleTo` to measure the angle between vectors that are projected to another plane.
|
|
1368
|
+
* @param vectorB target vector.
|
|
1369
|
+
* @param vectorW determines the side of the plane in which the returned angle is measured
|
|
1370
|
+
*/
|
|
1371
1371
|
signedAngleTo(vectorB, vectorW) {
|
|
1372
1372
|
return Angle_1.Angle.createRadians(this.signedRadiansTo(vectorB, vectorW));
|
|
1373
1373
|
}
|
|
1374
1374
|
/**
|
|
1375
|
-
* Return the radians (as
|
|
1375
|
+
* Return the angle in radians (not as strongly-typed Angle) from this vector to vectorB,
|
|
1376
1376
|
* measured between their projections to the plane with the given normal.
|
|
1377
|
-
* * The returned angle
|
|
1377
|
+
* * The returned angle is between `-Math.PI` and `Math.PI`.
|
|
1378
1378
|
* @param vectorB target vector
|
|
1379
1379
|
* @param planeNormal the normal vector to the plane.
|
|
1380
1380
|
*/
|
|
@@ -1392,9 +1392,9 @@ class Vector3d extends XYZ {
|
|
|
1392
1392
|
return thisProj.signedRadiansTo(vectorBProj, planeNormal);
|
|
1393
1393
|
}
|
|
1394
1394
|
/**
|
|
1395
|
-
* Return the
|
|
1395
|
+
* Return the (strongly-type) angle from this vector to vectorB,
|
|
1396
1396
|
* measured between their projections to the plane with the given normal.
|
|
1397
|
-
* * The returned angle
|
|
1397
|
+
* * The returned angle is between -180 and 180 degrees.
|
|
1398
1398
|
* @param vectorB target vector.
|
|
1399
1399
|
* @param planeNormal the normal vector to the plane.
|
|
1400
1400
|
*/
|
|
@@ -1423,9 +1423,8 @@ class Vector3d extends XYZ {
|
|
|
1423
1423
|
* @param options optional radian and distance tolerances.
|
|
1424
1424
|
*/
|
|
1425
1425
|
isParallelTo(other, oppositeIsParallel = false, returnValueIfAnInputIsZeroLength = false, options) {
|
|
1426
|
-
|
|
1427
|
-
const
|
|
1428
|
-
const distanceSquaredTol = (_b = options === null || options === void 0 ? void 0 : options.distanceSquaredTol) !== null && _b !== void 0 ? _b : Geometry_1.Geometry.smallMetricDistanceSquared;
|
|
1426
|
+
const radianSquaredTol = options?.radianSquaredTol ?? Geometry_1.Geometry.smallAngleRadiansSquared;
|
|
1427
|
+
const distanceSquaredTol = options?.distanceSquaredTol ?? Geometry_1.Geometry.smallMetricDistanceSquared;
|
|
1429
1428
|
const a2 = this.magnitudeSquared();
|
|
1430
1429
|
const b2 = other.magnitudeSquared();
|
|
1431
1430
|
if (a2 < distanceSquaredTol || b2 < distanceSquaredTol)
|
|
@@ -1448,9 +1447,8 @@ class Vector3d extends XYZ {
|
|
|
1448
1447
|
* @param options optional radian and distance tolerances.
|
|
1449
1448
|
*/
|
|
1450
1449
|
isPerpendicularTo(other, returnValueIfAnInputIsZeroLength = false, options) {
|
|
1451
|
-
|
|
1452
|
-
const
|
|
1453
|
-
const distanceSquaredTol = (_b = options === null || options === void 0 ? void 0 : options.distanceSquaredTol) !== null && _b !== void 0 ? _b : Geometry_1.Geometry.smallMetricDistanceSquared;
|
|
1450
|
+
const radianSquaredTol = options?.radianSquaredTol ?? Geometry_1.Geometry.smallAngleRadiansSquared;
|
|
1451
|
+
const distanceSquaredTol = options?.distanceSquaredTol ?? Geometry_1.Geometry.smallMetricDistanceSquared;
|
|
1454
1452
|
const aa = this.magnitudeSquared();
|
|
1455
1453
|
const bb = other.magnitudeSquared();
|
|
1456
1454
|
if (aa < distanceSquaredTol || bb < distanceSquaredTol)
|