예제 #1
0
        public void DataAfterEvaluation(ref List <ExerciceEvaluation> exoEvalList, ref ExerciceEvaluation exo, ref SingletonReeducation ValeurReeducation, ref List <DataPosition> tempData)
        {
            tempDataFilted = new List <DataPosition>();
            if (tempData.Count != 0)
            {
                VitMoy     = 0.0;
                resultDist = 0.0;
                Stra       = 0.0;
                SpeedMet   = 0.0;
                JerkM      = 0.0;
                Ampli      = 0.0;
                Presi      = 0.0;
                VitMax     = 0.0;

                //Filtres
                tempDataFilted = FiltreSurDonnees(exoEvalList, tempDataFilted, ref ValeurReeducation, ref tempData);

                //Calculs

                Calculs(exoEvalList, tempDataFilted, ref ValeurReeducation);

                if (cycleInfo == cycleTot) // Vérifier si la moyenne est complète + RAZ pour next cycle
                {
                    CalculMoyennes();      //On calcule les moyennes

                    if (exoEvalList[0].TypeExercice == ExerciceTypes.Evaluation)
                    {
                        if (exoEvalList[0].TypeEval == ExerciceEvalTypes.Forme)
                        {
                            ExerciceForme ef = (ExerciceForme)exoEvalList[0];
                            if (ef.TypeForme == FormeType.Carré)
                            {
                                exo = new Square(cycleTot, VitMoy, tabVitMoy, VitMax, tabVitMax, SpeedMet, tabSpeedMet, JerkM, tabJerkM, Presi, tabPresi);
                            }

                            else
                            {
                                exo = new Circle(cycleTot, VitMoy, tabVitMoy, VitMax, tabVitMax, SpeedMet, tabSpeedMet, JerkM, tabJerkM, Presi, tabPresi);
                            }
                        }

                        else
                        {
                            ExerciceMouvement ef = (ExerciceMouvement)exoEvalList[0];
                            if (ef.TypeDroite == DroiteType.VerticalLong)//FreeAmpl
                            {
                                exo = new FreeAmplitude(cycleTot, VitMoy, tabVitMoy, VitMax, tabVitMax, SpeedMet, tabSpeedMet, JerkM, tabJerkM, Stra, tabStra, Ampli, tabCoordYMax);
                            }
                            else
                            {
                                exo = new Target(cycleTot, VitMoy, tabVitMoy, VitMax, tabVitMax, SpeedMet, tabSpeedMet, JerkM, tabJerkM, Stra, tabStra, Presi, tabPresi);
                            }
                        }
                    }
                    CleanCycle(ref tempData); //On clean le cycle
                }
            }
        }
예제 #2
0
        public static FrameExerciceDataModel ExercicesEvaluationToFrameExercice(ExerciceEvaluation exercice, int i)
        {
            FrameExerciceDataModel _exFrame = new FrameExerciceDataModel();

            if (exercice.TypeEval == ExerciceEvalTypes.Forme)
            {
                ExerciceForme temps = (ExerciceForme)exercice;
                _exFrame.Address = ConfigAddresses.Formes;

                switch (temps.TypeForme) // polygones
                {
                case FormeType.Carré: _exFrame.Data1 = 0x04;
                    break;

                case FormeType.Cercle: _exFrame.Data1 = 0x28;       // 0x1E
                    break;

                case FormeType.Triangle: _exFrame.Data1 = 0x06;     // Hexagone
                    break;
                }
                _exFrame.Data2 = (byte)(4 * temps.Taille);
                _exFrame.Data3 = temps.Origine;  // TODO : peut etre ?
                _exFrame.Data4 = Convert.ToByte(temps.AllerRetour);
            }
            else
            {
                //if (exercice.Exercice[i].ExerciceType == ExerciceTypes.Cibles)
                //{
                //    ExerciceXDent temps = (ExerciceXDent)exercice.Exercice[i];
                //    _exFrame.Address = ConfigAddresses.Cibles;
                //    _exFrame.Data1 = temps.NbrsCibles;
                //    _exFrame.Data2 = temps.DistCibles;
                //    _exFrame.Data3 = temps.Anglecible;
                //    //_exFrame.Data4 = temps.Origine;  // TODO : peut etre ?
                ////}
                //else
                //{
                //if (exercice.TypeExercice == ExerciceTypes.Mouvements_Complexes)
                //{
                //    ExerciceMouvement temps = (ExerciceMouvement)exercice.Exercice[i];
                //    _exFrame.Address = ConfigAddresses.Mouvements;

                //    switch (temps.DroiteType)
                //    {
                //        case DroiteType.Horizontal: _exFrame.Data1 = 0x02;
                //            break;
                //        case DroiteType.Oblique: _exFrame.Data1 = 0x03;
                //            break;
                //        case DroiteType.Vertical: _exFrame.Data1 = 0x01;
                //            break;
                //        default: _exFrame.Data1 = 0x01; // TODO : Erreur !
                //            break;
                //    }

                //    _exFrame.Data2 = temps.PositionDroite;
                //}
                //else
                //{
                if (exercice.TypeEval == ExerciceEvalTypes.Mouvement)
                {
                    ExerciceMouvement temps = (ExerciceMouvement)exercice;
                    _exFrame.Address = ConfigAddresses.Mouvements;          // TODO : faire un mod spécifique !

                    switch (temps.TypeDroite)
                    {
                    case DroiteType.Vertical: _exFrame.Data1 = 0x01;
                        break;

                    case DroiteType.VerticalLong: _exFrame.Data1 = 0x04;
                        break;

                    case DroiteType.Tonus: _exFrame.Data1 = 0x05;             // TONUS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                        break;

                    default: _exFrame.Data1 = 0x01;             // TODO : Erreur !
                        break;
                    }

                    _exFrame.Data2 = temps.PositionDroite;
                }
                else
                {
                    // TODO : Erreur !
                }
                //}
                //}
            }
            return(_exFrame);
        }