using System;
using OpenCvSharp;

namespace OpenCVStudio_v0
{
    /// <summary>
    /// Результат вычисления взаимного положения двух изображений.
    /// Хранит матрицу преобразования и параметры совмещения.
    /// </summary>
    public sealed class TransformMatrixData
    {
        public Mat Matrix { get; }

        public double Score { get; }

        public double ShiftX { get; }

        public double ShiftY { get; }

        public double Angle { get; }

        public double Scale { get; }

        public TransformMatrixData(Mat matrix, double score, double shiftX, double shiftY, double angle, double scale)
        {
            Matrix = matrix ?? throw new ArgumentNullException(nameof(matrix));
            Score = score;
            ShiftX = shiftX;
            ShiftY = shiftY;
            Angle = angle;
            Scale = scale;
        }
    }
}