summaryrefslogtreecommitdiff
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
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.
-rw-r--r--data/points/alphacomplexdoc.off22
-rw-r--r--src/Alpha_complex/utilities/alphacomplex.md4
-rw-r--r--src/Doxyfile.in3
-rw-r--r--src/Nerve_GIC/doc/Intro_graph_induced_complex.h3
-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
-rw-r--r--src/cython/doc/fileformats.rst29
-rw-r--r--src/cython/doc/nerve_gic_complex_user.rst3
10 files changed, 88 insertions, 33 deletions
diff --git a/data/points/alphacomplexdoc.off b/data/points/alphacomplexdoc.off
index bb790193..a90db49a 100644
--- a/data/points/alphacomplexdoc.off
+++ b/data/points/alphacomplexdoc.off
@@ -1,10 +1,12 @@
-nOFF
-2 7 0 0
-1.0 1.0
-7.0 0.0
-4.0 6.0
-9.0 6.0
-0.0 14.0
-2.0 19.0
-9.0 17.0
-
+# Default is 3 dimension
+OFF
+# 7 vertices - 0 face - 0 edge
+7 0 0
+# Point set:
+1.0 1.0 0.0
+7.0 0.0 0.0
+4.0 6.0 0.0
+9.0 6.0 0.0
+0.0 14.0 0.0
+2.0 19.0 0.0
+9.0 17.0 0.0
diff --git a/src/Alpha_complex/utilities/alphacomplex.md b/src/Alpha_complex/utilities/alphacomplex.md
index b77656ff..fcd16a3b 100644
--- a/src/Alpha_complex/utilities/alphacomplex.md
+++ b/src/Alpha_complex/utilities/alphacomplex.md
@@ -33,7 +33,7 @@ a prime number).
where
`<input OFF file>` is the path to the input point cloud in
-[nOFF ASCII format](http://www.geomview.org/docs/html/OFF.html).
+[nOFF ASCII format]({{ site.officialurl }}/doc/latest/fileformats.html#FileFormatsOFF).
**Allowed options**
@@ -87,7 +87,7 @@ a prime number).
```
where `<input OFF file>` is the path to the input point cloud in
-[nOFF ASCII format](http://www.geomview.org/docs/html/OFF.html).
+[nOFF ASCII format]({{ site.officialurl }}/doc/latest/fileformats.html#FileFormatsOFF).
**Allowed options**
diff --git a/src/Doxyfile.in b/src/Doxyfile.in
index 54a438d4..5b1b8ecc 100644
--- a/src/Doxyfile.in
+++ b/src/Doxyfile.in
@@ -821,7 +821,8 @@ EXCLUDE_SYMBOLS =
EXAMPLE_PATH = biblio/ \
example/ \
- utilities/
+ utilities/ \
+ data/
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
diff --git a/src/Nerve_GIC/doc/Intro_graph_induced_complex.h b/src/Nerve_GIC/doc/Intro_graph_induced_complex.h
index bc8aecc3..e72d63dd 100644
--- a/src/Nerve_GIC/doc/Intro_graph_induced_complex.h
+++ b/src/Nerve_GIC/doc/Intro_graph_induced_complex.h
@@ -37,8 +37,7 @@ namespace cover_complex {
* neato (from <a target="_blank" href="http://www.graphviz.org/">graphviz</a>),
* <a target="_blank" href="http://www.geomview.org/">geomview</a>,
* <a target="_blank" href="https://github.com/MLWave/kepler-mapper">KeplerMapper</a>.
- * Input point clouds are assumed to be
- * <a target="_blank" href="http://www.geomview.org/docs/html/OFF.html">OFF files</a>.
+ * Input point clouds are assumed to be \ref FileFormatsOFF "OFF files"
*
* \section covers Covers
*
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);
diff --git a/src/cython/doc/fileformats.rst b/src/cython/doc/fileformats.rst
index e205cc8b..345dfdba 100644
--- a/src/cython/doc/fileformats.rst
+++ b/src/cython/doc/fileformats.rst
@@ -5,6 +5,35 @@
File formats
############
+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):
+
+.. literalinclude:: ../../data/points/alphacomplexdoc.off
+
+.. centered:: ../../points/alphacomplexdoc.off
+
+For dimensions bigger than 3, the dimension can be set like here::
+
+ # 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
+
Persistence Diagram
*******************
diff --git a/src/cython/doc/nerve_gic_complex_user.rst b/src/cython/doc/nerve_gic_complex_user.rst
index 94a2b246..9101f45d 100644
--- a/src/cython/doc/nerve_gic_complex_user.rst
+++ b/src/cython/doc/nerve_gic_complex_user.rst
@@ -13,8 +13,7 @@ Visualizations of the simplicial complexes can be done with either
neato (from `graphviz <http://www.graphviz.org/>`_),
`geomview <http://www.geomview.org/>`_,
`KeplerMapper <https://github.com/MLWave/kepler-mapper>`_.
-Input point clouds are assumed to be
-`OFF files <http://www.geomview.org/docs/html/OFF.html>`_.
+Input point clouds are assumed to be OFF files (cf. :doc:`fileformats`).
Covers
------