我可以在boost :: geometry的多边形内存储其他信息吗?

ffr*_*anz 2 c++ geometry boost polygon boost-geometry

我是boost :: geometry和C++的新手,在玩它时,我想到了以下问题:
是否可以直接在多边形内存储其他信息,例如包含颜色的std :: string或带有int的字符串一些身份证号码?

或者我必须用以下内容包装它:

MyPolygon {

  typedef boost::geometry::model::d2::point_xy<double> point_2d;
  typedef boost::geometry::model::polygon<point_2d> polygon_2d;

  polygon_2d poly;
  std::string color;
  int id;
  etc...

}
Run Code Online (Sandbox Code Playgroud)

谢谢!
ffranz

小智 5

您可以将任何额外信息存储到Boost.Geometry支持的几何中.

但是您无法将此信息存储在库本身提供的类型中.

实际上,你必须包装它们,或者你可以使用特征创建自己的类型并使它们适应Boost.Geometry.

此示例将帮助您:自定义多边形示例