@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
64 lines (63 loc) • 3.73 kB
TypeScript
import { TypedNode } from '../_Base';
import { AssemblerControllerNode } from './code/Controller';
import { NodeContext } from '../../poly/NodeContext';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ParamConfigsController } from '../utils/code/controllers/ParamConfigsController';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
import { JsParamConfig } from './code/utils/JsParamConfig';
import { ParamType } from '../../poly/ParamType';
import { IntegerParam } from '../../params/Integer';
import { FloatParam } from '../../params/Float';
import { Vector2Param } from '../../params/Vector2';
import { Vector3Param } from '../../params/Vector3';
import { Vector4Param } from '../../params/Vector4';
import { ColorParam } from '../../params/Color';
import { BooleanParam } from '../../params/Boolean';
import { Color, Quaternion, Vector2, Vector3, Vector4 } from 'three';
import { BaseParamType } from '../../params/_Base';
import { EvaluatorEventData } from './code/assemblers/actor/ActorEvaluator';
import { StringParam } from '../../params/String';
import { BaseJsShaderAssembler } from './code/assemblers/_Base';
export declare const TRIGGER_CONNECTION_NAME = "trigger";
export interface WrappedBodyLines {
methodNames: string[];
wrappedLines: string;
}
export declare function wrapIfComputed(varName: string, linesController: JsLinesCollectionController): string;
export declare function variableFromParamRequired(param: BaseParamType): param is ColorParam | Vector2Param | Vector3Param | Vector4Param;
export declare function createVariableFromParam(param: ColorParam | Vector2Param | Vector3Param | Vector4Param): Vector2 | Vector3 | Quaternion | Vector4 | Color;
export declare class TypedJsNode<K extends NodeParamsConfig> extends TypedNode<NodeContext.JS, K> {
static context(): NodeContext;
protected _param_configs_controller: ParamConfigsController<JsParamConfig<ParamType>> | undefined;
private _paramsEditableStatesController;
eventData(): EvaluatorEventData | EvaluatorEventData[] | undefined;
isTriggering(): boolean;
initializeBaseNode(): void;
cook(): void;
private __setFunctionNodeToRecompileAllowed;
protected _setFunctionNodeToRecompileAllowed(state: boolean): void;
protected _setFunctionNodeToRecompile(): void;
functionNode(): AssemblerControllerNode<BaseJsShaderAssembler> | undefined;
jsVarName(name: string): string;
inputVarName(inputName: string): string;
static inputVarName(node: BaseJsNodeType, inputName: string): string;
variableForInputParam(shadersCollectionController: JsLinesCollectionController, param: IntegerParam | FloatParam | Vector2Param | Vector3Param | Vector4Param | ColorParam | BooleanParam | StringParam): string;
variableForInput(shadersCollectionController: JsLinesCollectionController, inputName: string): string;
private _variableForInput;
setLines(shadersCollectionController: JsLinesCollectionController): void;
setTriggeringLines(shadersCollectionController: JsLinesCollectionController, triggeredMethods: string): void;
setTriggerableLines(shadersCollectionController: JsLinesCollectionController): void;
reset_code(): void;
paramsGenerating(): boolean;
setParamConfigs(): void;
param_configs(): readonly JsParamConfig<ParamType>[] | undefined;
}
export type BaseJsNodeType = TypedJsNode<NodeParamsConfig>;
export declare class BaseJsNodeClass extends TypedJsNode<NodeParamsConfig> {
}
declare class ParamlessJsParamsConfig extends NodeParamsConfig {
}
export declare class ParamlessTypedJsNode extends TypedJsNode<ParamlessJsParamsConfig> {
paramsConfig: ParamlessJsParamsConfig;
}
export {};