本文整理汇总了C++中BBox::grow方法的典型用法代码示例。如果您正苦于以下问题:C++ BBox::grow方法的具体用法?C++ BBox::grow怎么用?C++ BBox::grow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BBox
的用法示例。
在下文中一共展示了BBox::grow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _Build
GatherNode* GatherTreeBuilder::_Build( vector<GpKdItem>::iterator start, vector<GpKdItem>::iterator end, vector<mdGatherPoint> &points, PathSampler* sampler)
{
assert(end > start);
if (end - start == 1)
return _MakeLeaf(start, points);
BBox<Vec6f> bbox = BBox<Vec6f>(EmptyTy());
for (vector<GpKdItem>::iterator it = start; it != end; it++)
bbox.grow(it->point);
uint32_t dim = maxDim(bbox.size());
vector<GpKdItem>::iterator mid = start + (end - start) / 2;
std::nth_element(start, mid, end, [dim](const GpKdItem &d1, const GpKdItem &d2) -> bool {
return d1.point[dim] < d2.point[dim];
});
GatherNode* node = new GatherNode();
node->left = _Build(start, mid, points, sampler);
node->right = _Build(mid, end, points, sampler);
_UpdateNode(node, sampler);
return node;
}