summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libcamera/internal/matrix.h5
-rw-r--r--src/libcamera/matrix.cpp10
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
*/