refactor: extract IPairEvaluator interface from PairEvaluator

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 18:19:05 -05:00
parent dd7383467b
commit b83d09c3a7
3 changed files with 37 additions and 8 deletions
+15 -1
View File
@@ -1,15 +1,29 @@
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using OpenNest.Converters;
using OpenNest.Geometry;
using OpenNest.Math;
namespace OpenNest.Engine.BestFit
{
public class PairEvaluator
public class PairEvaluator : IPairEvaluator
{
private const double ChordTolerance = 0.01;
public List<BestFitResult> EvaluateAll(List<PairCandidate> candidates)
{
var resultBag = new ConcurrentBag<BestFitResult>();
Parallel.ForEach(candidates, c =>
{
resultBag.Add(Evaluate(c));
});
return resultBag.ToList();
}
public BestFitResult Evaluate(PairCandidate candidate)
{
var drawing = candidate.Drawing;