@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
76 lines (75 loc) • 5.94 kB
TypeScript
/**
* allows to set up complex animations using keyframes
*
*
*/
import { NodeParamsConfig } from './../utils/params/ParamsConfig';
import { TypedJsNode } from './_Base';
import { JsConnectionPointType } from '../utils/io/connections/Js';
import { ChannelData } from '../../../core/keyframes/KeyframeCommon';
import { IntegerParam } from '../../params/Integer';
import { StringParam } from '../../params/String';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
import { JsType } from '../../poly/registers/nodes/types/Js';
declare enum KeyframesJsNodeInputName {
time = "time"
}
type AvailableJsConnectionType = JsConnectionPointType.FLOAT | JsConnectionPointType.VECTOR2 | JsConnectionPointType.VECTOR3 | JsConnectionPointType.VECTOR4;
export declare const AVAILABLE_JS_CONNECTION_POINT_TYPES: AvailableJsConnectionType[];
export declare const ARRAY_SIZE_BY_TYPE: Record<AvailableJsConnectionType, number>;
export declare const CHANNEL_SUFFIX_BY_CHANNEL_INDEX: string[];
export declare function channelDataInputName(index: number): string;
declare class KeyframesJsParamsConfig extends NodeParamsConfig {
channels: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
channelsCount: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelType0: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName0: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data0: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType1: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName1: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data1: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType2: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName2: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data2: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType3: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName3: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data3: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType4: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName4: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data4: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType5: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName5: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data5: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType6: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName6: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data6: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType7: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName7: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data7: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType8: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName8: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data8: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
channelType9: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
channelName9: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
data9: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
spare: import("./../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
}
export declare class KeyframesJsNode extends TypedJsNode<KeyframesJsParamsConfig> {
readonly paramsConfig: KeyframesJsParamsConfig;
static type(): JsType;
initializeNode(): void;
channelTypeParams(): IntegerParam[];
channelNameParams(): StringParam[];
channelDataParams(): StringParam[];
setChannelType(index: number, type: AvailableJsConnectionType): void;
setChannelName(index: number, inputName: string): void;
setChannelData(index: number, data: ChannelData[]): void;
channelData(index: number): ChannelData | ChannelData[] | undefined;
protected _channelsCount(): number;
protected _expectedInputTypes(): JsConnectionPointType[];
protected _expectedInputName(index: number): KeyframesJsNodeInputName;
protected _expectedOutputTypes(): AvailableJsConnectionType[];
protected _expectedOutputName(index: number): string;
setLines(linesController: JsLinesCollectionController): void;
}
export {};