UNPKG

@polygonjs/polygonjs

Version:

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

50 lines (49 loc) 2.32 kB
import { BaseNodeClass, BaseNodeType } from '../../../nodes/_Base'; import { BaseOperation } from '../../../operations/_Base'; import { NodeContext } from '../../NodeContext'; import { PolyEngine } from '../../../Poly'; import { PolyDictionary } from '../../../../types/GlobalTypes'; export interface OperationRegisterOptions { printWarnings?: boolean; } export interface NodeRegisterOptions { only?: string[]; except?: string[]; userAllowed?: boolean; polyNode?: boolean; printWarnings?: boolean; } export type BaseNodeConstructor = typeof BaseNodeClass; type NodeConstructorByType = Map<string, BaseNodeConstructor>; type NodeConstructorByTypeByContext = Map<NodeContext, NodeConstructorByType>; export type BaseOperationConstructor = typeof BaseOperation; export type OnNodeRegisterCallback = (poly: PolyEngine) => void; export type OnOperationRegisterCallback = (poly: PolyEngine) => void; export declare class NodesRegister { private poly; private _nodesRegister; private _nodesRegisterCategories; private _nodesRegisterOptions; constructor(poly: PolyEngine); private static type; private static filterType; register(node: BaseNodeConstructor, tabMenuCategory?: string | string[], options?: NodeRegisterOptions): void; deregister(context: NodeContext, nodeType: string): void; isRegistered(context: NodeContext, nodeType: string): boolean; nodeOptions(context: NodeContext, nodeType: string): NodeRegisterOptions | undefined; registeredNodesForParentNode(parentNode: BaseNodeType): (typeof BaseNodeClass)[]; registeredNodes(parentNode: BaseNodeType): PolyDictionary<BaseNodeConstructor>; registeredCategory(context: NodeContext, nodeType: string): string[] | undefined; map(): NodeConstructorByTypeByContext; } export declare class OperationsRegister { private poly; private _operation_register; constructor(poly: PolyEngine); private static type; private static filterType; register(operation: BaseOperationConstructor, options?: OperationRegisterOptions): void; registeredOperationsForContextAndParentType(context: NodeContext, parentNodeType: string): (typeof BaseOperation)[]; registeredOperation(context: NodeContext, operationType: string): BaseOperationConstructor | undefined; } export {};