【发布时间】:2015-09-28 00:20:36
【问题描述】:
大家好,我知道如果 rtree 是在 boost 中使用范围值创建的,它将使用打包算法。我需要一个使用打包算法的 rtree 示例。这是我使用二次算法的代码
using point = bg::model::point < int, 2, bg::cs::cartesian >;
using pointI = std::pair<point, std::size_t>;
vector<point> contourCenters // has some value
bgi::rtree< pointI, bgi::quadratic<16> > rtree;
vector< pointI > cloud;
for (size_t i = 0; i < contourCenters.size(); ++i)
{
int x = contourCenters[i].get < 0 >();
int y = contourCenters[i].get < 1 >();
cout << "Contour Centers: (" << x << "," << y << ")";
cloud.push_back(mp(x, y, i));
rtree.insert(make_pair(contourCenters[i], i));
}
我想用打包算法创建 rtree,因为它似乎是 boost 中最快的。请指导我如何在 boost 中使用打包算法创建 rtree。
【问题讨论】:
标签: c++ algorithm boost packing