polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
96 lines (95 loc) • 4.67 kB
TypeScript
import { BaseNodeType } from '../../_Base';
import { BaseParamType } from '../../../params/_Base';
import { ParamOptions } from '../../../params/utils/OptionsController';
import { CoreGraphNode } from '../../../../core/graph/CoreGraphNode';
import { FloatParam } from '../../../params/Float';
import { OperatorPathParam } from '../../../params/OperatorPath';
import { ParamType } from '../../../poly/ParamType';
import { ParamConstructorMap } from '../../../params/types/ParamConstructorMap';
import { ParamInitValuesTypeMap } from '../../../params/types/ParamInitValuesTypeMap';
import { ParamValuesTypeMap } from '../../../params/types/ParamValuesTypeMap';
import { ParamInitValueSerializedTypeMap } from '../../../params/types/ParamInitValueSerializedTypeMap';
import { ParamsLabelController } from './ParamsLabelController';
import { ParamInitData } from '../io/IOController';
export declare type OnSceneLoadHook = () => void;
declare type PostCreateParamsHook = () => void;
export interface ParamOptionToAdd<T extends ParamType> {
name: string;
type: T;
init_value: ParamInitValueSerializedTypeMap[T];
raw_input: ParamInitValueSerializedTypeMap[T];
options?: ParamOptions;
}
export interface ParamsUpdateOptions {
names_to_delete?: string[];
to_add?: ParamOptionToAdd<ParamType>[];
}
export declare class ParamsController {
readonly node: BaseNodeType;
private _param_create_mode;
private _params_created;
private _params_by_name;
private _params_list;
private _param_names;
private _non_spare_params;
private _spare_params;
private _non_spare_param_names;
private _spare_param_names;
private _params_node;
private _params_added_since_last_params_eval;
private _post_create_params_hook_names;
private _post_create_params_hooks;
private _on_scene_load_hooks;
private _on_scene_load_hook_names;
private _label_controller;
get label(): ParamsLabelController;
has_label_controller(): boolean;
constructor(node: BaseNodeType);
dispose(): void;
private init_dependency_node;
init(): void;
private _post_create_params;
post_create_spare_params(): void;
update_params(options: ParamsUpdateOptions): void;
private init_from_params_config;
private init_param_accessors;
private _remove_unneeded_accessors;
get params_node(): CoreGraphNode | undefined;
get all(): BaseParamType[];
get non_spare(): BaseParamType[];
get spare(): BaseParamType[];
get names(): string[];
get non_spare_names(): string[];
get spare_names(): string[];
private set_with_type;
set_float(param_name: string, value: ParamInitValuesTypeMap[ParamType.FLOAT]): void;
set_vector3(param_name: string, value: ParamInitValuesTypeMap[ParamType.VECTOR3]): void;
has_param(param_name: string): boolean;
has(param_name: string): boolean;
get(param_name: string): BaseParamType | null;
param_with_type<T extends ParamType>(param_name: string, type: T): ParamConstructorMap[T] | undefined;
get_float(param_name: string): FloatParam;
get_operator_path(param_name: string): OperatorPathParam;
value(param_name: string): string | number | boolean | import("three").Color | import("../../../../core/Walker").TypedParamPathParamValue | import("../../../../core/Walker").TypedNodePathParamValue | import("../../../params/ramp/RampValue").RampValue | import("three").Vector2 | import("three").Vector3 | import("three").Vector4 | null | undefined;
value_with_type<T extends ParamType>(param_name: string, type: T): ParamValuesTypeMap[T];
boolean(param_name: string): boolean;
float(param_name: string): number;
integer(param_name: string): number;
string(param_name: string): string;
vector2(param_name: string): import("three").Vector2;
vector3(param_name: string): import("three").Vector3;
color(param_name: string): import("three").Color;
param(param_name: string): BaseParamType | null;
private delete_param;
addParam<T extends ParamType>(type: T, param_name: string, default_value: ParamInitValuesTypeMap[T], options?: ParamOptions, init_data?: ParamInitData<T>): ParamConstructorMap[T] | undefined;
private _update_caches;
_eval_param(param: BaseParamType): Promise<void>;
eval_params(params: BaseParamType[]): Promise<void>;
params_eval_required(): boolean | undefined;
eval_all(): Promise<void>;
onParamsCreated(hook_name: string, hook: PostCreateParamsHook): void;
add_on_scene_load_hook(param_name: string, method: OnSceneLoadHook): void;
private run_post_create_params_hooks;
run_on_scene_load_hooks(): void;
}
export {};