polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
35 lines (34 loc) • 1.73 kB
TypeScript
import { TypedNode } from '../../../nodes/_Base';
import { SceneJsonImporter } from '../../../io/json/import/Scene';
import { NodeContext } from '../../../poly/NodeContext';
import { NodeJsonExporterData } from '../export/Node';
import { PolyDictionary } from '../../../../types/GlobalTypes';
declare type BaseNodeTypeWithIO = TypedNode<NodeContext, any>;
interface RootNodeGenericData {
outputs_count: number;
non_optimized_count: number;
}
export declare class OptimizedNodesJsonImporter<T extends BaseNodeTypeWithIO> {
protected _node: T;
constructor(_node: T);
private _nodes;
private _optimized_root_node_names;
private _operation_containers_by_name;
nodes(): BaseNodeTypeWithIO[];
process_data(scene_importer: SceneJsonImporter, data?: PolyDictionary<NodeJsonExporterData>): void;
private _node_inputs;
private _add_optimized_node_inputs;
static child_names_by_optimized_state(data: PolyDictionary<NodeJsonExporterData>): {
optimized_names: string[];
non_optimized_names: string[];
};
static is_optimized_root_node_generic(data: RootNodeGenericData): boolean;
static is_optimized_root_node(data: PolyDictionary<NodeJsonExporterData>, current_node_name: string): boolean;
static is_optimized_root_node_from_node<NC extends NodeContext>(node: TypedNode<NC, any>): boolean;
static node_outputs(data: PolyDictionary<NodeJsonExporterData>, current_node_name: string): Set<string>;
private _create_operation_container;
static operation_type(node_data: NodeJsonExporterData): string;
static is_node_optimized(node_data: NodeJsonExporterData): boolean;
static is_node_bypassed(node_data: NodeJsonExporterData): boolean;
}
export {};