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