From 495ee6f0c39e81b0b5d5e654088ad902b9cf987b Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Wed, 18 Mar 2026 16:46:17 -0400 Subject: [PATCH] refactor(engine): move NFP code to OpenNest.Engine.Nfp namespace Move AutoNester, BottomLeftFill, NfpCache, SimulatedAnnealing, and INestOptimizer/NestResult to OpenNest.Engine.Nfp. These are not yet integrated into the engine registry. Co-Authored-By: Claude Opus 4.6 (1M context) --- OpenNest.Engine/Nfp/AutoNester.cs | 9 ++++----- OpenNest.Engine/Nfp/BottomLeftFill.cs | 4 ++-- OpenNest.Engine/Nfp/INestOptimizer.cs | 5 +++-- OpenNest.Engine/Nfp/NfpCache.cs | 4 ++-- OpenNest.Engine/Nfp/SimulatedAnnealing.cs | 5 +++-- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/OpenNest.Engine/Nfp/AutoNester.cs b/OpenNest.Engine/Nfp/AutoNester.cs index 0140544..55d1d38 100644 --- a/OpenNest.Engine/Nfp/AutoNester.cs +++ b/OpenNest.Engine/Nfp/AutoNester.cs @@ -1,13 +1,12 @@ -using System; +using OpenNest.Converters; +using OpenNest.Geometry; +using OpenNest.Math; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading; -using OpenNest.Converters; -using OpenNest.Geometry; -using OpenNest.Math; -namespace OpenNest +namespace OpenNest.Engine.Nfp { /// /// Mixed-part geometry-aware nesting using NFP-based collision avoidance diff --git a/OpenNest.Engine/Nfp/BottomLeftFill.cs b/OpenNest.Engine/Nfp/BottomLeftFill.cs index 192560b..48ecd1a 100644 --- a/OpenNest.Engine/Nfp/BottomLeftFill.cs +++ b/OpenNest.Engine/Nfp/BottomLeftFill.cs @@ -1,7 +1,7 @@ -using System.Collections.Generic; using OpenNest.Geometry; +using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Nfp { /// /// NFP-based Bottom-Left Fill (BLF) placement engine. diff --git a/OpenNest.Engine/Nfp/INestOptimizer.cs b/OpenNest.Engine/Nfp/INestOptimizer.cs index 42dce81..05562d5 100644 --- a/OpenNest.Engine/Nfp/INestOptimizer.cs +++ b/OpenNest.Engine/Nfp/INestOptimizer.cs @@ -1,8 +1,9 @@ +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System.Collections.Generic; using System.Threading; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Nfp { /// /// Result of a nest optimization run. diff --git a/OpenNest.Engine/Nfp/NfpCache.cs b/OpenNest.Engine/Nfp/NfpCache.cs index bfcabeb..90076b2 100644 --- a/OpenNest.Engine/Nfp/NfpCache.cs +++ b/OpenNest.Engine/Nfp/NfpCache.cs @@ -1,8 +1,8 @@ +using OpenNest.Geometry; using System; using System.Collections.Generic; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Nfp { /// /// Caches computed No-Fit Polygons keyed by (DrawingA.Id, RotationA, DrawingB.Id, RotationB). diff --git a/OpenNest.Engine/Nfp/SimulatedAnnealing.cs b/OpenNest.Engine/Nfp/SimulatedAnnealing.cs index d2dc4b9..c6d43a0 100644 --- a/OpenNest.Engine/Nfp/SimulatedAnnealing.cs +++ b/OpenNest.Engine/Nfp/SimulatedAnnealing.cs @@ -1,11 +1,12 @@ +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Nfp { /// /// Simulated annealing optimizer for NFP-based nesting.