#include #include #include #include #include #include #include // // Number type used for input typedef int NT; // Number type used when computing distances typedef double SNT; typedef CGAL::Simple_cartesian SC; struct Rep : public SC {}; typedef CGAL::Shortest_path_segment_traits Gt; typedef Gt::Disk Segment; typedef Gt::Point_2 Point; typedef CGAL::Visibility_complex_2 VC; typedef VC::Vertex Vertex; int main() { // Reading segments from file std::list O; std::ifstream ifs("segments"); std::istream_iterator ifs_it(ifs),ifs_end; std::copy(ifs_it,ifs_end,std::back_inserter(O)); // Two corners of the window Point p(0,0); Point q(1000,800); CGAL::shortest_path_2(O.begin(),O.end(), p,q, std::ostream_iterator(std::cout,"\n"), Gt()); return 0; }