将几何多边形内部表示提升为 STL 列表?
Boost geometry polygon inner representation as a STL list?
据我所知,boost polygon 表示为 STL 矢量。当需要在多边形的特定索引处添加新点时,这并不方便,因为这是线性复杂度。
有没有办法让 boost 使用列表表示或以其他方式解决在恒定时间内将点添加到多边形索引的问题?
整点 the Boost Geometry Design Rationale is to program to concepts, not models.
您描述的多边形的默认 模型 确实使用 std::vector
,但您可以使用任何模型 - 包括您自己的类型或第三方类型,前提是 some adaption.
因此,事不宜迟,将 builtin model 与列表一起使用:
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <list>
int main() {
using namespace boost::geometry;
using Point = model::d2::point_xy<double>;
model::polygon<Point, true, true, std::list> p;
}
据我所知,boost polygon 表示为 STL 矢量。当需要在多边形的特定索引处添加新点时,这并不方便,因为这是线性复杂度。
有没有办法让 boost 使用列表表示或以其他方式解决在恒定时间内将点添加到多边形索引的问题?
整点 the Boost Geometry Design Rationale is to program to concepts, not models.
您描述的多边形的默认 模型 确实使用 std::vector
,但您可以使用任何模型 - 包括您自己的类型或第三方类型,前提是 some adaption.
因此,事不宜迟,将 builtin model 与列表一起使用:
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <list>
int main() {
using namespace boost::geometry;
using Point = model::d2::point_xy<double>;
model::polygon<Point, true, true, std::list> p;
}