"use strict";
/*---------------------------------------------------------------------------------------------
* 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
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.NewtonRtoRStrokeHandler = void 0;
const Newton_1 = require("../../numerics/Newton");
/**
 * Intermediate class for managing the parentCurve announcements from an IStrokeHandler.
 * @internal
 */
class NewtonRtoRStrokeHandler extends Newton_1.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;
    }
}
exports.NewtonRtoRStrokeHandler = NewtonRtoRStrokeHandler;
//# sourceMappingURL=NewtonRtoRStrokeHandler.js.map