polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
38 lines (37 loc) • 1.89 kB
TypeScript
import { BaseNodeClass } from '../../../nodes/_Base';
import { BaseOperation } from '../../../../core/operations/_Base';
import { NodeContext } from '../../NodeContext';
import { PolyEngine } from '../../../Poly';
import { PolyDictionary } from '../../../../types/GlobalTypes';
export interface RegisterOptions {
only?: string[];
except?: string[];
user_allowed?: boolean;
}
export declare type BaseNodeConstructor = typeof BaseNodeClass;
declare type NodeConstructorByType = Map<string, BaseNodeConstructor>;
declare type NodeConstructorByTypeByContext = Map<NodeContext, NodeConstructorByType>;
export declare type BaseOperationConstructor = typeof BaseOperation;
export declare class NodesRegister {
private poly;
private _node_register;
private _node_register_categories;
private _node_register_options;
constructor(poly: PolyEngine);
register(node: BaseNodeConstructor, tab_menu_category?: string, options?: RegisterOptions): void;
deregister(context: NodeContext, node_type: string): void;
is_registered(context: NodeContext, type: string): boolean;
registered_nodes_for_context_and_parent_type(context: NodeContext, parent_node_type: string): (typeof BaseNodeClass)[];
registeredNodes(context: NodeContext, parent_node_type: string): PolyDictionary<BaseNodeConstructor>;
registered_category(context: NodeContext, type: string): string | undefined;
map(): NodeConstructorByTypeByContext;
}
export declare class OperationsRegister {
private poly;
private _operation_register;
constructor(poly: PolyEngine);
register(operation: BaseOperationConstructor): void;
registered_operations_for_context_and_parent_type(context: NodeContext, parent_node_type: string): (typeof BaseOperation)[];
registeredOperation(context: NodeContext, operation_type: string): BaseOperationConstructor | undefined;
}
export {};