Files
lan-manager/web/node_modules/@antv/g6-plugin/lib/bundling/index.d.ts
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

59 lines
1.8 KiB
TypeScript

import Base, { IPluginBaseConfig } from '../base';
import { IEdge, GraphData, NodeConfig } from '@antv/g6-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 {};