From 3f40c935ef98f9620fae6bdf4bda2239936a7358 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Tue, 4 Oct 2016 07:55:17 +0000 Subject: witness_complex_from_file uses off files now Remove non-OFF files from repository git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/off_files_only@1613 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: d663eec701576a64c4c4af03d61da334a055c3d4 --- .../example/witness_complex_from_file.cpp | 41 ++++++---------------- 1 file changed, 10 insertions(+), 31 deletions(-) (limited to 'src/Witness_complex/example/witness_complex_from_file.cpp') diff --git a/src/Witness_complex/example/witness_complex_from_file.cpp b/src/Witness_complex/example/witness_complex_from_file.cpp index 53207ad2..915af1ab 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 #include +#include #include #include #include -#include #include #include @@ -37,49 +37,28 @@ typedef std::vector< Vertex_handle > typeVectorVertex; typedef std::vector< std::vector > 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> 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"; -- cgit v1.2.3