UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

38 lines (37 loc) 1.89 kB
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 {};