diff options
Diffstat (limited to 'src/Skeleton_blocker/test/TestGeometricComplex.cpp')
-rw-r--r-- | src/Skeleton_blocker/test/TestGeometricComplex.cpp | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/Skeleton_blocker/test/TestGeometricComplex.cpp b/src/Skeleton_blocker/test/TestGeometricComplex.cpp index 1a81b7f7..bd7af89b 100644 --- a/src/Skeleton_blocker/test/TestGeometricComplex.cpp +++ b/src/Skeleton_blocker/test/TestGeometricComplex.cpp @@ -40,7 +40,7 @@ struct Geometry_trait{ typedef Geometry_trait::Point Point; typedef Skeleton_blocker_simple_geometric_traits<Geometry_trait> Complex_geometric_traits; typedef Skeleton_blocker_geometric_complex< Complex_geometric_traits > Complex; - +typedef Complex::Vertex_handle Vertex_handle; bool test_constructor1(){ @@ -71,12 +71,47 @@ bool test_constructor1(){ return (complex==same); } +bool test_constructor2(){ + Complex complex; + Skeleton_blocker_off_reader<Complex> off_reader("test2.off",complex); + if(!off_reader.is_valid()){ + std::cerr << "Unable to read file"<<std::endl; + return false; + } + std::cout << "complex has "<< + complex.num_vertices()<<" vertices, "<< + complex.num_blockers()<<" blockers, "<< + complex.num_edges()<<" edges and" << + complex.num_triangles()<<" triangles."; + + if(complex.num_vertices()!=7 || complex.num_edges()!=12 || complex.num_triangles() !=6) + return false; + + auto link_0 = complex.abstract_link(Vertex_handle(0)); + + + std::cout<<"\n link(0):"<<link_0.to_string()<<endl; + + auto link_geometric_0 = complex.link(Vertex_handle(0)); + + auto print_point = [&](Vertex_handle v){for(auto x : link_geometric_0.point(v)) std::cout <<x<<" "; std::cout<<std::endl;}; + + std::for_each(link_geometric_0.vertex_range().begin(),link_geometric_0.vertex_range().end(),print_point); + +// for(auto v : link_geometric_0.vertex_range()) +// std::cout<<"point("<<v<<"):"<<link_geometric_0.point(v)<<std::endl; + + return link_0.num_vertices()==2; +} + + int main (int argc, char *argv[]) { Tests tests_geometric_complex; tests_geometric_complex.add("Test constructor 1",test_constructor1); + tests_geometric_complex.add("Test constructor 2",test_constructor2); if(tests_geometric_complex.run()) return EXIT_SUCCESS; |