UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

48 lines (47 loc) 2.15 kB
import { PolyScene } from '../../engine/scene/PolyScene'; import { CoreGraphNode } from './CoreGraphNode'; export type CoreGraphNodeId = number; export declare class CoreGraph { private _nextId; private _scene; private _successors; private _predecessors; private _nodesById; private _forbiddenTriggerNodeIds; private _selfDirtyForbidden; private _nodesCount; private _debugging; private _addedNodesDuringDebugging; startDebugging(): void; stopDebugging(): void; printDebug(): void; setScene(scene: PolyScene): void; scene(): PolyScene | undefined; nextId(): CoreGraphNodeId; nodesFromIds(ids: number[], target: CoreGraphNode[]): void; nodeFromId(id: number): CoreGraphNode | undefined; hasNode(node: CoreGraphNode): boolean; addNode(node: CoreGraphNode): void; removeNode(node: CoreGraphNode): void; nodesCount(): number; connect(src: CoreGraphNode, dest: CoreGraphNode, checkCycle?: boolean): boolean; disconnect(src: CoreGraphNode, dest: CoreGraphNode): void; disconnectPredecessors(node: CoreGraphNode): void; disconnectSuccessors(node: CoreGraphNode): void; predecessorIds(id: CoreGraphNodeId): CoreGraphNodeId[] | undefined; predecessors(node: CoreGraphNode): CoreGraphNode[] | undefined; successorIds(id: CoreGraphNodeId): CoreGraphNodeId[] | undefined; successors(node: CoreGraphNode): CoreGraphNode[] | undefined; private _boundPredecessorIds; private _boundSuccessorIds; allPredecessorIds(node: CoreGraphNode, target: CoreGraphNodeId[]): void; allSuccessorIds(node: CoreGraphNode, target: CoreGraphNodeId[]): void; allPredecessors(node: CoreGraphNode, target: CoreGraphNode[]): void; allSuccessors(node: CoreGraphNode, target: CoreGraphNode[]): void; private _createConnection; private _removeConnection; setForbiddenTriggerNodes(src: CoreGraphNode, dest: CoreGraphNode | CoreGraphNode[]): void; clearForbiddenTriggerNodes(src: CoreGraphNode): void; setSelfDirtyForbidden(node: CoreGraphNode, state: boolean): void; selfDirtyForbidden(node: CoreGraphNode): boolean; }