import { Vector2, Vector3, Vector4 } from "../GeoMath"; import Curve from "./Curve"; import Type from "./Type"; import Time from "./Time"; import Interval from "./Interval"; import Invariance from "./Invariance"; /** * キーフレームによる階段関数 * * あるキーフレームから次のキーフレームの直前まで一定の値を返す階段関数である。 * * 構築子により任意の関数値の型を指定することができる。 */ declare class KFStepCurve extends Curve { /** number | vector2 | vector3 | vector4 */ private _value_type; /** >= 1 */ private _num_keyframes; private _key_times; private _key_values; /** * type 型の階段関数を keyframes により生成する。 * * type は任意の型を指定することができる。 * * keyframes を省略したときは type 型の既定値を返す定数関数と同等になる。keyframes の形式に関しては * [[KFStepCurve.setKeyFrames setKeyFrames()]] を参照のこと。 * * @param {mapray.animation.Type} type 関数値の型 * @param {object[]} [keyframes] 初期キーフレーム */ constructor(type: Type, keyframes?: (Time | number | Vector2 | Vector3 | Vector4)[]); /** * キーフレーム設定 * * keyframes により、すべてのキーフレームを指定する。 * * 条件 * - keyframes.length >= 2 (キーフレーム数 >= 1)
* - すべての i, j において、i < j ⇔ 時刻i < 時刻j
* - すべての i において、値i は構築子の type 引数で指定した型のインスタンス * * @param keyframes [時刻0, 値0, 時刻1, 値1, ...] */ setKeyFrames(keyframes: (Time | any)[]): void; isTypeSupported(type: Type): boolean; getValue(time: Time, type: Type): any; getInvariance(interval: Interval): Invariance; /** * time での補間値を取得 * * @param time * * @return 補間値 (this._value_type に適応した型) */ private _getInterpolatedValue; } export default KFStepCurve; //# sourceMappingURL=KFStepCurve.d.ts.map