11 #ifndef hifi_AnimBlendLinearMove_h
12 #define hifi_AnimBlendLinearMove_h
35 class AnimBlendLinearMove :
public AnimNode {
37 friend class AnimTests;
39 AnimBlendLinearMove(
const QString&
id,
float alpha,
float desiredSpeed,
const std::vector<float>& characteristicSpeeds);
40 virtual ~AnimBlendLinearMove()
override;
42 virtual const AnimPoseVec& evaluate(
const AnimVariantMap& animVars,
const AnimContext& context,
float dt, AnimVariantMap& triggersOut)
override;
44 void setAlphaVar(
const QString& alphaVar) { _alphaVar = alphaVar; }
45 void setDesiredSpeedVar(
const QString& desiredSpeedVar) { _desiredSpeedVar = desiredSpeedVar; }
49 virtual const AnimPoseVec& getPosesInternal()
const override;
51 void evaluateAndBlendChildren(
const AnimVariantMap& animVars,
const AnimContext& context, AnimVariantMap& triggersOut,
float alpha,
52 size_t prevPoseIndex,
size_t nextPoseIndex,
53 float prevDeltaTime,
float nextDeltaTime);
55 void setFrameAndPhase(
float dt,
float alpha,
int prevPoseIndex,
int nextPoseIndex,
56 float* prevDeltaTimeOut,
float* nextDeltaTimeOut, AnimVariantMap& triggersOut);
58 virtual void setCurrentFrameInternal(
float frame)
override;
68 QString _desiredSpeedVar;
70 std::vector<float> _characteristicSpeeds;
73 AnimBlendLinearMove(
const AnimBlendLinearMove&) =
delete;
74 AnimBlendLinearMove& operator=(
const AnimBlendLinearMove&) =
delete;