Например, если у меня есть Eigen::MatrixXd
размером 10 столбцов и 3 строки, как я могу связать это с std::vector
из 10 элементов Eigen::Vector3d
?когда я говорю псевдоним, я имею в виду использование одного и того же блока памяти без копирования.
Я знаю, что могу сделать обратное отображение, например:
std::vector<Vector3d> v(10);
...
Map<Matrix<double,3,Dynamic> > m(v.data().data(), 3, 10);
, но, наоборот, если у меня есть Eigen:: Matrix, я пытался преобразовать его в вектор Eigen :: vector, но следующая строка кода не удалась компиляции
Eigen::Matrix2Xd points;
...
std::vector<Eigen::Vector2d> v_points(points.data()
Eigen::aligned_allocator<Eigen::vector2d>(points_data()))