@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
25 lines (24 loc) • 921 B
TypeScript
import { CoreGraphNode } from './CoreGraphNode';
export type PostDirtyHook = (caller?: CoreGraphNode) => void;
export declare class DirtyController {
private node;
private _dirtyCount;
private _dirty;
private _dirtyTimestamp;
private _cooker;
private _postDirtyHooks;
private _postDirtyHookNames;
constructor(node: CoreGraphNode);
dispose(): void;
isDirty(): boolean;
dirtyTimestamp(): number | undefined;
dirtyCount(): number;
hasPostDirtyHooks(): boolean;
addPostDirtyHook(name: string, method: PostDirtyHook): void;
removePostDirtyHook(name: string): void;
hasHook(name: string): boolean;
removeDirtyState(): void;
setDirty(originalTriggerGraphNode?: CoreGraphNode | null, propagate?: boolean): void;
runPostDirtyHooks(originalTriggerGraphNode?: CoreGraphNode): void;
setSuccessorsDirty(originalTriggerGraphNode?: CoreGraphNode): void;
}