import { IElements, ShaderBase, _Render_RenderableBase } from '@awayjs/renderer'; import { _Render_Shape } from '../renderables/Shape'; import { IAnimationTransition } from './transitions/IAnimationTransition'; import { AnimatorBase } from './AnimatorBase'; import { VertexAnimationSet } from './VertexAnimationSet'; /** * Provides an interface for assigning vertex-based animation data sets to entity-based entity objects * and controlling the various available states of animation through an interative playhead that can be * automatically updated or manually triggered. */ export declare class VertexAnimator extends AnimatorBase { private _vertexAnimationSet; private _poses; private _weights; private _activeVertexState; /** * Creates a new VertexAnimator object. * * @param vertexAnimationSet The animation data set containing the vertex animations used by the animator. */ constructor(vertexAnimationSet: VertexAnimationSet); /** * @inheritDoc */ clone(): AnimatorBase; /** * Plays a sequence with a given name. If the sequence is not found, it may not be loaded yet, and it will retry every frame. * @param sequenceName The name of the clip to be played. */ play(name: string, transition?: IAnimationTransition, offset?: number): void; /** * @inheritDoc */ _pUpdateDeltaTime(dt: number): void; /** * @inheritDoc */ setRenderState(shader: ShaderBase, renderable: _Render_Shape): void; private setNullPose; /** * Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu. * Needs to be called if gpu code is potentially required. */ testGPUCompatibility(shader: ShaderBase): void; getRenderableElements(renderState: _Render_RenderableBase, sourceElements: IElements): IElements; } //# sourceMappingURL=VertexAnimator.d.ts.map