Merge remote-tracking branch 'origin/animSplineIK' into animSplineIK

This commit is contained in:
amantley 2019-02-05 09:43:11 -08:00
commit af38a40b85
2 changed files with 5 additions and 4 deletions

View file

@ -48,14 +48,14 @@ AnimSplineIK::AnimSplineIK(const QString& id, float alpha, bool enabled, float i
_enabledVar(enabledVar) _enabledVar(enabledVar)
{ {
for (int i = 0; i < tipTargetFlexCoefficients.size(); i++) { for (int i = 0; i < (int)tipTargetFlexCoefficients.size(); i++) {
if (i < MAX_NUMBER_FLEX_VARIABLES) { if (i < MAX_NUMBER_FLEX_VARIABLES) {
_tipTargetFlexCoefficients[i] = tipTargetFlexCoefficients[i]; _tipTargetFlexCoefficients[i] = tipTargetFlexCoefficients[i];
} }
} }
_numTipTargetFlexCoefficients = std::min((int)tipTargetFlexCoefficients.size(), MAX_NUMBER_FLEX_VARIABLES); _numTipTargetFlexCoefficients = std::min((int)tipTargetFlexCoefficients.size(), MAX_NUMBER_FLEX_VARIABLES);
for (int i = 0; i < midTargetFlexCoefficients.size(); i++) { for (int i = 0; i < (int)midTargetFlexCoefficients.size(); i++) {
if (i < MAX_NUMBER_FLEX_VARIABLES) { if (i < MAX_NUMBER_FLEX_VARIABLES) {
_midTargetFlexCoefficients[i] = midTargetFlexCoefficients[i]; _midTargetFlexCoefficients[i] = midTargetFlexCoefficients[i];
} }
@ -345,7 +345,7 @@ void AnimSplineIK::solveTargetWithSpline(const AnimContext& context, int base, c
// get the number of flex coeff for this spline // get the number of flex coeff for this spline
float interpedCoefficient = 1.0f; float interpedCoefficient = 1.0f;
int numFlexCoeff = target.getNumFlexCoefficients(); int numFlexCoeff = target.getNumFlexCoefficients();
if (numFlexCoeff == splineJointInfoVec->size()) { if (numFlexCoeff == (int)splineJointInfoVec->size()) {
// then do nothing special // then do nothing special
interpedCoefficient = target.getFlexCoefficient(i); interpedCoefficient = target.getFlexCoefficient(i);
} else { } else {

View file

@ -15,6 +15,8 @@
#include "IKTarget.h" #include "IKTarget.h"
#include "AnimChain.h" #include "AnimChain.h"
static const int MAX_NUMBER_FLEX_VARIABLES = 10;
// Spline IK for the spine // Spline IK for the spine
class AnimSplineIK : public AnimNode { class AnimSplineIK : public AnimNode {
public: public:
@ -66,7 +68,6 @@ protected:
QString _alphaVar; // float - (0, 1) 0 means underPoses only, 1 means IK only. QString _alphaVar; // float - (0, 1) 0 means underPoses only, 1 means IK only.
QString _enabledVar; QString _enabledVar;
static const int MAX_NUMBER_FLEX_VARIABLES = 10;
float _tipTargetFlexCoefficients[MAX_NUMBER_FLEX_VARIABLES]; float _tipTargetFlexCoefficients[MAX_NUMBER_FLEX_VARIABLES];
float _midTargetFlexCoefficients[MAX_NUMBER_FLEX_VARIABLES]; float _midTargetFlexCoefficients[MAX_NUMBER_FLEX_VARIABLES];
int _numTipTargetFlexCoefficients { 0 }; int _numTipTargetFlexCoefficients { 0 };