如何将vtkDoubleArray转换为Eigen :: matrix

时间:2014-07-09 10:31:05

标签: c++ vtk eigen

我找到了将原始数组转换为Eigen类的Eigen :: Map类(以及一些有用的片段https://stackoverflow.com/a/12007784/1136458

是否有任何Eigen或vtk类将vtk数组转换为Eigen类(并返回)? 我现在正在尝试的是:

但是我收到以下错误:

错误C2665:'Eigen :: Map :: Map':4个重载中没有一个可以转换所有参数类型

我不一定需要中间cpp_matrix,如果有一个直接方法也可以

2 个答案:

答案 0 :(得分:1)

std::vector<std::vector<double> >的内存布局与Eigen::Map期待的内容不兼容。所有条目必须按顺序存储在内存中,每列之间有一个可选的常量空间。因此,如果vtkDoubleArray的内存布局不可兼容,那么您别无选择,只能使用手动循环复制值。

答案 1 :(得分:0)

如何将vtkMappedDataArray转换为Eigen :: matrix?

我在&#34; vtkMappedDataArray&#34;以及关于&#34; InSituDataStructures&#34;的讨论对于VTK。 不幸的是,我不知道任何细节但也许有帮助。请告诉我们。