简而言之:它不受支持,因为目前在 Boost.Geometry OOB 中,Pyramid 和 Frustum 概念不可用/不支持。
但是,理论上应该可以执行这样的查询。在查询期间,bgi::rtree
调用命名空间中定义的适当布尔算法boost::geometry
,例如,如果您调用
rtree.query(bgi::intersects(my_geometry), out_it);
内部
bg::intersects(xxx, my_geometry);
被调用,其中节点的边界框或值的可索引(从用户传递到xxx
中提取的几何图形,例如,也是一个框或一个点)。所以如果你实现了例如ValueType
bgi::rtree
namespace boost { namespace geometry {
template <typename Box> inline
bool intersects(Box const& b, MyFrustum const& f)
{
// your implementation
}
}}
理论上它应该工作。虽然没有测试它。
以上:
namespace bg = boost::geometry;
namespace bgi = boost::geometry::index;
此外,如果您想直接联系开发人员,您可以考虑订阅 Boost.Geometry 邮件列表:http ://lists.boost.org/mailman/listinfo.cgi/geometry