/* * Author: Kan Huang * E-mail: huangkandiy@gmail.com */ #include #include #include #include #include #include #include #include #include #include #include #include template std::string number2string(T n) { std::stringstream ss; ss << n; return ss.str(); } int main() { int case_number = 1; //test kernel Cartesian { typedef CGAL::Gmpq Number_type; typedef CGAL::Cartesian Kernel; typedef CGAL::Arr_segment_traits_2 Traits_2; typedef Traits_2::Point_2 Point_2; typedef Traits_2::X_monotone_curve_2 Segment_2; typedef CGAL::Arrangement_2 Arrangement_2; std::cout<<"Kernel: Cartesian"<(arr_in, input); CGAL::create_arrangement_from_file(arr_ans, ans_input); CGAL::Visibility_2::Naive_visibility_2 vb(arr_in); typename Arrangement_2::Face_const_handle fit = arr_in.faces_begin(); do { if (!fit->is_unbounded()) break; } while (++fit != arr_in.faces_end()); vb.visibility_region(Point_2(0, 0), fit, arr_vb); CGAL::Visibility_2::print_arrangement(arr_vb); CGAL::Visibility_2::print_arrangement(arr_ans); std::cout<<(true == (CGAL::test_are_equal(arr_ans, arr_vb)))< Traits_2; // typedef Traits_2::Point_2 Point_2; // typedef Traits_2::X_monotone_curve_2 Segment_2; // typedef CGAL::Arrangement_2 Arrangement_2; // std::cout<<"Kernel: Exact_predicates_exact_constructions"<(arr_in, input); // CGAL::create_arrangement_from_file(arr_ans, ans_input); // CGAL::Visibility_2::Naive_visibility_2 vb(arr_in); // typename Arrangement_2::Face_const_handle fit = arr_in.faces_begin(); // do { // if (!fit->is_unbounded()) break; // } while (++fit != arr_in.faces_end()); // vb.visibility_region(Point_2(0, 0), fit, arr_vb); // std::cout<<(true == (CGAL::test_are_equal(arr_ans, arr_vb)))<