コード例 #1
0
        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();
        }
コード例 #2
0
 public ClassifierWrapper(INestingClassifier classifier)
 {
     this.classifier = classifier;
 }