import Vector2 from '../math/Vector2'; import { BlendAnimator, BlendAnimatorOpts, BlendAnimatorTarget } from './BlendAnimator'; interface Blend2DAnimatorInput { position: Vector2; offset: number; animator: BlendAnimatorTarget; } interface Blend2DAnimatorOpts extends BlendAnimatorOpts { output: BlendAnimatorTarget; inputs: Blend2DAnimatorInput[]; loop?: boolean; playbackRatio?: number; } /** * 1d blending node in animation blend tree. * output clip must have blend1D and copy method */ declare class Blend2DAnimator extends BlendAnimator { position: Vector2; protected _output?: BlendAnimatorTarget; protected _inputs: Blend2DAnimatorInput[]; private _cacheTriangle?; private _triangles?; constructor(opts?: Partial); addInput(position: Vector2, inputAnimator: BlendAnimatorTarget, offset: number): Blend2DAnimatorInput; setOutput(output: BlendAnimatorTarget): void; setTime(time: number): void; /** * Clone a new Blend1D clip * @param {boolean} cloneInputs True if clone the input clips * @return {clay.animation.Blend2DAnimator} */ private _updateTriangles; private _findTriangle; } export default Blend2DAnimator;