我想知道如何以安全的方式并行化下面的循环。我找到了像这样的一些可能的解决方案。但是我只能使用 OpenMP 2.0 版和 Boost 1.59 版。
算法解释:
它遍历边界框内的所有三角形,然后在_considerTriangle函数中检查相交的可能性(具有唯一三角形)。最后在_considerTriangle中,如果一个三角形相交,它会将三角形插入到一个集合容器intersectedTri中。
//Iterating through every triangle
std::set<Triangle> intersectedTri;
for(IntersectedTrianglesIterator it=tree.Begin_IteratorByBoundingBox(bbox_min,bbox_max);it!=tree.End_IteratorByBoundingBox(bbox_min,bbox_max);++it)
_ConsiderTriangle(it->GetTriangle());
我想知道如何安全地将其平行化。