public void LoadClassifierFactories(List <INestingClassifierFactory> factories) { lstClassifiers.Items.Clear(); foreach (INestingClassifierFactory factory in factories) { ClassifierInformation information = factory.ClassifierInformation; ListViewItem item = new ListViewItem(information.Name); item.ToolTipText = information.Description; item.Tag = factory; lstClassifiers.Items.Add(item); } }
public List <ClassificationResult> ClassifyAll() { ClassifierInformation information = classifier.GetClassifierInformation(); try { startTime = DateTime.UtcNow; List <ClassificationResult> temp = classifier.ClassifyAll(); List <ClassificationResult> result = new List <ClassificationResult>(); endTime = DateTime.UtcNow; foreach (ClassificationResult res in temp) { res.TimeTaken = endTime - startTime; float partsArea = res.Parts.Select(x => x.GetTotalArea()).Sum(); res.RemainingArea = res.WorkingArea.GetTotalArea() - partsArea; result.Add(res); } return(result.OrderBy(x => x.RemainingArea).ToList()); } catch (Exception ex) { ClassificationResult result = new ClassificationResult(information); result.Error = ex; result.HasError = true; endTime = DateTime.UtcNow; result.TimeTaken = endTime - startTime; return(new List <ClassificationResult>() { result }); } }