import { Vector3 } from "three";
import { Curve } from "../DatabaseServices/Entity/Curve";
export interface Vertice {
    position: Vector3;
    routes: Route[];
}
export interface Route {
    curve: Curve;
    from: Vertice;
    to: Vertice;
    length: number;
    isReverse: boolean;
    an?: number;
    s: Vector3;
    e: Vector3;
}
/**
 * 曲线连接图
 * 所有的顶点和边的关系
 */
export declare class CurveMap {
    numdimensions: number;
    _RemoveSortLine: boolean;
    private multiplier;
    constructor(numdimensions?: number, _RemoveSortLine?: boolean, multiplier?: number);
    _VerticeMap: Map<Vector3, Vertice>;
    _Vertices: Vertice[];
    /**
     * 得到节点图的所有站点列表
     */
    get Stands(): Vertice[];
    /**
     * @param curve
     * @param [isArc=curve instanceof Arc]
     * @param [removeDuplicate=false]
     * @returns 加入成功?
     */
    AddCurveToMap(curve: Curve, isArc?: boolean, removeDuplicate?: boolean, parseAngle?: boolean): boolean;
    /**
    * 获得唯一的顶点
    */
    GetOnlyVertice(p: Vector3): Vertice;
    _LookupTable: {
        [key: string]: Vector3;
    };
    /**
     * 生成一个唯一的向量.
     */
    GenerateP(p: Vector3): Vector3;
}
//# sourceMappingURL=CurveMap.d.ts.map