/** @packageDocumentation * @module CartesianGeometry */ import { Arc3d } from "../curve/Arc3d"; import { CurveLocationDetail, CurveLocationDetailPair } from "../curve/CurveLocationDetail"; import { Point3d } from "./Point3dVector3d"; /** * `CoincidentGeometryQuery` has methods useful in testing for overlapping geometry. * * Each instance carries tolerance information that can be reused over extended call sequences. * * These methods are expected to be called internally by CurveCurve intersection methods. * @internal */ export declare class CoincidentGeometryQuery { private _vectorU?; private _vectorV?; private _tolerance; private constructor(); static create(tolerance?: number): CoincidentGeometryQuery; /** * * Assign both the fraction and fraction1 values in the detail, possibly swapped. * * reevaluate the points as simple interpolation between given points. */ static assignDetailInterpolatedFractionsAndPoints(detail: CurveLocationDetail, f0: number, f1: number, pointA: Point3d, pointB: Point3d, swap?: boolean): void; /** Return a curve location detail with projection of a `spacePoint` to the line segment with `pointA` and `pointB` * */ projectPointToSegmentXY(spacePoint: Point3d, pointA: Point3d, pointB: Point3d): CurveLocationDetail; /** * * project `pointA0` and `pointA1` onto the segment with `pointB0` and `pointB1` * * In the returned detail pair, the `detailA` has fractions along segmentA, and `detailB` has fractions along segment B * @param pointA0 start point of segment A * @param pointA1 end point of segment A * @param pointB0 start point of segment B * @param pointB1 end point of segment B */ coincidentSegmentRangeXY(pointA0: Point3d, pointA1: Point3d, pointB0: Point3d, pointB1: Point3d, restrictToBounds?: boolean): CurveLocationDetailPair | undefined; /** * Create a CurveLocationDetailPair from . . . * @param cpA curveA * @param cpB curve B * @param fractionsOnA fractions of an active section of curveA * @param fractionB0 fraction of an original containing B interval * @param fractionB1 end fraction of an original containing B interval */ private createDetailPair; private appendDetailPair; /** * Test if 2 arcs have coinciding portions. * @param arcA * @param arcB * @param _restrictToBounds * @return 0, 1, or 2 overlap intervals. */ coincidentArcIntersectionXY(arcA: Arc3d, arcB: Arc3d, _restrictToBounds?: boolean): CurveLocationDetailPair[] | undefined; } //# sourceMappingURL=CoincidentGeometryOps.d.ts.map