有没有一种简单的方法可以使用 CGAL 从同一个文件中读取 2D 中的点和线段?
这个文件的格式应该是什么?
在 CGALoperator<<
中,内核对象和流是重载的。该格式显然没有记录,但对于更简单的类型来说很明显。
#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;
}
查看代码 aCGAL::Polygon_2
期望输入如下:
"4 0 0 0 1 1 1 1 0"
其中第一个数字是后面的点数,然后是点数。