diff options
author | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2016-10-06 07:05:17 +0000 |
---|---|---|
committer | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2016-10-06 07:05:17 +0000 |
commit | def467c2cb019b7a5cc758b6778957be11465a6e (patch) | |
tree | fc4f90b6b2ae664ef81fbac98da4e4a9c9ed12bd /src/Witness_complex | |
parent | 4f229573f2e52a9385d05a2ce6235d77841f2368 (diff) | |
parent | e5a99b635c16cf63d50b29c716f38250f35e363b (diff) |
Merge last trunk modifications
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/rips_complex_module@1650 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: 38704453638793e50aa1432eb4eabd9121cf0a26
Diffstat (limited to 'src/Witness_complex')
-rw-r--r-- | src/Witness_complex/example/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/Witness_complex/example/witness_complex_from_file.cpp | 41 |
2 files changed, 12 insertions, 32 deletions
diff --git a/src/Witness_complex/example/CMakeLists.txt b/src/Witness_complex/example/CMakeLists.txt index 4d67e0d0..857ec819 100644 --- a/src/Witness_complex/example/CMakeLists.txt +++ b/src/Witness_complex/example/CMakeLists.txt @@ -3,7 +3,8 @@ project(Witness_complex_examples) # A simple example add_executable( witness_complex_from_file witness_complex_from_file.cpp ) - add_test( witness_complex_from_bunny ${CMAKE_CURRENT_BINARY_DIR}/witness_complex_from_file ${CMAKE_SOURCE_DIR}/data/points/bunny_5000 100) + add_test( witness_complex_from_bunny ${CMAKE_CURRENT_BINARY_DIR}/witness_complex_from_file + ${CMAKE_SOURCE_DIR}/data/points/bunny_5000.off 100) if(CGAL_FOUND) if (NOT CGAL_VERSION VERSION_LESS 4.6.0) diff --git a/src/Witness_complex/example/witness_complex_from_file.cpp b/src/Witness_complex/example/witness_complex_from_file.cpp index 392ad55d..6a203383 100644 --- a/src/Witness_complex/example/witness_complex_from_file.cpp +++ b/src/Witness_complex/example/witness_complex_from_file.cpp @@ -23,10 +23,10 @@ #include <sys/types.h> #include <sys/stat.h> +#include <gudhi/Points_off_io.h> #include <gudhi/Simplex_tree.h> #include <gudhi/Witness_complex.h> #include <gudhi/Landmark_choice_by_random_point.h> -#include <gudhi/reader_utils.h> #include <iostream> #include <fstream> @@ -37,49 +37,28 @@ typedef std::vector< int > typeVectorVertex; typedef std::vector< std::vector <double> > Point_Vector; -/** - * \brief Customized version of read_points - * which takes into account a possible nbP first line - * - */ -inline void -read_points_cust(std::string file_name, std::vector< std::vector< double > > & points) { - std::ifstream in_file(file_name.c_str(), std::ios::in); - if (!in_file.is_open()) { - std::cerr << "Unable to open file " << file_name << std::endl; - return; - } - std::string line; - double x; - while (getline(in_file, line)) { - std::vector< double > point; - std::istringstream iss(line); - while (iss >> x) { - point.push_back(x); - } - if (point.size() != 1) - points.push_back(point); - } - in_file.close(); -} - int main(int argc, char * const argv[]) { if (argc != 3) { std::cerr << "Usage: " << argv[0] - << " path_to_point_file nbL \n"; + << " path_to_point_file.off nbL \n"; return 0; } - std::string file_name = argv[1]; + std::string off_file_name = argv[1]; int nbL = atoi(argv[2]); clock_t start, end; // Construct the Simplex Tree Gudhi::Simplex_tree<> simplex_tree; + // Read the OFF file (input file name given as parameter) and triangulate points + Gudhi::Points_off_reader<std::vector <double>> off_reader(off_file_name); + // Check the read operation was correct + if (!off_reader.is_valid()) { + std::cerr << "Unable to read file " << off_file_name << std::endl; + } // Read the point file - Point_Vector point_vector; - read_points_cust(file_name, point_vector); + Point_Vector point_vector = off_reader.get_point_cloud(); std::cout << "Successfully read " << point_vector.size() << " points.\n"; std::cout << "Ambient dimension is " << point_vector[0].size() << ".\n"; |