void test_HalfedgeDS_default() { // Simple instantiation of the default halfedge data structure. typedef CGAL_HALFEDGEDS_DEFAULT<Dummy_traits_2> HDS; typedef CGAL::HalfedgeDS_decorator<HDS> Decorator; HDS hds; Decorator D(hds); D.create_loop(); assert( hds.size_of_vertices() == 1); assert( hds.size_of_halfedges() == 2); assert( hds.size_of_faces() == 2); assert( D.is_valid( false, 3)); D.make_hole( hds.halfedges_begin()->opposite()); hds.normalize_border(); assert( hds.size_of_border_halfedges() == 1); assert( hds.size_of_border_edges() == 1); assert( D.is_valid( false, 4)); D.fill_hole( hds.halfedges_begin()->opposite()); hds.normalize_border(); assert( hds.size_of_border_halfedges() == 0); assert( hds.size_of_border_edges() == 0); assert( D.is_valid( false, 4)); HDS hds2(hds); // copy constructor. Decorator D2(hds2); assert( D2.is_valid( false, 4)); hds = hds2; // assignment. assert( D.is_valid( false, 4)); typedef HDS::Halfedge_iterator Halfedge_iterator; Halfedge_iterator i = hds.halfedges_begin(); assert(!(i == hds.halfedges_end())); }
void test_HalfedgeDS_polyhedron_default() { // Simple instantiation of the default for polyhedrons. typedef CGAL_HALFEDGEDS_DEFAULT< Dummy_traits_3, CGAL::Polyhedron_items_3> HDS; typedef HDS::Vertex Vertex; typedef HDS::Halfedge Halfedge; typedef HDS::Face Face; typedef Halfedge::Base HBase; HDS hds; hds.vertices_push_back( Vertex()); hds.edges_push_back( Halfedge(), Halfedge()); hds.faces_push_back( Face()); hds.halfedges_begin()->HBase::set_face( hds.faces_begin()); assert( hds.size_of_vertices() == 1); assert( hds.size_of_halfedges() == 2); assert( hds.size_of_faces() == 1); hds.normalize_border(); assert( hds.size_of_border_halfedges() == 1); assert( hds.size_of_border_edges() == 1); typedef HDS::Halfedge_iterator Halfedge_iterator; Halfedge_iterator i = hds.halfedges_begin(); assert(!(i == hds.halfedges_end())); }