/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module Curve
 */
import { NewtonEvaluatorRtoR } from "../../numerics/Newton";
/**
 * Intermediate class for managing the parentCurve announcements from an IStrokeHandler.
 * @internal
 */
export class NewtonRtoRStrokeHandler extends NewtonEvaluatorRtoR {
    _parentCurvePrimitive;
    constructor() {
        super();
        this._parentCurvePrimitive = undefined;
    }
    /**
     * Retain the parentCurvePrimitive.
     * * Calling this method tells the handler that the parent curve is to be used for detail searches.
     * * Example: Transition spiral search is based on linestring first, then the exact spiral.
     * * Example: CurveChainWithDistanceIndex does NOT do this announcement; the constituents act independently.
     */
    startParentCurvePrimitive(curve) {
        this._parentCurvePrimitive = curve;
    }
    /** Forget the parentCurvePrimitive */
    endParentCurvePrimitive(_curve) {
        this._parentCurvePrimitive = undefined;
    }
}
//# sourceMappingURL=NewtonRtoRStrokeHandler.js.map