import { AnimationNodeBase } from '@awayjs/renderer';
import { SkeletonDifferenceState } from '../states/SkeletonDifferenceState';
import { AnimatorBase } from '../AnimatorBase';
/**
* A skeleton animation node that uses a difference input pose with a base input pose to blend a linearly interpolated output of a skeleton pose.
*/
export class SkeletonDifferenceNode extends AnimationNodeBase {
/**
* Defines a base input node to use for the blended output.
*/
public baseInput: AnimationNodeBase;
/**
* Defines a difference input node to use for the blended output.
*/
public differenceInput: AnimationNodeBase;
/**
* Creates a new SkeletonAdditiveNode object.
*/
constructor() {
super();
this._pStateClass = SkeletonDifferenceState;
}
/**
* @inheritDoc
*/
public getAnimationState(animator: AnimatorBase): SkeletonDifferenceState {
return animator.getAnimationState(this);
}
}
export default SkeletonDifferenceNode;