/** * 抽象插值采样类 */ export declare abstract class InterpolationSampler { protected time: Float32Array; protected data: Float32Array; protected componentCount: number; protected cachedIndex: number; constructor(time: Float32Array, data: Float32Array, componentCount: number); /** * 计算当前 t 时刻的插值 * @param t - 当前时间 * @returns 插值结果 */ evaluate(t: number): Float32Array; /** * 销毁 */ dispose(): void; protected copySampleValue(index: number): Float32Array; protected abstract intervalChanged(i1: number, t0: number, t1: number): void; protected abstract interpolate(i1: number, t0: number, t: number, t1: number): Float32Array; } /** * 创建动画采样器,支持线性和跳变两种模式,类别上支持平移、旋转和缩放 * @param type - 动画类型,线性和跳变 * @param times - 时间点数组 * @param data - 关键帧数组 * @param size - 数据分量 * @param path - 动画类别,平移、旋转和缩放 * @returns 动画采样器 */ export declare function createAnimationSampler(type: string, times: Float32Array, data: Float32Array, size: number, path?: string): InterpolationSampler;