c++ common::geometry::Envelope2d 例子
时间: 2023-08-05 12:03:00 浏览: 115
下面是一个使用c++ common::geometry::Envelope2d的例子:
```cpp
#include <iostream>
#include <common/geometry/envelope_2d.h>
using namespace std;
using namespace common::geometry;
int main() {
Envelope2d env(0.0, 0.0, 10.0, 10.0); // 创建一个包围框,左上角坐标为 (0,0),右下角坐标为 (10,10)
// 获取包围框的左上角和右下角坐标
double x_min = env.min_x();
double y_min = env.min_y();
double x_max = env.max_x();
double y_max = env.max_y();
cout << "Envelope2d: (" << x_min << ", " << y_min << "), (" << x_max << ", " << y_max << ")" << endl;
// 检查包围框是否包含某个点
bool contains = env.Contains(5.0, 5.0);
cout << "Contains (5,5): " << contains << endl;
// 将包围框扩大或缩小
env.Expand(2.0);
cout << "Expanded envelope2d: (" << env.min_x() << ", " << env.min_y() << "), (" << env.max_x() << ", " << env.max_y() << ")" << endl;
return 0;
}
```
运行上面的代码,输出应该是:
```
Envelope2d: (0, 0), (10, 10)
Contains (5,5): 1
Expanded envelope2d: (-2, -2), (12, 12)
```
这个例子展示了如何使用Envelope2d类来创建一个包围框、获取包围框的坐标、检查包围框是否包含某个点,以及将包围框扩大或缩小等操作。
阅读全文