import { Vector4 } from "../GeoMath"; import Curve from "./Curve"; import Type from "./Type"; import Time from "./Time"; import Interval from "./Interval"; import Invariance from "./Invariance"; /** * キーフレームによる四元数関数 * * キーフレーム間を四元数を補間する関数である。 * * 関数値の型は vector4 を指定する。 */ declare class KFQuatLinearCurve extends Curve { /** >= 2 */ private _num_keyframes; private _key_times; private _key_values; /** * vector4 型の関数を keyframes により生成する。 * * keyframes を省略したときは vector4 型の既定値を返す定数関数と同等になる。keyframes の形式に関しては * [[KFQuatLinearCurve.setKeyFrames setKeyFrames()]] を参照のこと。 * * @param {object[]} [keyframes] 初期キーフレーム */ constructor(keyframes?: Vector4[]); /** * キーフレーム設定 * * keyframes により、すべてのキーフレームを指定する。 * * 条件 * - keyframes.length >= 4 (キーフレーム数 >= 2) * -: すべての i, j において、i < j ⇔ 時刻i < 時刻j * -: すべての i において、値i は vector4 型のインスタンス * * @param {object[]} keyframes [時刻0, 値0, 時刻1, 値1, ...] */ setKeyFrames(keyframes: any): void; isTypeSupported(type: Type): boolean; getValue(time: Time): any; getInvariance(interval: Interval): Invariance; /** * time での補間値を取得 * * @param time * * @return 補間値 (vector4) */ private _getInterpolatedValue; /** * キーフレーム値を生成 * * @param index キーフレームのインデックス * * @return キーフレーム値 (vector4) */ private _createKeyFrameValue; /** * キーフレーム間の補間値を生成 * * @param i0 先キーフレームのインデックス * @param i1 後キーフレームのインデックス * @param time * * @return 補間値 (vector4) */ private _createValueBy2Keys; } export default KFQuatLinearCurve; //# sourceMappingURL=KFQuatLinearCurve.d.ts.map