@types/three
Version:
TypeScript definitions for three
56 lines (45 loc) • 1.74 kB
TypeScript
import { InterpolationModes } from "../constants.js";
import { Interpolant } from "../math/Interpolant.js";
import { CubicInterpolant } from "../math/interpolants/CubicInterpolant.js";
import { DiscreteInterpolant } from "../math/interpolants/DiscreteInterpolant.js";
import { LinearInterpolant } from "../math/interpolants/LinearInterpolant.js";
export interface KeyframeTrackJSON {
name: string;
times: number[];
values: number[];
interpolation?: InterpolationModes;
type: string;
}
export class KeyframeTrack {
/**
* @param name
* @param times
* @param values
* @param [interpolation=THREE.InterpolateLinear]
*/
constructor(name: string, times: ArrayLike<number>, values: ArrayLike<any>, interpolation?: InterpolationModes);
name: string;
times: Float32Array;
values: Float32Array;
ValueTypeName: string;
TimeBufferType: Float32Array;
ValueBufferType: Float32Array;
/**
* @default THREE.InterpolateLinear
*/
DefaultInterpolation: InterpolationModes;
InterpolantFactoryMethodDiscrete(result: any): DiscreteInterpolant;
InterpolantFactoryMethodLinear(result: any): LinearInterpolant;
InterpolantFactoryMethodSmooth(result: any): CubicInterpolant;
setInterpolation(interpolation: InterpolationModes): KeyframeTrack;
getInterpolation(): InterpolationModes;
createInterpolant(): Interpolant;
getValueSize(): number;
shift(timeOffset: number): KeyframeTrack;
scale(timeScale: number): KeyframeTrack;
trim(startTime: number, endTime: number): KeyframeTrack;
validate(): boolean;
optimize(): KeyframeTrack;
clone(): this;
static toJSON(track: KeyframeTrack): KeyframeTrackJSON;
}