HexapiBackground.IK.InverseKinematics.GaitSelect C# (CSharp) Method

GaitSelect() public method

public GaitSelect ( ) : bool
return bool
        public bool GaitSelect()
        {
            switch (_gaitType)
            {
                case GaitType.RippleGait12:
                    _gaitLegNumber[Lr] = 1;
                    _gaitLegNumber[Rf] = 3;
                    _gaitLegNumber[Lm] = 5;
                    _gaitLegNumber[Rr] = 7;
                    _gaitLegNumber[Lf] = 9;
                    _gaitLegNumber[Rm] = 11;

                    _numberOfLiftedPositions = 3;
                    _halfLiftHeight = 3;
                    _tlDivisionFactor = 8;
                    _stepsInGait = 12;
                    break;
                case GaitType.Tripod8:
                    _gaitLegNumber[Lr] = 5;
                    _gaitLegNumber[Rf] = 1;
                    _gaitLegNumber[Lm] = 1;
                    _gaitLegNumber[Rr] = 1;
                    _gaitLegNumber[Lf] = 5;
                    _gaitLegNumber[Rm] = 5;

                    _numberOfLiftedPositions = 3;
                    _halfLiftHeight = 3;
                    _tlDivisionFactor = 4;
                    _stepsInGait = 8;
                    break;
                case GaitType.TripleTripod12:
                    _gaitLegNumber[Rf] = 3;
                    _gaitLegNumber[Lm] = 4;
                    _gaitLegNumber[Rr] = 5;
                    _gaitLegNumber[Lf] = 9;
                    _gaitLegNumber[Rm] = 10;
                    _gaitLegNumber[Lr] = 11;

                    _numberOfLiftedPositions = 3;
                    _halfLiftHeight = 3;
                    _tlDivisionFactor = 8;
                    _stepsInGait = 12;
                    break;
                case GaitType.TripleTripod16:
                    _gaitLegNumber[Rf] = 4;
                    _gaitLegNumber[Lm] = 5;
                    _gaitLegNumber[Rr] = 6;
                    _gaitLegNumber[Lf] = 12;
                    _gaitLegNumber[Rm] = 13;
                    _gaitLegNumber[Lr] = 14;

                    _numberOfLiftedPositions = 5;
                    _halfLiftHeight = 1;
                    _tlDivisionFactor = 10;
                    _stepsInGait = 16;
                    break;
                case GaitType.Wave24:
                    _gaitLegNumber[Lr] = 1;
                    _gaitLegNumber[Rf] = 21;
                    _gaitLegNumber[Lm] = 5;

                    _gaitLegNumber[Rr] = 13;
                    _gaitLegNumber[Lf] = 9;
                    _gaitLegNumber[Rm] = 17;

                    _numberOfLiftedPositions = 3;
                    _halfLiftHeight = 3;
                    _tlDivisionFactor = 20;
                    _stepsInGait = 24;
                    break;
            }

            _liftDivisionFactor = _numberOfLiftedPositions == 5 ? 4 : 2;

            return true;
        }