diff options
author | glisse <glisse@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2016-03-17 09:24:13 +0000 |
---|---|---|
committer | glisse <glisse@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2016-03-17 09:24:13 +0000 |
commit | f20d49cc68a0dd352605164a4f41f3b1acc2876b (patch) | |
tree | 20c05bbf05dc4da9f65d3bdf75012f3aa6f92df3 /src/Skeleton_blocker/test/TestGeometricComplex.cpp | |
parent | d133f17dede836cee1dfff47d2e00532573b9ead (diff) | |
parent | 258ea460177a77c5d2cb45d623400cef2f7e0833 (diff) |
Merge from trunk.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/bitmap@1050 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: 1a32dd3528c771a78d5749ac2c04503a3d979fe4
Diffstat (limited to 'src/Skeleton_blocker/test/TestGeometricComplex.cpp')
-rw-r--r-- | src/Skeleton_blocker/test/TestGeometricComplex.cpp | 154 |
1 files changed, 76 insertions, 78 deletions
diff --git a/src/Skeleton_blocker/test/TestGeometricComplex.cpp b/src/Skeleton_blocker/test/TestGeometricComplex.cpp index bd7af89b..084e2b6b 100644 --- a/src/Skeleton_blocker/test/TestGeometricComplex.cpp +++ b/src/Skeleton_blocker/test/TestGeometricComplex.cpp @@ -1,24 +1,24 @@ - /* This file is part of the Gudhi Library. The Gudhi library - * (Geometric Understanding in Higher Dimensions) is a generic C++ - * library for computational topology. - * - * Author(s): David Salinas - * - * Copyright (C) 2014 INRIA Sophia Antipolis-Mediterranee (France) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ +/* This file is part of the Gudhi Library. The Gudhi library + * (Geometric Understanding in Higher Dimensions) is a generic C++ + * library for computational topology. + * + * Author(s): David Salinas + * + * Copyright (C) 2014 INRIA Sophia Antipolis-Mediterranee (France) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #include <stdio.h> #include <stdlib.h> @@ -33,8 +33,8 @@ using namespace std; using namespace Gudhi; using namespace skbl; -struct Geometry_trait{ - typedef std::vector<double> Point; +struct Geometry_trait { + typedef std::vector<double> Point; }; typedef Geometry_trait::Point Point; @@ -42,79 +42,77 @@ typedef Skeleton_blocker_simple_geometric_traits<Geometry_trait> Complex_geometr typedef Skeleton_blocker_geometric_complex< Complex_geometric_traits > Complex; typedef Complex::Vertex_handle Vertex_handle; +bool test_constructor1() { + 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; + } -bool test_constructor1(){ - 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."; - 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; - if(complex.num_vertices()!=7 || complex.num_edges()!=12 || complex.num_triangles() !=6) - return false; + Skeleton_blocker_off_writer<Complex> off_writer("tmp.off", complex); + Complex same; + Skeleton_blocker_off_reader<Complex> off_reader2("tmp.off", same); - Skeleton_blocker_off_writer<Complex> off_writer("tmp.off",complex); - Complex same; - Skeleton_blocker_off_reader<Complex> off_reader2("tmp.off",same); + std::cout << "\ncomplex:" << complex.to_string() << endl; + std::cout << "\nsame:" << same.to_string() << endl; - std::cout<<"\ncomplex:"<<complex.to_string()<<endl; - std::cout<<"\nsame:"<<same.to_string()<<endl; - - return (complex==same); + 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."; +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; + if (complex.num_vertices() != 7 || complex.num_edges() != 12 || complex.num_triangles() != 6) + return false; - auto link_0 = complex.abstract_link(Vertex_handle(0)); + auto link_0 = complex.abstract_link(Vertex_handle(0)); - std::cout<<"\n link(0):"<<link_0.to_string()<<endl; + std::cout << "\n link(0):" << link_0.to_string() << endl; - auto link_geometric_0 = complex.link(Vertex_handle(0)); + 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;}; + 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); + 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; + // 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; + 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); - - -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; - else - return EXIT_FAILURE; + if (tests_geometric_complex.run()) + return EXIT_SUCCESS; + else + return EXIT_FAILURE; } |