polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
29 lines (28 loc) • 1.26 kB
TypeScript
import { CoreGraphNode } from './CoreGraphNode';
import { CoreGraphNodeId } from './CoreGraph';
export declare type PostDirtyHook = (caller?: CoreGraphNode) => void;
export declare class DirtyController {
private node;
_dirty_count: number;
_dirty: boolean;
_dirty_timestamp: number | undefined;
_cached_successors: CoreGraphNode[] | undefined;
_forbidden_trigger_nodes: CoreGraphNodeId[] | undefined;
_post_dirty_hooks: PostDirtyHook[] | undefined;
_post_dirty_hook_names: string[] | undefined;
constructor(node: CoreGraphNode);
dispose(): void;
isDirty(): boolean;
dirtyTimestamp(): number | undefined;
dirtyCount(): number;
addPostDirtyHook(name: string, method: PostDirtyHook): void;
removePostDirtyHook(name: string): void;
has_hook(name: string): boolean;
removeDirtyState(): void;
set_forbidden_trigger_nodes(nodes: CoreGraphNode[]): void;
set_dirty(original_trigger_graph_node?: CoreGraphNode | null, propagate?: boolean): void;
run_post_dirty_hooks(original_trigger_graph_node?: CoreGraphNode): void;
set_successors_dirty(original_trigger_graph_node?: CoreGraphNode): void;
clear_successors_cache(): void;
clear_successors_cache_with_predecessors(): void;
}