polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
44 lines (43 loc) • 2.31 kB
TypeScript
import { Constructor, PolyDictionary } from '../../../../types/GlobalTypes';
import { BaseNodeType } from '../../_Base';
import { NodeContext } from '../../../poly/NodeContext';
import { CoreNodeSelection } from '../../../../core/NodeSelection';
import { ParamsInitData } from '../io/IOController';
import { BaseOperationContainer } from '../../../../core/operations/container/_Base';
declare type OutputNodeFindMethod = (() => BaseNodeType) | undefined;
export declare class HierarchyChildrenController {
protected node: BaseNodeType;
private _context;
private _children;
private _children_by_type;
private _children_and_grandchildren_by_context;
private _selection;
get selection(): CoreNodeSelection;
constructor(node: BaseNodeType, _context: NodeContext);
dispose(): void;
get context(): NodeContext;
private _output_node_find_method;
set_output_node_find_method(method: OutputNodeFindMethod): void;
output_node(): BaseNodeType | undefined;
set_child_name(node: BaseNodeType, new_name: string): void;
node_context_signature(): string;
available_children_classes(): PolyDictionary<typeof import("../../_Base").BaseNodeClass>;
is_valid_child_type(node_type: string): boolean;
createNode<K extends BaseNodeType>(node_class_or_string: string | Constructor<K>, params_init_value_overrides?: ParamsInitData, node_type?: string): K;
private _create_and_init_node;
private _find_node_class;
create_operation_container(operation_type: string, operation_container_name: string, params_init_value_overrides?: ParamsInitData): BaseOperationContainer;
add_node(child_node: BaseNodeType): BaseNodeType;
removeNode(child_node: BaseNodeType): void;
_add_to_nodesByType(node: BaseNodeType): void;
_remove_from_nodesByType(node: BaseNodeType): void;
add_to_children_and_grandchildren_by_context(node: BaseNodeType): void;
remove_from_children_and_grandchildren_by_context(node: BaseNodeType): void;
nodesByType(type: string): BaseNodeType[];
child_by_name(name: string): BaseNodeType;
has_children_and_grandchildren_with_context(context: NodeContext): boolean;
children(): BaseNodeType[];
children_names(): string[];
traverse_children(callback: (arg0: BaseNodeType) => void): void;
}
export {};