namespace Kompas.Mcp.Core.Editing;

/// <summary>Габарит тела (по индексу в наборе тел детали) — для выбора тела в операциях редактирования.</summary>
public sealed record BodyBox
{
    public required int Index { get; init; }
    public required double MinX { get; init; }
    public required double MinY { get; init; }
    public required double MinZ { get; init; }
    public required double MaxX { get; init; }
    public required double MaxY { get; init; }
    public required double MaxZ { get; init; }

    public double SizeX => Math.Abs(MaxX - MinX);
    public double SizeY => Math.Abs(MaxY - MinY);
    public double SizeZ => Math.Abs(MaxZ - MinZ);
}
