UNPKG

@antv/f6-plugin

Version:
59 lines (58 loc) 1.89 kB
import Base, { IPluginBaseConfig } from '../base'; import { IEdge, GraphData, NodeConfig } from '@antv/f6-core'; import { Point } from '@antv/g-base'; interface BundlingConfig extends IPluginBaseConfig { edgeBundles?: IEdge[]; edgePoints?: NodeConfig[]; K?: number; lambda?: number; divisions?: number; divRate?: number; cycles?: number; iterations?: number; iterRate?: number; bundleThreshold?: number; eps?: number; onLayoutEnd?: () => void; onTick?: () => void; } interface VectorPosition { source: { x: number; y: number; }; target: { x: number; y: number; }; vx: number; vy: number; length: number; } export default class Bundling extends Base { constructor(config?: BundlingConfig); getDefaultCfgs(): BundlingConfig; init(): void; bundling(data: GraphData): void; updateBundling(cfg: BundlingConfig): void; divideEdges(divisions: number): Point[][]; /** * 计算边的长度 * @param points */ getEdgeLength(points: Point[]): number; getEdgeBundles(): number[]; getBundleScore(ei: any, ej: any): number; protected getAngleScore(ei: VectorPosition, ej: VectorPosition): number; protected getScaleScore(ei: VectorPosition, ej: VectorPosition): number; protected getPositionScore(ei: VectorPosition, ej: VectorPosition): number; protected getVisibilityScore(ei: VectorPosition, ej: VectorPosition): number; protected getEdgeVisibility(ei: VectorPosition, ej: VectorPosition): number; protected getEdgeForces(e: any, eidx: number, divisions: number, lambda: number): Point[]; protected getSpringForce(divisions: any, kp: number): Point; protected getElectrostaticForce(pidx: number, eidx: number): Point; isTicking(): boolean; getSimulation(): any; destroy(): void; } export {};