private void btnRun_Click(object sender, EventArgs e) { this.results = new List <ClassificationResult>(); //Extraemos el area de trabajo ListViewItem selectedItem = lstExistingWorkingAreas.CheckedItems[0]; WorkingArea area = (WorkingArea)selectedItem.Tag; List <Part> parts = new List <Part>(); foreach (ListViewItem item in lstExistingParts.CheckedItems) { Part part = ((Part)item.Tag).Clone(); part.NormalizeVertexes(); parts.Add(part); } List <ClassifierWrapper> classifiers = new List <ClassifierWrapper>(); foreach (ListViewItem item in lstClassifiers.CheckedItems) { INestingClassifierFactory factory = (INestingClassifierFactory)item.Tag; INestingClassifier classifier = factory.Create(); classifier.SetNestingManager(new NestingManager()); classifier.SetClassificationParameters(new ClassificationParameters(area, parts)); classifiers.Add(new ClassifierWrapper(classifier)); } currentlyRunningClassifiers = classifiers.Count; btnRun.Enabled = false; btnRun.Text = $"{currentlyRunningClassifiers} classifiers running"; foreach (ClassifierWrapper wrapper in classifiers) { wrapper.ClassifyAllCompleted += ReceiveResult; wrapper.ClassifyAllAsync(); } PaintResults(); }
public ClassifierWrapper(INestingClassifier classifier) { this.classifier = classifier; }