polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
59 lines (58 loc) • 2.14 kB
TypeScript
import { Number2, PolyDictionary } from '../../../../types/GlobalTypes';
import { TypedNode } from '../../../nodes/_Base';
import { NodeContext } from '../../../poly/NodeContext';
import { ParamJsonExporterData } from '../../../nodes/utils/io/IOController';
import { ParamType } from '../../../poly/ParamType';
import { BaseConnectionPointData } from '../../../nodes/utils/io/connections/_Base';
interface NamedInputData {
index: number;
node: string;
output: string;
}
declare type IndexedInputData = string | null;
export declare type InputData = NamedInputData | IndexedInputData;
interface FlagsData {
bypass?: boolean;
display?: boolean;
optimize?: boolean;
}
export interface IoConnectionPointsData {
in?: BaseConnectionPointData[];
out?: BaseConnectionPointData[];
}
export interface NodeJsonExporterData {
type: string;
nodes?: PolyDictionary<NodeJsonExporterData>;
children_context?: NodeContext;
params?: PolyDictionary<ParamJsonExporterData<ParamType>>;
inputs?: InputData[];
connection_points?: IoConnectionPointsData;
selection?: string[];
flags?: FlagsData;
cloned_state_overriden?: boolean;
persisted_config?: object;
}
export interface NodeJsonExporterUIData {
pos?: Number2;
comment?: string;
nodes: PolyDictionary<NodeJsonExporterUIData>;
}
declare type BaseNodeTypeWithIO = TypedNode<NodeContext, any>;
export interface DataRequestOption {
showPolyNodesData?: boolean;
}
export declare class NodeJsonExporter<T extends BaseNodeTypeWithIO> {
protected _node: T;
private _data;
constructor(_node: T);
data(options?: DataRequestOption): NodeJsonExporterData;
ui_data(options?: DataRequestOption): NodeJsonExporterUIData;
protected ui_data_without_children(): NodeJsonExporterUIData;
private is_root;
protected inputs_data(): InputData[];
protected connection_points_data(): IoConnectionPointsData | undefined;
protected params_data(): PolyDictionary<any>;
protected nodes_data(options?: DataRequestOption): PolyDictionary<NodeJsonExporterData>;
protected add_custom(): void;
}
export {};