namespace Kompas.Mcp.Core.Query;

/// <summary>Результат измерения между двумя объектами модели (грань/ребро/вершина).</summary>
public sealed record MeasureResult
{
    /// <summary>Расстояние, мм (для совпадающих/пересекающихся объектов — 0).</summary>
    public required double Distance { get; init; }

    /// <summary>Минимальное расстояние, мм.</summary>
    public required double MinDistance { get; init; }

    /// <summary>Угол между объектами, градусы (валиден только когда <see cref="AngleValid"/>).</summary>
    public required double Angle { get; init; }

    /// <summary>true — угол применим к данной паре объектов.</summary>
    public required bool AngleValid { get; init; }
}
