UNPKG

@polygonjs/polygonjs

Version:

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

83 lines (82 loc) 2.59 kB
import { CoreGraphNodeId } from './CoreGraph'; import { DirtyController, PostDirtyHook } from './DirtyController'; import { PolyScene } from '../../engine/scene/PolyScene'; /** * * * This is the base class for nodes and params, which are part of the same graph, and are connected to dependencies. * */ export declare class CoreGraphNode { protected _scene: PolyScene; protected _name: string; private _graph; private _graphNodeId; private _dirtyController; private _allPredecessors; private _allSuccessors; private _allPredecessorsDirty; private _allSuccessorsDirty; constructor(_scene: PolyScene, _name: string); private _disposed; dispose(): void; disposed(): boolean; /** * returns the name * */ name(): string; setName(name: string): void; /** * returns the scene * */ scene(): PolyScene; /** * returns the id, which is unique for the scene * */ graphNodeId(): CoreGraphNodeId; get dirtyController(): DirtyController; /** * makes the graphNode dirty, which in turns makes its dependencies dirty * */ setDirty(trigger?: CoreGraphNode | null): void; /** * makes dependencies dirty * */ setSuccessorsDirty(trigger?: CoreGraphNode): void; /** * removes the dirty state * */ removeDirtyState(): void; isDirty(): boolean; /** * adds a callback that gets run when the graphNode is dirty * */ addPostDirtyHook(name: string, callback: PostDirtyHook): void; removePostDirtyHook(name: string): void; graphRemove(): void; addGraphInput(src: CoreGraphNode, checkCycle?: boolean): boolean; removeGraphInput(src: CoreGraphNode): void; graphDisconnectPredecessors(): void; graphDisconnectSuccessors(): void; graphPredecessorIds(): Readonly<CoreGraphNodeId[]> | undefined; graphPredecessors(): Readonly<CoreGraphNode[]> | undefined; graphSuccessorIds(): Readonly<CoreGraphNodeId[]> | undefined; graphSuccessors(): Readonly<CoreGraphNode[]> | undefined; private _clearAllPredecessors; private _clearAllSuccessors; graphAllPredecessors(): Readonly<CoreGraphNode[]>; graphAllSuccessors(): Readonly<CoreGraphNode[]>; hasPredecessor(node: CoreGraphNode): boolean; clearCachesWithPredecessorsAndSuccessors(): void; setForbiddenTriggerNodes(nodes: CoreGraphNode | CoreGraphNode[]): void; clearForbiddenTriggerNodes(): void; setSelfDirtyForbidden(state: boolean): void; selfDirtyForbidden(): boolean; }