std::pair存放eigen::isometry
时间: 2023-06-29 13:15:36 浏览: 130
可以使用 `std::pair` 存放 `Eigen::Isometry3d` 类型的对象,用法如下:
```cpp
#include <iostream>
#include <utility>
#include <Eigen/Geometry>
int main() {
Eigen::Isometry3d T1 = Eigen::Isometry3d::Identity();
Eigen::Isometry3d T2;
T2.linear() = Eigen::Quaterniond(0.707, 0, 0.707, 0).toRotationMatrix();
T2.translation() << 1, 2, 3;
std::pair<Eigen::Isometry3d, Eigen::Isometry3d> pair(T1, T2);
std::cout << "T1: " << std::endl << T1.matrix() << std::endl;
std::cout << "T2: " << std::endl << T2.matrix() << std::endl;
std::cout << "pair.first: " << std::endl << pair.first.matrix() << std::endl;
std::cout << "pair.second: " << std::endl << pair.second.matrix() << std::endl;
return 0;
}
```
在上述示例中,首先定义了两个 `Eigen::Isometry3d` 类型的对象 `T1` 和 `T2`,然后使用 `std::pair` 存放这两个对象,最后输出这两个对象以及 `std::pair` 中的两个元素。
注意,在使用 `std::pair` 存放 `Eigen::Isometry3d` 类型的对象时,需要包含头文件 `<Eigen/Geometry>`。另外,在输出 `Eigen::Isometry3d` 类型的对象时,可以使用 `matrix()` 方法将其转化为矩阵形式输出。
阅读全文