/// <summary> /// Method that generates/treats Tags(ID and position), and sends them to a MySQL Database. /// </summary> private void RunAlgorithm() { Position laserPosition = null; if (usingLasers) { laserPosition = LocalizationAlgorithm.GetPositionFromLasers(Devices); if (laserPosition == null) { return; } } int servoAngle = int.MinValue; if (usingServo) { servoAngle = LocalizationAlgorithm.GetAngleFromServo(Devices); if (servoAngle == int.MinValue) { return; } } List <TagRead> tagsReads = LocalizationAlgorithm.GetTagsReads(Devices, RemoveFromUIGridMetaTagsDel); List <Tag> tags = MathematicalModel.RunMathematicalModel(tagsReads); if (tags.Count == 0) { WriteLog("Mathematical Model applied: 0 tags obtained", 0); return; } tags = LocalizationAlgorithm.TagsPosteriorTreatment(tags, laserPosition, servoAngle, usingLasers, usingServo); UpdateUIGridTagsDel(tags); InsertTagsOnDB(tags); /// Sends a copy of tags obtained to Excel Mediator ExcelMediator.tagsObtained = tags; }
private void ButtonTestAngleConsole_Click(object sender, EventArgs e) { Position initP = new Position(Convert.ToDecimal(3), Convert.ToDecimal(3)); Position finalP; //double delta = 0.5; Console.WriteLine("TEST Apply Angle"); Console.WriteLine("test: {0}", Math.Cos(180)); Console.WriteLine("test: {0}", Math.Cos(Math.PI)); Console.WriteLine("IPos\tAngle\tFPos"); //for(int angle = -180; angle <= 180; angle += 10) for (int angle = -180; angle <= 180; angle += 45) { finalP = LocalizationAlgorithm.ApplyAngleTransformation(angle, new Position(initP.X, initP.Y), out double D, out double alpha); Console.WriteLine("{0}\t{1} \t{2}", initP, angle, finalP); } Console.WriteLine("TEST Apply Angle-----"); }