如何获得 Point p
的坐标迭代器,其中 Point
满足 Point Concept ?
最佳答案
这完全取决于 Point 的类型。如果您使用 bg::model::point<>
那么这可能会有问题,因为需要维度索引的运行时到编译时的转换,例如一些 if
for 循环或递归函数中的条件(如您实现的那样)。
但是,您也可以实现自己的 Point 类型并定义所需的任何成员(例如 operator[]
)或使用已在另一个库中实现的 Point 类型(假设最大维度在编译时已知)。然后,为了让 Boost.Geometry 知道如何处理您的 Point 类型,您将被迫通过以下方式使其适应 Point 概念:
- 使用macros provided by Boost.Geometry对于典型的 2D 和 3D 案例
- 以相同的方式对特征进行特化,例如对于 model::point_xy<>或 model::point<>
关于c++ - 点的坐标迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43027263/