diff options
-rw-r--r-- | include/libcamera/internal/matrix.h | 5 | ||||
-rw-r--r-- | src/libcamera/matrix.cpp | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/libcamera/internal/matrix.h b/include/libcamera/internal/matrix.h index 512c1162..6d40567a 100644 --- a/include/libcamera/internal/matrix.h +++ b/include/libcamera/internal/matrix.h @@ -34,6 +34,11 @@ public: std::copy(data.begin(), data.end(), data_.begin()); } + Matrix(const Span<const T, Rows * Cols> data) + { + std::copy(data.begin(), data.end(), data_.begin()); + } + static constexpr Matrix identity() { Matrix ret; diff --git a/src/libcamera/matrix.cpp b/src/libcamera/matrix.cpp index e7e02722..49e2aa3b 100644 --- a/src/libcamera/matrix.cpp +++ b/src/libcamera/matrix.cpp @@ -42,6 +42,16 @@ LOG_DEFINE_CATEGORY(Matrix) */ /** + * \fn Matrix::Matrix(const Span<const T, Rows * Cols> data) + * \brief Construct a matrix from supplied data + * \param[in] data Data from which to construct a matrix + * + * \a data is a one-dimensional Span and will be turned into a matrix in + * row-major order. The size of \a data must be equal to the product of the + * number of rows and columns of the matrix (Rows x Cols). + */ + +/** * \fn Matrix::identity() * \brief Construct an identity matrix */ |