@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
57 lines (56 loc) • 2.69 kB
TypeScript
import { Constructor } from '../../../../types/GlobalTypes';
import { BaseNodeClass, BaseNodeType } from '../../_Base';
import { NodeContext } from '../../../poly/NodeContext';
import { CoreNodeSelection } from '../../../../core/NodeSelection';
import { ParamsInitData } from '../io/IOController';
import { BaseOperationContainer } from '../../../operations/container/_Base';
import { CoreNodeSerializer } from '../CoreNodeSerializer';
type OutputNodeFindMethod = (() => BaseNodeType) | undefined;
type TraverseNodeCallback = (node: BaseNodeType) => void;
type TraverseNodeConditionCallback = (node: BaseNodeType) => boolean;
export interface NodeCreateOptions {
paramsInitValueOverrides?: ParamsInitData;
nodeName?: string;
serializerClass?: typeof CoreNodeSerializer;
}
export declare class HierarchyChildrenController {
protected node: BaseNodeType;
private _context;
private _childrenByName;
private _childrenIdByType;
private _childrenByType;
private _childrenAndGrandchildrenByContext;
private _selection;
get selection(): CoreNodeSelection;
constructor(node: BaseNodeType, _context: NodeContext);
dispose(): void;
get context(): NodeContext;
private _outputNodeFindMethod;
setOutputNodeFindMethod(method: OutputNodeFindMethod): void;
outputNode(): BaseNodeType | undefined;
setChildName(node: BaseNodeType, newName: string): void;
private _nextAvailableChildName;
nodeContextSignature(): string;
availableChildrenClasses(): import("../../../../types/GlobalTypes").PolyDictionary<typeof BaseNodeClass>;
isValidChildType(node_type: string): boolean;
createNode<K extends BaseNodeType>(nodeClassOrString: string | Constructor<K>, options?: NodeCreateOptions): K;
private _createAndInitNode;
private _findNodeClass;
createOperationContainer(operationType: string, operationContainerName: string, options?: NodeCreateOptions): BaseOperationContainer<any>;
private _addNode;
removeNode(childNode: BaseNodeType): void;
private _addToNodesByType;
private _removeFromNodesByType;
private _addToChildrenAndGrandchildrenByContext;
private _removeFromChildrenAndGrandchildrenByContext;
nodesByType(type: string, target?: BaseNodeType[]): BaseNodeType[];
childByName(name: string): BaseNodeType | null;
hasChildrenAndGrandchildrenWithContext(context: NodeContext): boolean;
private _children;
private _childrenNames;
private _updateCache;
children(): Readonly<BaseNodeType[]>;
childrenNames(): Readonly<string[]>;
traverseChildren(callback: TraverseNodeCallback, conditionCallback?: TraverseNodeConditionCallback): void;
}
export {};