mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-02 18:21:36 -05:00
Show Original drew nothing until Simplify ran, and then showed entities that had already been through import cleanup. The importers now capture the entities before any optimization and the overlay draws those from load, while Simplify keeps starting from the cleaned entities. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
65 lines
2.4 KiB
C#
65 lines
2.4 KiB
C#
using System.Collections.Generic;
|
|
using ACadSharp;
|
|
using OpenNest.Bending;
|
|
using OpenNest.Geometry;
|
|
|
|
namespace OpenNest.IO
|
|
{
|
|
/// <summary>
|
|
/// Intermediate result of <see cref="CadImporter.Import"/>. Holds raw loaded
|
|
/// geometry and detected bends. Callers may mutate <see cref="Entities"/> and
|
|
/// <see cref="Bends"/> before passing to <see cref="CadImporter.BuildDrawing"/>.
|
|
/// </summary>
|
|
public class CadImportResult
|
|
{
|
|
/// <summary>
|
|
/// All entities loaded from the source file, including promoted bend
|
|
/// source entities. Mutable.
|
|
/// </summary>
|
|
public List<Entity> Entities { get; set; } = new List<Entity>();
|
|
|
|
/// <summary>
|
|
/// The source file's geometry on every layer, before any import cleanup, for
|
|
/// comparing against <see cref="Entities"/>. Display only: these share no instances
|
|
/// with <see cref="Entities"/> and their IDs key nothing.
|
|
/// </summary>
|
|
public List<Entity> RawEntities { get; set; } = new List<Entity>();
|
|
|
|
/// <summary>
|
|
/// Bends detected during import. Mutable — callers may add, remove,
|
|
/// or replace entries before building the drawing.
|
|
/// </summary>
|
|
public List<Bend> Bends { get; set; } = new List<Bend>();
|
|
|
|
public List<Bending.BendRepairReport> BendRepairReports { get; set; } =
|
|
new List<Bending.BendRepairReport>();
|
|
|
|
/// <summary>
|
|
/// Bounding box of <see cref="Entities"/> at import time. May be stale
|
|
/// if callers mutate <see cref="Entities"/>; recompute if needed.
|
|
/// </summary>
|
|
public Box Bounds { get; set; }
|
|
|
|
/// <summary>
|
|
/// Absolute path to the source file.
|
|
/// </summary>
|
|
public string SourcePath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Default drawing name (filename without extension, unless overridden).
|
|
/// </summary>
|
|
public string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// The raw CAD document from the source file. Available for callers
|
|
/// that need access to non-geometry entities (e.g., text annotations).
|
|
/// </summary>
|
|
public CadDocument Document { get; set; }
|
|
|
|
/// <summary>
|
|
/// Source content the import left out, worded for the user.
|
|
/// </summary>
|
|
public List<string> Warnings { get; set; } = new List<string>();
|
|
}
|
|
}
|