// file: examples/Nef_3/interface_polyhedron.C #include #include #include #include #include #include #include typedef CGAL::Homogeneous Kernel; typedef CGAL::Polyhedron_3 Polyhedron; typedef CGAL::Nef_polyhedron_3 Nef_polyhedron; typedef Nef_polyhedron::Vector_3 Vector_3; typedef Nef_polyhedron::Aff_transformation_3 Aff_transformation_3; int main() { Polyhedron P; std::cin >> P; if(P.is_closed()) { Nef_polyhedron N1(P); Nef_polyhedron N2(N1); Aff_transformation_3 aff(CGAL::TRANSLATION, Vector_3(2,2,0,1)); N2.transform(aff); N1 += N2; if(N1.is_simple()) { N1.convert_to_Polyhedron(P); std::cout << P; } else std::cerr << "N1 is not a 2-manifold." << std::endl; } }