@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
91 lines (90 loc) • 4.3 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 { 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 { ParamInitData } from '../io/IOController';
export type OnSceneLoadHook = () => void;
type PostCreateParamsHook = () => void;
export interface ParamOptionToAdd<T extends ParamType> {
name: string;
type: T;
initValue: ParamInitValueSerializedTypeMap[T];
rawInput: ParamInitValueSerializedTypeMap[T];
options?: ParamOptions;
}
export interface ParamsUpdateOptions {
namesToDelete?: string[];
toAdd?: ParamOptionToAdd<ParamType>[];
}
export declare class ParamsController {
readonly node: BaseNodeType;
private _param_create_mode;
private _params_created;
private _paramsByName;
private _paramsList;
private _paramNames;
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;
constructor(node: BaseNodeType);
dispose(): void;
private initDependencyNode;
init(): void;
private _postCreateParams;
postCreateSpareParams(): void;
updateParams(options: ParamsUpdateOptions): void;
private _initFromParamsConfig;
private _initParamAccessors;
private _removeUnneededAccessors;
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(paramName: string, value: ParamInitValuesTypeMap[ParamType.FLOAT]): void;
set_vector3(paramName: string, value: ParamInitValuesTypeMap[ParamType.VECTOR3]): void;
has_param(paramName: string): boolean;
has(paramName: string): boolean;
get(paramName: string): BaseParamType | null;
paramWithType<T extends ParamType>(param_name: string, type: T): ParamConstructorMap[T] | undefined;
getFloat(param_name: string): FloatParam;
value(paramName: string): string | number | boolean | import("three").Vector2 | import("three").Vector3 | import("three").Vector4 | import("three").Color | import("../../../params/ramp/RampValue").RampValue | import("../../../../core/Walker").TypedParamPathParamValue | import("../../../../core/Walker").TypedNodePathParamValue | null | undefined;
valueWithType<T extends ParamType>(paramName: string, type: T): ParamValuesTypeMap[T];
boolean(paramName: string): boolean;
float(paramName: string): number;
integer(paramName: string): number;
string(paramName: string): string;
vector2(paramName: string): import("three").Vector2;
vector3(paramName: string): import("three").Vector3;
color(paramName: string): import("three").Color;
param(paramName: string): BaseParamType | null;
private _deleteParam;
addParam<T extends ParamType>(type: T, paramName: string, defaultValue: ParamInitValuesTypeMap[T], options?: ParamOptions, initData?: ParamInitData<T>): ParamConstructorMap[T] | undefined;
private _updateCaches;
_evalParam(param: BaseParamType): Promise<void>;
private _promises;
evalParams(params: BaseParamType[]): Promise<void>;
paramsEvalRequired(): boolean;
evalAll(): Promise<void>;
onParamsCreated(hook_name: string, hook: PostCreateParamsHook): void;
addOnSceneLoadHook(param_name: string, method: OnSceneLoadHook): void;
private _runPostCreateParamsHooks;
runOnSceneLoadHooks(): void;
}
export {};