import { GObject } from "./g_object"; import { PathTextAlighnment, ConnectorType, msoDashStyle, CoodinateType, EdgeType } from "../common/enums"; import { GVertex } from "./g_vertex"; import * as GOptions from "./g_options"; import { IEdge } from "./i_object"; export declare class GAbstractEdge extends GObject implements IEdge { constructor(svgbox: SVGElement | string); protected createSurface(svgbox: SVGElement, option?: GOptions.GObjectAttributes): void; protected setBasicOption(option: GOptions.GAbstractEdgeAttributes): void; get edgeType(): EdgeType; set edgeType(value: EdgeType); get svgPath(): SVGPathElement; get degree(): number; get childrenStableFlag(): boolean; /** * この辺を廃棄します。廃棄した辺はグラフから取り除かれます。 */ dispose(): void; get coordinateType(): CoodinateType; get defaultClassName(): string | undefined; get hasSize(): boolean; get graph(): GObject | null; get beginVertexID(): string | null; protected set beginVertexID(v: string | null); /** * svgPathのstyle:strokeを返します。 */ get lineColor(): string | null; get endVertexID(): string | null; protected set endVertexID(v: string | null); /** * この辺のテキストがパスに沿って均等に描画される状態ならばTrueを返します。 */ get pathTextAlignment(): PathTextAlighnment; set pathTextAlignment(value: PathTextAlighnment); protected get pathPoints(): [number, number][]; protected set pathPoints(points: [number, number][]); /** 開始接点を返します。 */ get beginVertex(): GVertex | null; /** 開始接点を設定します。 */ set beginVertex(value: GVertex | null); /** 終了接点を返します。 */ get endVertex(): GVertex | null; /** 終了接点を設定します。 */ set endVertex(value: GVertex | null); /** 開始位置のX座標を返します。 */ get x1(): number; set x1(value: number); /** 開始位置のY座標を返します。 */ get y1(): number; set y1(value: number); /** 終了位置のX座標を返します。 */ get x2(): number; set x2(value: number); /** 終了位置のY座標を返します。 */ get y2(): number; set y2(value: number); /** 開始接点の接続位置を返します。 */ get beginConnectorType(): ConnectorType; /** 開始接点の接続位置を設定します。 */ set beginConnectorType(value: ConnectorType); /** 終了接点の接続位置を返します。 */ get endConnectorType(): ConnectorType; /** 終了接点の接続位置を設定します。 */ set endConnectorType(value: ConnectorType); private static markerCounter; /** * 矢印オブジェクトを作成します。 */ private static createMark; static createStartMarker(option?: { className?: string; strokeWidth?: string; color?: string; }): SVGMarkerElement; static createEndMarker(option?: { className?: string; strokeWidth?: string; color?: string; }): SVGMarkerElement; /** * 開始位置の矢印オブジェクトを返します。 */ get markerStart(): SVGMarkerElement | null; /** * 開始位置の矢印オブジェクトを設定します。 * @param value 代入するSVGMarkerElementもしくはNull */ set markerStart(value: SVGMarkerElement | null); /** * 終了位置の矢印オブジェクトを返します。 */ get markerEnd(): SVGMarkerElement | null; set markerEnd(value: SVGMarkerElement | null); get msoDashStyle(): msoDashStyle | null; set msoDashStyle(value: msoDashStyle | null); private removeVertexEvent; private addVertexEvent; private connectPositionChangedFunc; private tryUpdateConnectorWithUpdateFlag; private tryUpdateDashArrayWithUpdateFlag; private updateSurfaceWithUpdateFlag; private updateLocationWithUpdateFlag; getUpdateFlag(): boolean; update(): void; get beginConnectoPosition(): [number, number]; get endConnectorPosition(): [number, number]; protected elbowCalculator(x1: number, y1: number, type1: ConnectorType, x2: number, y2: number, type2: ConnectorType, recursion?: number): [number, number][]; private static connectedBeginVertexDic; private static connectedEndVertexDic; static getConnectedVertexFromDic(edge: GAbstractEdge, isBegin: boolean): GVertex | null; static setConnectedVertexFromDic(edge: GAbstractEdge, isBegin: boolean): void; static constructAttributes(e: Element, removeAttributes?: boolean, output?: GOptions.GAbstractEdgeAttributes): GOptions.GAbstractEdgeAttributes; }