file new in Git master
DynamicMatrixIntegration.hConversion of Eigen dynamically sized matrix types.
In addition to converting betweem fixed-size types provided by Magnum/
#include <Magnum/EigenIntegration/DynamicMatrixIntegration.h> … Float data[15]; Containers::StridedArrayView2D<Float> view{data, {3, 5}}; /* To avoid a copy make sure to either use `auto` or specify the correct type. In this case the correct type would be `Eigen::Map<Eigen::MatrixXf, Eigen::Unaligned, Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic>>`. */ auto map = EigenIntegration::arrayCast(view); /* To actually copy the data, specify an Eigen Matrix as the type */ Eigen::MatrixXf m = EigenIntegration::arrayCast(view); /* Get back a StridedArrayView onto the second row */ Containers::StridedArrayView1D<Float> rowView = EigenIntegration::arrayCast(m.row(2));
Namespaces
- namespace Magnum
- Root namespace.
- namespace Magnum::EigenIntegration new in 2019.10
- Integration with Eigen.
Functions
-
template<class T>auto arrayCast(const Containers::
StridedArrayView2D<T>& from) -> Eigen::Map<Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>, Eigen::Unaligned, Eigen:: Stride<Eigen::Dynamic, Eigen::Dynamic>> new in Git master - Convert a Containers::
StridedArrayView2D to Eigen's dynamic matrix type. -
template<class T>auto arrayCast(const Containers::
StridedArrayView1D<T>& from) -> Eigen::Map<Eigen::Matrix<T, Eigen::Dynamic, 1>, Eigen::Unaligned, Eigen::InnerStride<>> new in Git master - Convert a Containers::
StridedArrayView1D to Eigen's dynamic vector type. -
template<class Derived>auto arrayCast(const Eigen::DenseCoeffsBase<Derived, Eigen::DirectWriteAccessors>& from) -> std::
enable_if<..., Containers:: StridedArrayView1D<typename Derived:: Scalar>>::type new in Git master - Convert an Eigen expression to Containers::
StridedArrayView1D. -
template<class Derived>auto arrayCast(const Eigen::DenseCoeffsBase<Derived, Eigen::DirectWriteAccessors>& from) -> std::
enable_if<..., Containers:: StridedArrayView2D<typename Derived:: Scalar>>::type new in Git master - Convert an Eigen expression to Containers::
StridedArrayView2D. -
template<class Derived, int Direction>auto arrayCast(const Eigen::Reverse<Derived, Direction>& from) -> std::
enable_if<..., Containers:: StridedArrayView1D<typename Derived:: Scalar>>::type new in Git master - Convert an Eigen reverse expression to Containers::
StridedArrayView1D. -
template<class Derived, int Direction>auto arrayCast(const Eigen::Reverse<Derived, Direction>& from) -> std::
enable_if<..., Containers:: StridedArrayView2D<typename Derived:: Scalar>>::type new in Git master - Convert an Eigen reverse expression to Containers::
StridedArrayView2D.