summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2019-06-05 07:57:54 +0200
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2019-06-05 07:57:54 +0200
commit5661593ab3d8f7bd4cda867fc0348c86d26106e3 (patch)
treedc58c2c27a3ae8605c4926cabca4f32080abd38a /src/common
parent733c9efab57e489e849d32123a69ac090d3c585a (diff)
Fix #20: Add OFF section in file format and all documents target to it instead of geomview.org documentation. Modify data/points/alphacomplexdoc.off in dimension 3 to be used as an example for OFF section in file format.
Diffstat (limited to 'src/common')
-rw-r--r--src/common/doc/file_formats.h26
-rw-r--r--src/common/example/vectordoubleoffreader_result.txt14
-rw-r--r--src/common/include/gudhi/Off_reader.h3
-rw-r--r--src/common/test/test_points_off_reader.cpp14
4 files changed, 41 insertions, 16 deletions
diff --git a/src/common/doc/file_formats.h b/src/common/doc/file_formats.h
index 23214e25..235296d3 100644
--- a/src/common/doc/file_formats.h
+++ b/src/common/doc/file_formats.h
@@ -29,6 +29,32 @@ namespace Gudhi {
\tableofcontents
+ \section FileFormatsOFF OFF file format
+
+ OFF files must be conform to format described here: http://www.geomview.org/docs/html/OFF.html
+
+ OFF files are mainly used as point cloud inputs. Here is an example of 7 points in a 3-dimensional space. As edges and
+ faces are not used for point set, there is no need to specify them (just set their numbers to 0):
+
+ \include points/alphacomplexdoc.off
+
+ For dimensions bigger than 3, the dimension can be set like here:
+ \verbatim
+ # Dimension is no more 3
+ nOFF
+ # dimension 4 - 7 vertices - 0 face - 0 edge
+ 4 7 0 0
+ # Point set:
+ 1.0 1.0 0.0 0.0
+ 7.0 0.0 0.0 0.0
+ 4.0 6.0 0.0 0.0
+ 9.0 6.0 0.0 0.0
+ 0.0 14.0 0.0 0.0
+ 2.0 19.0 0.0 0.0
+ 9.0 17.0 0.0 0.0
+ \endverbatim
+
+
\section FileFormatsPers Persistence Diagram
Such a file, whose extension is usually `.pers`, contains a list of persistence intervals.<br>
diff --git a/src/common/example/vectordoubleoffreader_result.txt b/src/common/example/vectordoubleoffreader_result.txt
index 1deb8dbd..b399425a 100644
--- a/src/common/example/vectordoubleoffreader_result.txt
+++ b/src/common/example/vectordoubleoffreader_result.txt
@@ -1,7 +1,7 @@
-Point[0] = 1 1
-Point[1] = 7 0
-Point[2] = 4 6
-Point[3] = 9 6
-Point[4] = 0 14
-Point[5] = 2 19
-Point[6] = 9 17
+Point[0] = 1 1 0
+Point[1] = 7 0 0
+Point[2] = 4 6 0
+Point[3] = 9 6 0
+Point[4] = 0 14 0
+Point[5] = 2 19 0
+Point[6] = 9 17 0
diff --git a/src/common/include/gudhi/Off_reader.h b/src/common/include/gudhi/Off_reader.h
index 05a1e145..fc951fe7 100644
--- a/src/common/include/gudhi/Off_reader.h
+++ b/src/common/include/gudhi/Off_reader.h
@@ -37,8 +37,7 @@ namespace Gudhi {
/** \brief OFF file reader top class visitor.
*
- * OFF file must be conform to format described here :
- * http://www.geomview.org/docs/html/OFF.html
+ * OFF file must be conform to \ref FileFormatsOFF
*/
class Off_reader {
public:
diff --git a/src/common/test/test_points_off_reader.cpp b/src/common/test/test_points_off_reader.cpp
index ba3bab71..e4b76ed7 100644
--- a/src/common/test/test_points_off_reader.cpp
+++ b/src/common/test/test_points_off_reader.cpp
@@ -44,19 +44,19 @@ BOOST_AUTO_TEST_CASE( points_doc_test )
BOOST_CHECK(point_cloud.size() == 7);
std::vector<Point_d> expected_points;
- std::vector<double> point = {1.0, 1.0};
+ std::vector<double> point = {1.0, 1.0, 0.0};
expected_points.push_back(Point_d(point.begin(), point.end()));
- point = {7.0, 0.0};
+ point = {7.0, 0.0, 0.0};
expected_points.push_back(Point_d(point.begin(), point.end()));
- point = {4.0, 6.0};
+ point = {4.0, 6.0, 0.0};
expected_points.push_back(Point_d(point.begin(), point.end()));
- point = {9.0, 6.0};
+ point = {9.0, 6.0, 0.0};
expected_points.push_back(Point_d(point.begin(), point.end()));
- point = {0.0, 14.0};
+ point = {0.0, 14.0, 0.0};
expected_points.push_back(Point_d(point.begin(), point.end()));
- point = {2.0, 19.0};
+ point = {2.0, 19.0, 0.0};
expected_points.push_back(Point_d(point.begin(), point.end()));
- point = {9.0, 17.0};
+ point = {9.0, 17.0, 0.0};
expected_points.push_back(Point_d(point.begin(), point.end()));
BOOST_CHECK(point_cloud == expected_points);