@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
50 lines (49 loc) • 2.32 kB
TypeScript
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 {};