【发布时间】:2018-03-04 16:26:27
【问题描述】:
我想引用 Eigen::MatrixXd 中的不连续行。这将在函数中作为参数传递,而不更改 MatrixXd(行主要)值。 因为我总是需要选择某些行来传递给这个函数, 我想我可以使用对选定行的引用向量。
但即使创建这个向量似乎也是不可能的:点有P.rows() 行数但每一行都是相同的,即 P 中的最后一行。
你能告诉我为什么会发生这种情况以及如何解决它吗?
typedef Eigen::Ref<const Eigen::RowVector3d> OctreePoint;
typedef std::vector<OctreePoint> OctreePoints;
Eigen::MatrixXd P;
// load P from some file
OctreePoints points;
for (int i = 0; i < P.rows(); ++i)
{
// OctreePoint p = P.row(i);
points.push_back(P.row(i));
// std::cout << p << std::endl;
}
std::cout << points << std::endl;
【问题讨论】:
标签: c++ vector reference eigen3