//#define CGAL_NO_STATIC_FILTERS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef CGAL::Exact_predicates_inexact_constructions_kernel K; typedef CGAL::Regular_triangulation_sphere_traits_2 Gt; typedef CGAL::Regular_triangulation_on_sphere_2 RTOS; typedef RTOS::Vertex_handle Vertex_handle; int main(int argc, char* argv[]) { double radius = 100; double radius2 = radius*radius; typedef K::Point_3 Point_3; //DTOS_exact dtos; RTOS rtos; // insert and remove 5 coplanar points. Points are also coplanar with the center of the sphere /*Point_3 p1=Point_3(radius/sqrt(2), radius/sqrt(2), 0); Point_3 p2 = Point_3(-1*radius/sqrt(2), radius/sqrt(2), 0); Point_3 p3 = Point_3(-1*radius/sqrt(2), -1*radius/sqrt(2), 0); Point_3 p4 = Point_3(radius/sqrt(2), -1*radius/sqrt(2), 0); Point_3 p5 = Point_3(radius,0,0); Vertex_handle v1 = rtos.insert(p1); Vertex_handle v2 = rtos.insert(p2); Vertex_handle v3 = rtos.insert(p3); Vertex_handle v4 = rtos.insert(p4); Vertex_handle v5 = rtos.insert(p5); rtos.is_valid(); rtos.remove(v1); rtos.remove(v2); rtos.remove(v3); rtos.remove(v4); rtos.is_valid(); rtos.remove(v5);*/ //insert coplanar Points. Points are coplanar but not coplanar with the center of the sphere rtos.clear(); Point_3 p0 = Point_3(0,0,radius); Point_3 p21 = Point_3(1/sqrt(2),1/sqrt(2),sqrt(radius2-1)); Point_3 p22 = Point_3(-1/sqrt(2), -1/sqrt(2), sqrt(radius2-1)); Point_3 p23 = Point_3(0,1,sqrt(radius2-1)); Point_3 p24 = Point_3(1,0,sqrt(radius2-1)); Point_3 p25 = Point_3(-1/sqrt(2), 1/sqrt(2), sqrt(radius2-1)); Point_3 p26 = Point_3(1/sqrt(2), -1/sqrt(2), sqrt(radius2-1)); //Vertex_handle v0 = rtos.insert(p0); Vertex_handle v21 = rtos.insert(p21); Vertex_handle v22 = rtos.insert(p22); Vertex_handle v23 = rtos.insert(p23); rtos.show_vertex(v23); Vertex_handle v24 = rtos.insert(p24); rtos.show_vertex(v24); rtos.is_valid(); Vertex_handle v25 = rtos.insert(p25); rtos.is_valid(); rtos.show_all(); Vertex_handle v26 = rtos.insert(p26); rtos.is_valid(); //insert 5th point not coplanar Point_3 p27 = Point_3(0,0,radius); Vertex_handle v27 = rtos.insert(p27); rtos.show_all(); rtos.is_valid(); rtos.remove(v21); rtos.is_valid(); rtos.show_all(); rtos.remove(v22); rtos.is_valid(); rtos.show_all(); rtos.remove(v23); rtos.is_valid(); rtos.show_all(); //3 edges and faces left rtos.show_vertex(v24); rtos.remove(v24); rtos.is_valid(); rtos.show_all(); rtos.remove(v25); rtos.is_valid(); rtos.show_all(); rtos.remove(v26); rtos.is_valid(); rtos.show_all(); }