/******************************************************************************** * Copyright (c) 2019 TypeFox and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ import { Point } from "sprotty-protocol/lib/utils/geometry"; import { SRoutingHandleImpl } from "./model"; import { ResolvedHandleMove } from "../move/move"; import { AnchorComputerRegistry } from "./anchor"; import { AbstractEdgeRouter, LinearRouteOptions } from "./abstract-edge-router"; import { SRoutableElementImpl } from "./model"; import { RoutedPoint } from "./routing"; export interface PolylineRouteOptions extends LinearRouteOptions { /** The angle in radians below which a routing handle is removed. */ removeAngleThreshold: number; } export declare class PolylineEdgeRouter extends AbstractEdgeRouter { anchorRegistry: AnchorComputerRegistry; static readonly KIND = "polyline"; get kind(): string; protected getOptions(edge: SRoutableElementImpl): PolylineRouteOptions; route(edge: SRoutableElementImpl): RoutedPoint[]; /** * Remove routed points that are in edit mode and for which the angle between the preceding and * following points falls below a threshold. */ protected filterEditModeHandles(route: RoutedPoint[], edge: SRoutableElementImpl, options: PolylineRouteOptions): RoutedPoint[]; createRoutingHandles(edge: SRoutableElementImpl): void; getInnerHandlePosition(edge: SRoutableElementImpl, route: RoutedPoint[], handle: SRoutingHandleImpl): Point | undefined; applyInnerHandleMoves(edge: SRoutableElementImpl, moves: ResolvedHandleMove[]): void; } //# sourceMappingURL=polyline-edge-router.d.ts.map