Files
lan-manager/web/node_modules/@antv/graphlib/lib/generate/compelement.js
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

37 lines
1.3 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGraphComplement = void 0;
var essence_1 = require("../essence");
var Graph_1 = __importDefault(require("../Graph"));
/**
* @description Get the graph's complement
* @description.zh-CN 获取图的补图
*/
var getGraphComplement = function (originGraph) {
if (!(0, essence_1.isSimpleGraph)(originGraph)) {
return null;
}
var nodeCount = originGraph.nodeCount();
var complementGraph = new Graph_1.default({
compound: originGraph.isCompound(),
directed: originGraph.isDirected(),
multigraph: originGraph.isMultigraph(),
});
var nodes = originGraph.nodes();
for (var i = 0; i < nodeCount; i++) {
var nodei = nodes[i];
complementGraph.setNode(nodei, originGraph.node(nodei));
for (var j = i + 1; j < nodeCount; j++) {
var nodej = nodes[j];
if (!originGraph.hasEdge(nodei, nodej)) {
complementGraph.setEdge(nodei, nodej);
}
}
}
return complementGraph;
};
exports.getGraphComplement = getGraphComplement;