Skip to content

Class: GraphSystem ​

图系统 (贴合数学上的图论)

一、提供静态方法,可以把Node/Link对象集合转成 图对象;

二、根据图对象可以更方便的分析对象关系,例如:

  1. 某个节点的出入度、邻接节点列表
  2. 图的遍历
  3. 从一个节点到另外一个节点的路径信息等

提供、提供常用算法,例如:

  1. 最小生成树
  2. 判断一个图是否是“树”( 是否有回路 等)
  3. 是否零图
  4. 图的阶(Order)、是否零图、是否平凡图等
js
// 代码示例:
// node&link对象集合
let objects = layer.children;

// 转成图对象(0-多个)
let graphArr = stage.graphSystem.objectsToGraphs(objects);

let graph = graphArr[0];
console.log(graph.isTree());

// 顶点集合
let vertexes = graph.vertexes;
console.log('第一个顶点的出度为:', graph.vertexes[0].getOutDegree());

// 边集合
let edges = graph.edges;
// ...

Table of contents ​

Constructors ​

Methods ​

Constructors ​

constructor ​

new GraphSystem()

Methods ​

getLinks(graph): any[]

Parameters ​

NameType
graphGraph

Returns ​

any[]


getNodes ​

getNodes(graph): any[]

Parameters ​

NameType
graphGraph

Returns ​

any[]


objectsToGraphs ​

objectsToGraphs(displayObjects): Graph[]

将Node或者Link集合转成图列表

Parameters ​

NameType
displayObjects(Node | Link)[]

Returns ​

Graph[]


toGraphs ​

toGraphs(vertexes, edges): Graph[]

Parameters ​

NameType
vertexesVertext[]
edgesEdge[]

Returns ​

Graph[]


toTree ​

toTree(graph): VirtualTree

生成1棵虚拟树( 提出去放到system)

Parameters ​

NameType
graphGraph

Returns ​

VirtualTree

Array


travelVertext ​

travelVertext(v, subVertexes?, subEdges?, markSet?): void

Parameters ​

NameTypeDefault value
vVertextundefined
subVertexesVertext[][]
subEdgesEdge[][]
markSetSet<any>undefined

Returns ​

void


createMinimalSpanningTree ​

Static createMinimalSpanningTree(graph): Graph

根据图生成最小生成树

Parameters ​

NameType
graphGraph

Returns ​

Graph