summaryrefslogtreecommitdiff
path: root/src/Witness_complex/example
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-10-06 07:05:17 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-10-06 07:05:17 +0000
commitdef467c2cb019b7a5cc758b6778957be11465a6e (patch)
treefc4f90b6b2ae664ef81fbac98da4e4a9c9ed12bd /src/Witness_complex/example
parent4f229573f2e52a9385d05a2ce6235d77841f2368 (diff)
parente5a99b635c16cf63d50b29c716f38250f35e363b (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/example')
-rw-r--r--src/Witness_complex/example/CMakeLists.txt3
-rw-r--r--src/Witness_complex/example/witness_complex_from_file.cpp41
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";