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 } } }
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); }