diff --git a/OpenNest.Engine/BestFit/PairEvaluator.cs b/OpenNest.Engine/BestFit/PairEvaluator.cs index c48f1f0..591b4b4 100644 --- a/OpenNest.Engine/BestFit/PairEvaluator.cs +++ b/OpenNest.Engine/BestFit/PairEvaluator.cs @@ -1,9 +1,10 @@ +using OpenNest.Converters; +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using OpenNest.Converters; -using OpenNest.Geometry; namespace OpenNest.Engine.BestFit { diff --git a/OpenNest.Engine/Fill/AccumulatingProgress.cs b/OpenNest.Engine/Fill/AccumulatingProgress.cs index 7b84803..051ec22 100644 --- a/OpenNest.Engine/Fill/AccumulatingProgress.cs +++ b/OpenNest.Engine/Fill/AccumulatingProgress.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Fill { /// /// Wraps an IProgress to prepend previously placed parts to each report, diff --git a/OpenNest.Engine/Fill/AngleCandidateBuilder.cs b/OpenNest.Engine/Fill/AngleCandidateBuilder.cs index 8c09ce0..1b42ce1 100644 --- a/OpenNest.Engine/Fill/AngleCandidateBuilder.cs +++ b/OpenNest.Engine/Fill/AngleCandidateBuilder.cs @@ -1,11 +1,11 @@ -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; using OpenNest.Engine.ML; using OpenNest.Geometry; using OpenNest.Math; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; -namespace OpenNest +namespace OpenNest.Engine.Fill { /// /// Builds candidate rotation angles for single-item fill. Encapsulates the diff --git a/OpenNest.Engine/Fill/Compactor.cs b/OpenNest.Engine/Fill/Compactor.cs index 90dd994..b438784 100644 --- a/OpenNest.Engine/Fill/Compactor.cs +++ b/OpenNest.Engine/Fill/Compactor.cs @@ -1,9 +1,8 @@ -using System; +using OpenNest.Geometry; using System.Collections.Generic; using System.Linq; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Fill { /// /// Pushes a group of parts left and down to close gaps after placement. diff --git a/OpenNest.Engine/Fill/FillExtents.cs b/OpenNest.Engine/Fill/FillExtents.cs index bcb0689..ff06073 100644 --- a/OpenNest.Engine/Fill/FillExtents.cs +++ b/OpenNest.Engine/Fill/FillExtents.cs @@ -1,11 +1,11 @@ +using OpenNest.Geometry; +using OpenNest.Math; using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading; -using OpenNest.Geometry; -using OpenNest.Math; -namespace OpenNest +namespace OpenNest.Engine.Fill { public class FillExtents { diff --git a/OpenNest.Engine/Fill/FillLinear.cs b/OpenNest.Engine/Fill/FillLinear.cs index 8fe1ef0..674bff3 100644 --- a/OpenNest.Engine/Fill/FillLinear.cs +++ b/OpenNest.Engine/Fill/FillLinear.cs @@ -1,9 +1,9 @@ -using System.Collections.Generic; -using System.Threading.Tasks; using OpenNest.Geometry; using OpenNest.Math; +using System.Collections.Generic; +using System.Threading.Tasks; -namespace OpenNest +namespace OpenNest.Engine.Fill { public class FillLinear { @@ -16,7 +16,7 @@ namespace OpenNest public Box WorkArea { get; } public double PartSpacing { get; } - + public double HalfSpacing => PartSpacing / 2; /// diff --git a/OpenNest.Engine/Fill/FillScore.cs b/OpenNest.Engine/Fill/FillScore.cs index 7c31e4d..957768c 100644 --- a/OpenNest.Engine/Fill/FillScore.cs +++ b/OpenNest.Engine/Fill/FillScore.cs @@ -1,7 +1,7 @@ -using System.Collections.Generic; using OpenNest.Geometry; +using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Fill { public readonly struct FillScore : System.IComparable { diff --git a/OpenNest.Engine/Fill/PairFiller.cs b/OpenNest.Engine/Fill/PairFiller.cs index f1a30aa..0d34f68 100644 --- a/OpenNest.Engine/Fill/PairFiller.cs +++ b/OpenNest.Engine/Fill/PairFiller.cs @@ -1,13 +1,14 @@ +using OpenNest.Engine.BestFit; +using OpenNest.Engine.Strategies; +using OpenNest.Geometry; +using OpenNest.Math; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading; -using OpenNest.Engine.BestFit; -using OpenNest.Geometry; -using OpenNest.Math; -namespace OpenNest +namespace OpenNest.Engine.Fill { /// /// Fills a work area using interlocking part pairs from BestFitCache. @@ -52,11 +53,11 @@ namespace OpenNest var engine = new FillLinear(workArea, partSpacing); // Let the remainder strip try pair-based filling too. - var p0 = DefaultNestEngine.BuildRotatedPattern(pairParts, 0); - var p90 = DefaultNestEngine.BuildRotatedPattern(pairParts, Angle.HalfPI); + var p0 = FillHelpers.BuildRotatedPattern(pairParts, 0); + var p90 = FillHelpers.BuildRotatedPattern(pairParts, Angle.HalfPI); engine.RemainderPatterns = new List { p0, p90 }; - var filled = DefaultNestEngine.FillPattern(engine, pairParts, angles, workArea); + var filled = FillHelpers.FillPattern(engine, pairParts, angles, workArea); if (filled != null && filled.Count > 0) { diff --git a/OpenNest.Engine/Fill/PartBoundary.cs b/OpenNest.Engine/Fill/PartBoundary.cs index 44c14bc..e39dbdd 100644 --- a/OpenNest.Engine/Fill/PartBoundary.cs +++ b/OpenNest.Engine/Fill/PartBoundary.cs @@ -1,9 +1,9 @@ -using System.Collections.Generic; -using System.Linq; using OpenNest.Converters; using OpenNest.Geometry; +using System.Collections.Generic; +using System.Linq; -namespace OpenNest +namespace OpenNest.Engine.Fill { /// /// Pre-computed offset boundary polygons for a part's geometry. @@ -87,9 +87,9 @@ namespace OpenNest var edge = (verts[i - 1], verts[i]); if (-sign * dy > 0) left.Add(edge); - if ( sign * dy > 0) right.Add(edge); + if (sign * dy > 0) right.Add(edge); if (-sign * dx > 0) up.Add(edge); - if ( sign * dx > 0) down.Add(edge); + if (sign * dx > 0) down.Add(edge); } } @@ -145,11 +145,11 @@ namespace OpenNest { switch (direction) { - case PushDirection.Left: return _leftEdges; + case PushDirection.Left: return _leftEdges; case PushDirection.Right: return _rightEdges; - case PushDirection.Up: return _upEdges; - case PushDirection.Down: return _downEdges; - default: return _leftEdges; + case PushDirection.Up: return _upEdges; + case PushDirection.Down: return _downEdges; + default: return _leftEdges; } } diff --git a/OpenNest.Engine/Fill/Pattern.cs b/OpenNest.Engine/Fill/Pattern.cs index 67f40e4..1432fd4 100644 --- a/OpenNest.Engine/Fill/Pattern.cs +++ b/OpenNest.Engine/Fill/Pattern.cs @@ -1,7 +1,7 @@ -using System.Collections.Generic; using OpenNest.Geometry; +using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Fill { public class Pattern { diff --git a/OpenNest.Engine/Fill/PatternTiler.cs b/OpenNest.Engine/Fill/PatternTiler.cs index 39363fd..b9260d3 100644 --- a/OpenNest.Engine/Fill/PatternTiler.cs +++ b/OpenNest.Engine/Fill/PatternTiler.cs @@ -1,7 +1,7 @@ -using System.Collections.Generic; using OpenNest.Geometry; +using System.Collections.Generic; -namespace OpenNest.Engine +namespace OpenNest.Engine.Fill { public static class PatternTiler { diff --git a/OpenNest.Engine/Fill/RemnantFiller.cs b/OpenNest.Engine/Fill/RemnantFiller.cs index 44036d8..94d8b98 100644 --- a/OpenNest.Engine/Fill/RemnantFiller.cs +++ b/OpenNest.Engine/Fill/RemnantFiller.cs @@ -1,9 +1,9 @@ +using OpenNest.Geometry; using System; using System.Collections.Generic; using System.Threading; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Fill { /// /// Iteratively fills remnant boxes with items using a RemnantFinder. diff --git a/OpenNest.Engine/Fill/RemnantFinder.cs b/OpenNest.Engine/Fill/RemnantFinder.cs index a6ad082..fabd193 100644 --- a/OpenNest.Engine/Fill/RemnantFinder.cs +++ b/OpenNest.Engine/Fill/RemnantFinder.cs @@ -1,9 +1,8 @@ -using System; +using OpenNest.Geometry; using System.Collections.Generic; using System.Linq; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Fill { /// /// A remnant box with a priority tier. diff --git a/OpenNest.Engine/Fill/RotationAnalysis.cs b/OpenNest.Engine/Fill/RotationAnalysis.cs index e79af6f..5ce61ce 100644 --- a/OpenNest.Engine/Fill/RotationAnalysis.cs +++ b/OpenNest.Engine/Fill/RotationAnalysis.cs @@ -1,10 +1,10 @@ -using System.Collections.Generic; -using System.Linq; using OpenNest.Converters; using OpenNest.Geometry; using OpenNest.Math; +using System.Collections.Generic; +using System.Linq; -namespace OpenNest +namespace OpenNest.Engine.Fill { internal static class RotationAnalysis { diff --git a/OpenNest.Engine/Fill/ShrinkFiller.cs b/OpenNest.Engine/Fill/ShrinkFiller.cs index 3b62085..dcff9e7 100644 --- a/OpenNest.Engine/Fill/ShrinkFiller.cs +++ b/OpenNest.Engine/Fill/ShrinkFiller.cs @@ -1,10 +1,10 @@ +using OpenNest.Geometry; using System; using System.Collections.Generic; using System.Linq; using System.Threading; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Fill { public enum ShrinkAxis { Width, Height } diff --git a/OpenNest.Engine/NestEngineBase.cs b/OpenNest.Engine/NestEngineBase.cs index 20c3e84..36e0412 100644 --- a/OpenNest.Engine/NestEngineBase.cs +++ b/OpenNest.Engine/NestEngineBase.cs @@ -1,9 +1,10 @@ +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 { @@ -212,9 +213,13 @@ namespace OpenNest $"PartArea={totalPartArea:F0}, Remnant={workArea.Area() - totalPartArea:F0}, " + $"WorkArea={workArea.Width:F1}x{workArea.Length:F1} | {description}"; Debug.WriteLine(msg); - try { System.IO.File.AppendAllText( + try + { + System.IO.File.AppendAllText( System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "nest-debug.log"), - $"{DateTime.Now:HH:mm:ss.fff} {msg}\n"); } catch { } + $"{DateTime.Now:HH:mm:ss.fff} {msg}\n"); + } + catch { } progress.Report(new NestProgress { diff --git a/OpenNest.Engine/RectanglePacking/FillBestFit.cs b/OpenNest.Engine/RectanglePacking/FillBestFit.cs index fb37247..6a6df2c 100644 --- a/OpenNest.Engine/RectanglePacking/FillBestFit.cs +++ b/OpenNest.Engine/RectanglePacking/FillBestFit.cs @@ -1,6 +1,5 @@ -using System; -using OpenNest.Geometry; -using OpenNest.Math; +using OpenNest.Math; +using System; namespace OpenNest.RectanglePacking { diff --git a/OpenNest.Engine/Strategies/ExtentsFillStrategy.cs b/OpenNest.Engine/Strategies/ExtentsFillStrategy.cs index 67f762e..cc202bb 100644 --- a/OpenNest.Engine/Strategies/ExtentsFillStrategy.cs +++ b/OpenNest.Engine/Strategies/ExtentsFillStrategy.cs @@ -1,8 +1,8 @@ -using System.Collections.Generic; -using OpenNest.Engine.BestFit; +using OpenNest.Engine.Fill; using OpenNest.Math; +using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public class ExtentsFillStrategy : IFillStrategy { @@ -20,10 +20,6 @@ namespace OpenNest var angles = new[] { bestRotation, bestRotation + Angle.HalfPI }; - var bestFits = context.SharedState.TryGetValue("BestFits", out var cached) - ? (List)cached - : null; - List best = null; var bestScore = default(FillScore); @@ -31,7 +27,7 @@ namespace OpenNest { context.Token.ThrowIfCancellationRequested(); var result = filler.Fill(context.Item.Drawing, angle, - context.PlateNumber, context.Token, context.Progress, bestFits); + context.PlateNumber, context.Token, context.Progress); if (result != null && result.Count > 0) { var score = FillScore.Compute(result, context.WorkArea); diff --git a/OpenNest.Engine/Strategies/FillContext.cs b/OpenNest.Engine/Strategies/FillContext.cs index 7899668..26b3159 100644 --- a/OpenNest.Engine/Strategies/FillContext.cs +++ b/OpenNest.Engine/Strategies/FillContext.cs @@ -1,9 +1,10 @@ +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System; using System.Collections.Generic; using System.Threading; -using OpenNest.Geometry; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public class FillContext { diff --git a/OpenNest.Engine/Strategies/FillHelpers.cs b/OpenNest.Engine/Strategies/FillHelpers.cs index 1a3c005..6533568 100644 --- a/OpenNest.Engine/Strategies/FillHelpers.cs +++ b/OpenNest.Engine/Strategies/FillHelpers.cs @@ -1,10 +1,11 @@ +using OpenNest.Engine.Fill; +using OpenNest.Geometry; +using OpenNest.Math; using System.Collections.Concurrent; using System.Collections.Generic; using System.Threading.Tasks; -using OpenNest.Geometry; -using OpenNest.Math; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public static class FillHelpers { diff --git a/OpenNest.Engine/Strategies/FillStrategyRegistry.cs b/OpenNest.Engine/Strategies/FillStrategyRegistry.cs index f146cdf..1a49604 100644 --- a/OpenNest.Engine/Strategies/FillStrategyRegistry.cs +++ b/OpenNest.Engine/Strategies/FillStrategyRegistry.cs @@ -5,7 +5,7 @@ using System.IO; using System.Linq; using System.Reflection; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public static class FillStrategyRegistry { diff --git a/OpenNest.Engine/Strategies/IFillStrategy.cs b/OpenNest.Engine/Strategies/IFillStrategy.cs index 86170f0..5dc7514 100644 --- a/OpenNest.Engine/Strategies/IFillStrategy.cs +++ b/OpenNest.Engine/Strategies/IFillStrategy.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public interface IFillStrategy { diff --git a/OpenNest.Engine/Strategies/LinearFillStrategy.cs b/OpenNest.Engine/Strategies/LinearFillStrategy.cs index dfe84ef..1d733c8 100644 --- a/OpenNest.Engine/Strategies/LinearFillStrategy.cs +++ b/OpenNest.Engine/Strategies/LinearFillStrategy.cs @@ -1,7 +1,8 @@ -using System.Collections.Generic; +using OpenNest.Engine.Fill; using OpenNest.Math; +using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public class LinearFillStrategy : IFillStrategy { diff --git a/OpenNest.Engine/Strategies/PairsFillStrategy.cs b/OpenNest.Engine/Strategies/PairsFillStrategy.cs index 904c220..79c0428 100644 --- a/OpenNest.Engine/Strategies/PairsFillStrategy.cs +++ b/OpenNest.Engine/Strategies/PairsFillStrategy.cs @@ -1,7 +1,8 @@ -using System.Collections.Generic; using OpenNest.Engine.BestFit; +using OpenNest.Engine.Fill; +using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public class PairsFillStrategy : IFillStrategy { diff --git a/OpenNest.Engine/Strategies/RectBestFitStrategy.cs b/OpenNest.Engine/Strategies/RectBestFitStrategy.cs index 81d1011..d045b2c 100644 --- a/OpenNest.Engine/Strategies/RectBestFitStrategy.cs +++ b/OpenNest.Engine/Strategies/RectBestFitStrategy.cs @@ -1,7 +1,7 @@ -using System.Collections.Generic; using OpenNest.RectanglePacking; +using System.Collections.Generic; -namespace OpenNest +namespace OpenNest.Engine.Strategies { public class RectBestFitStrategy : IFillStrategy { diff --git a/OpenNest.Engine/StripNestEngine.cs b/OpenNest.Engine/StripNestEngine.cs index a2da5f1..6f4c6ef 100644 --- a/OpenNest.Engine/StripNestEngine.cs +++ b/OpenNest.Engine/StripNestEngine.cs @@ -1,8 +1,9 @@ +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System; using System.Collections.Generic; using System.Linq; using System.Threading; -using OpenNest.Geometry; namespace OpenNest { diff --git a/OpenNest.Engine/StripNestResult.cs b/OpenNest.Engine/StripNestResult.cs index 44181ca..46cc386 100644 --- a/OpenNest.Engine/StripNestResult.cs +++ b/OpenNest.Engine/StripNestResult.cs @@ -1,5 +1,6 @@ -using System.Collections.Generic; +using OpenNest.Engine.Fill; using OpenNest.Geometry; +using System.Collections.Generic; namespace OpenNest { diff --git a/OpenNest.Mcp/Tools/InspectionTools.cs b/OpenNest.Mcp/Tools/InspectionTools.cs index b2f4eaa..f72a1b9 100644 --- a/OpenNest.Mcp/Tools/InspectionTools.cs +++ b/OpenNest.Mcp/Tools/InspectionTools.cs @@ -1,10 +1,9 @@ -using System.Collections.Generic; +using ModelContextProtocol.Server; +using OpenNest.Engine.Fill; +using OpenNest.Math; using System.ComponentModel; using System.Linq; using System.Text; -using ModelContextProtocol.Server; -using OpenNest.Geometry; -using OpenNest.Math; namespace OpenNest.Mcp.Tools { diff --git a/OpenNest.Mcp/Tools/NestingTools.cs b/OpenNest.Mcp/Tools/NestingTools.cs index de555cf..78c0c8f 100644 --- a/OpenNest.Mcp/Tools/NestingTools.cs +++ b/OpenNest.Mcp/Tools/NestingTools.cs @@ -1,10 +1,11 @@ +using ModelContextProtocol.Server; +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading; -using ModelContextProtocol.Server; -using OpenNest.Geometry; namespace OpenNest.Mcp.Tools { diff --git a/OpenNest.Tests/AccumulatingProgressTests.cs b/OpenNest.Tests/AccumulatingProgressTests.cs index 2df42c5..870e859 100644 --- a/OpenNest.Tests/AccumulatingProgressTests.cs +++ b/OpenNest.Tests/AccumulatingProgressTests.cs @@ -1,3 +1,5 @@ +using OpenNest.Engine.Fill; + namespace OpenNest.Tests; public class AccumulatingProgressTests diff --git a/OpenNest.Tests/AngleCandidateBuilderTests.cs b/OpenNest.Tests/AngleCandidateBuilderTests.cs index 29d26bf..a76313d 100644 --- a/OpenNest.Tests/AngleCandidateBuilderTests.cs +++ b/OpenNest.Tests/AngleCandidateBuilderTests.cs @@ -1,3 +1,4 @@ +using OpenNest.Engine.Fill; using OpenNest.Geometry; namespace OpenNest.Tests; diff --git a/OpenNest.Tests/FillExtentsTests.cs b/OpenNest.Tests/FillExtentsTests.cs index 3271ec6..d379778 100644 --- a/OpenNest.Tests/FillExtentsTests.cs +++ b/OpenNest.Tests/FillExtentsTests.cs @@ -1,4 +1,5 @@ using OpenNest.CNC; +using OpenNest.Engine.Fill; using OpenNest.Geometry; namespace OpenNest.Tests; diff --git a/OpenNest.Tests/FillScoreTests.cs b/OpenNest.Tests/FillScoreTests.cs index a069675..1619a16 100644 --- a/OpenNest.Tests/FillScoreTests.cs +++ b/OpenNest.Tests/FillScoreTests.cs @@ -1,3 +1,5 @@ +using OpenNest.Engine.Fill; + namespace OpenNest.Tests; public class FillScoreTests diff --git a/OpenNest.Tests/PairFillerTests.cs b/OpenNest.Tests/PairFillerTests.cs index d2199b7..06c654d 100644 --- a/OpenNest.Tests/PairFillerTests.cs +++ b/OpenNest.Tests/PairFillerTests.cs @@ -1,3 +1,4 @@ +using OpenNest.Engine.Fill; using OpenNest.Geometry; namespace OpenNest.Tests; diff --git a/OpenNest.Tests/PatternTilerTests.cs b/OpenNest.Tests/PatternTilerTests.cs index 8b704b5..efaa916 100644 --- a/OpenNest.Tests/PatternTilerTests.cs +++ b/OpenNest.Tests/PatternTilerTests.cs @@ -1,5 +1,4 @@ -using OpenNest; -using OpenNest.Engine; +using OpenNest.Engine.Fill; using OpenNest.Geometry; namespace OpenNest.Tests; diff --git a/OpenNest.Tests/RemnantFillerTests2.cs b/OpenNest.Tests/RemnantFillerTests2.cs index 2ee8c6a..d7b9037 100644 --- a/OpenNest.Tests/RemnantFillerTests2.cs +++ b/OpenNest.Tests/RemnantFillerTests2.cs @@ -1,3 +1,4 @@ +using OpenNest.Engine.Fill; using OpenNest.Geometry; namespace OpenNest.Tests; diff --git a/OpenNest.Tests/RemnantFinderTests.cs b/OpenNest.Tests/RemnantFinderTests.cs index 45734c5..309e46b 100644 --- a/OpenNest.Tests/RemnantFinderTests.cs +++ b/OpenNest.Tests/RemnantFinderTests.cs @@ -1,3 +1,4 @@ +using OpenNest.Engine.Fill; using OpenNest.Geometry; using OpenNest.IO; diff --git a/OpenNest.Tests/ShrinkFillerTests.cs b/OpenNest.Tests/ShrinkFillerTests.cs index 5368d51..8d50f32 100644 --- a/OpenNest.Tests/ShrinkFillerTests.cs +++ b/OpenNest.Tests/ShrinkFillerTests.cs @@ -1,3 +1,4 @@ +using OpenNest.Engine.Fill; using OpenNest.Geometry; namespace OpenNest.Tests; diff --git a/OpenNest.Tests/Strategies/FillStrategyRegistryTests.cs b/OpenNest.Tests/Strategies/FillStrategyRegistryTests.cs index 497b533..0458632 100644 --- a/OpenNest.Tests/Strategies/FillStrategyRegistryTests.cs +++ b/OpenNest.Tests/Strategies/FillStrategyRegistryTests.cs @@ -1,3 +1,5 @@ +using OpenNest.Engine.Strategies; + namespace OpenNest.Tests.Strategies; public class FillStrategyRegistryTests diff --git a/OpenNest/Actions/ActionClone.cs b/OpenNest/Actions/ActionClone.cs index 669ccf5..7c3ab96 100644 --- a/OpenNest/Actions/ActionClone.cs +++ b/OpenNest/Actions/ActionClone.cs @@ -1,9 +1,10 @@ -using System.Collections.Generic; +using OpenNest.Controls; +using OpenNest.Engine.Fill; +using OpenNest.Geometry; +using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Windows.Forms; -using OpenNest.Controls; -using OpenNest.Geometry; namespace OpenNest.Actions { @@ -71,7 +72,7 @@ namespace OpenNest.Actions { if (plateView.ViewScale != lastScale) { - parts.ForEach(p => + parts.ForEach(p => { p.Update(plateView); p.Draw(e.Graphics); @@ -146,11 +147,11 @@ namespace OpenNest.Actions PushDirection hDir, vDir; switch (plateView.Plate.Quadrant) { - case 1: hDir = PushDirection.Left; vDir = PushDirection.Down; break; - case 2: hDir = PushDirection.Right; vDir = PushDirection.Down; break; - case 3: hDir = PushDirection.Right; vDir = PushDirection.Up; break; - case 4: hDir = PushDirection.Left; vDir = PushDirection.Up; break; - default: hDir = PushDirection.Left; vDir = PushDirection.Down; break; + case 1: hDir = PushDirection.Left; vDir = PushDirection.Down; break; + case 2: hDir = PushDirection.Right; vDir = PushDirection.Down; break; + case 3: hDir = PushDirection.Right; vDir = PushDirection.Up; break; + case 4: hDir = PushDirection.Left; vDir = PushDirection.Up; break; + default: hDir = PushDirection.Left; vDir = PushDirection.Down; break; } // Phase 1: BB-only push to get past irregular geometry quickly. diff --git a/OpenNest/Controls/PlateView.cs b/OpenNest/Controls/PlateView.cs index c61d6b4..7bbfea8 100644 --- a/OpenNest/Controls/PlateView.cs +++ b/OpenNest/Controls/PlateView.cs @@ -1,4 +1,11 @@ -using System; +using OpenNest.Actions; +using OpenNest.CNC; +using OpenNest.Collections; +using OpenNest.Engine.Fill; +using OpenNest.Forms; +using OpenNest.Geometry; +using OpenNest.Math; +using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; @@ -9,12 +16,6 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using OpenNest.Actions; -using OpenNest.CNC; -using OpenNest.Collections; -using OpenNest.Forms; -using OpenNest.Geometry; -using OpenNest.Math; using Action = OpenNest.Actions.Action; using Timer = System.Timers.Timer; @@ -59,7 +60,7 @@ namespace OpenNest.Controls public List SelectedParts; public ReadOnlyCollection Parts; - + public event EventHandler> PartAdded; public event EventHandler> PartRemoved; public event EventHandler StatusChanged; @@ -381,7 +382,7 @@ namespace OpenNest.Controls e.Graphics.DrawLine(ColorScheme.OriginPen, origin.X, 0, origin.X, Height); e.Graphics.DrawLine(ColorScheme.OriginPen, 0, origin.Y, Width, origin.Y); } - + e.Graphics.TranslateTransform(origin.X, origin.Y); DrawPlate(e.Graphics); @@ -1001,7 +1002,7 @@ namespace OpenNest.Controls { base.ZoomToPoint(pt, zoomFactor, false); - if (redraw) + if (redraw) Invalidate(); } diff --git a/OpenNest/Forms/MainForm.cs b/OpenNest/Forms/MainForm.cs index 1086763..aa9cd2d 100644 --- a/OpenNest/Forms/MainForm.cs +++ b/OpenNest/Forms/MainForm.cs @@ -1,4 +1,12 @@ -using System; +using OpenNest.Actions; +using OpenNest.Collections; +using OpenNest.Engine.BestFit; +using OpenNest.Engine.Fill; +using OpenNest.Geometry; +using OpenNest.Gpu; +using OpenNest.IO; +using OpenNest.Properties; +using System; using System.Collections.Generic; using System.Drawing; using System.IO; @@ -7,13 +15,6 @@ using System.Reflection; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using OpenNest.Actions; -using OpenNest.Collections; -using OpenNest.Engine.BestFit; -using OpenNest.Gpu; -using OpenNest.Geometry; -using OpenNest.IO; -using OpenNest.Properties; namespace OpenNest.Forms { @@ -812,7 +813,7 @@ namespace OpenNest.Forms if (form.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; - + var items = form.GetNestItems(); if (!items.Any(it => it.Quantity > 0)) @@ -896,7 +897,7 @@ namespace OpenNest.Forms private void SequenceAllPlates_Click(object sender, EventArgs e) { - if (activeForm == null) + if (activeForm == null) return; activeForm.AutoSequenceAllPlates(); diff --git a/OpenNest/Forms/PatternTileForm.cs b/OpenNest/Forms/PatternTileForm.cs index 5056da5..acbde4d 100644 --- a/OpenNest/Forms/PatternTileForm.cs +++ b/OpenNest/Forms/PatternTileForm.cs @@ -1,9 +1,10 @@ +using OpenNest.Controls; +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; -using OpenNest.Controls; -using OpenNest.Geometry; using GeoSize = OpenNest.Geometry.Size; namespace OpenNest.Forms diff --git a/OpenNest/Forms/RemnantViewerForm.cs b/OpenNest/Forms/RemnantViewerForm.cs index 010850b..805b315 100644 --- a/OpenNest/Forms/RemnantViewerForm.cs +++ b/OpenNest/Forms/RemnantViewerForm.cs @@ -1,9 +1,10 @@ +using OpenNest.Controls; +using OpenNest.Engine.Fill; +using OpenNest.Geometry; using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; -using OpenNest.Controls; -using OpenNest.Geometry; namespace OpenNest.Forms {