All 132 OpenNest.Engine source files now declare namespaces matching their nested directories: Jobs/, Jobs/Placement/, Jobs/Adapters/, Fill/, RectanglePacking/, CirclePacking/, and engine-root types moved from 'OpenNest' to 'OpenNest.Engine'. RootNamespace updated accordingly. Consumers (Api, Console, Mcp, Benchmark, Training, desktop app, tests) gained the explicit usings the move requires; CLAUDE.md updated.
35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace OpenNest.Engine
|
|
{
|
|
public class MultiPlateNestOptions
|
|
{
|
|
public Plate Template { get; set; }
|
|
public List<PlateOption> PlateOptions { get; set; }
|
|
public double SalvageRate { get; set; } = 0.5;
|
|
public PartSortOrder SortOrder { get; set; } = PartSortOrder.BoundingBoxArea;
|
|
public double MinRemnantSize { get; set; } = 12.0;
|
|
public bool AllowPlateCreation { get; set; } = true;
|
|
}
|
|
|
|
public class MultiPlateResult
|
|
{
|
|
public List<PlateResult> Plates { get; set; } = new();
|
|
public List<NestItem> UnplacedItems { get; set; } = new();
|
|
}
|
|
|
|
public class PlateResult
|
|
{
|
|
public Plate Plate { get; set; }
|
|
public List<Part> Parts { get; set; } = new();
|
|
public PlateOption ChosenSize { get; set; }
|
|
public bool IsNew { get; set; }
|
|
|
|
public void AddParts(IList<Part> parts)
|
|
{
|
|
Plate.Parts.AddRange(parts);
|
|
Parts.AddRange(parts);
|
|
}
|
|
}
|
|
}
|