polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
65 lines (64 loc) • 4.07 kB
TypeScript
/**
* Parent for SOP nodes
*
* @remarks
* This node also has its own transforms. And if it is set as input of other nodes, their objects will be added as children to the object of this node.
*
*/
import { TypedObjNode } from './_Base';
import { Group } from 'three/src/objects/Group';
import { BaseNodeType } from '../_Base';
import { DisplayNodeController } from '../utils/DisplayNodeController';
import { NodeContext } from '../../poly/NodeContext';
import { BaseSopNodeType } from '../sop/_Base';
import { TransformController } from './utils/TransformController';
import { GeoNodeChildrenMap } from '../../poly/registers/nodes/Sop';
import { FlagsControllerD } from '../utils/FlagsController';
import { HierarchyController } from './utils/HierarchyController';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ChildrenDisplayController } from './utils/ChildrenDisplayController';
import { ParamsInitData } from '../utils/io/IOController';
import { Constructor, valueof } from '../../../types/GlobalTypes';
declare const GeoObjParamConfig_base: {
new (...args: any[]): {
transform: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FOLDER>;
keepPosWhenParenting: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
rotationOrder: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
t: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
r: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
s: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
scale: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
matrixAutoUpdate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
updateTransformFromObject: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BUTTON>;
tlookAt: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
lookAtPos: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
up: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
};
} & typeof NodeParamsConfig;
declare class GeoObjParamConfig extends GeoObjParamConfig_base {
/** @param toggle off to hide */
display: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param set render order */
renderOrder: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
}
export declare class GeoObjNode extends TypedObjNode<Group, GeoObjParamConfig> {
params_config: GeoObjParamConfig;
static type(): string;
readonly hierarchy_controller: HierarchyController;
readonly transform_controller: TransformController;
readonly flags: FlagsControllerD;
create_object(): Group;
readonly children_display_controller: ChildrenDisplayController;
readonly display_node_controller: DisplayNodeController;
protected _children_controller_context: NodeContext;
private _on_child_add_bound;
initializeNode(): void;
is_display_node_cooking(): boolean;
createNode<S extends keyof GeoNodeChildrenMap>(node_class: S, params_init_value_overrides?: ParamsInitData): GeoNodeChildrenMap[S];
createNode<K extends valueof<GeoNodeChildrenMap>>(node_class: Constructor<K>, params_init_value_overrides?: ParamsInitData): K;
children(): BaseSopNodeType[];
nodesByType<K extends keyof GeoNodeChildrenMap>(type: K): GeoNodeChildrenMap[K][];
_on_child_add(node: BaseNodeType): void;
cook(): void;
}
export {};