文件中 CGAL 类的输入

Input for CGAL classes from a file

本文关键字:输入 CGAL 文件      更新时间:2023-10-16

有没有一种简单的方法可以使用CGAL从同一文件中读取2D中的点和线段?

此文件的格式应该是什么?

在 CGAL 中,内核对象和流operator<<重载。这种格式显然没有记录,但对于更简单的类型来说很明显。

#include <CGAL/basic.h>
#include <CGAL/Simple_cartesian.h>
typedef CGAL::Simple_cartesian<double> K;
int main()
{
  K::Point_2 p;
  std::stringstream ss;
  ss << "2.05 3.05";
  ss >> p; // read from a stream
  std::cout << p << std::endl; // write to a stream
  K::Segment_2 s;
  ss.clear();
  ss << "2.3 4.2 4.2 2.3";
  ss >> s; // read a segment from a stream
  std::cout << s << std::endl; // write a segment to a stream
  return 0;
}

查看代码,CGAL::Polygon_2期望输入如下:

"4 0 0 0 1 1 1 1 0"

其中第一个数字是后面的点数,之后是点数。