summaryrefslogtreecommitdiff
path: root/src/Alpha_complex
diff options
context:
space:
mode:
Diffstat (limited to 'src/Alpha_complex')
-rw-r--r--src/Alpha_complex/doc/Intro_alpha_complex.h87
-rw-r--r--src/Alpha_complex/example/CMakeLists.txt29
-rw-r--r--src/Alpha_complex/test/CMakeLists.txt21
-rw-r--r--src/Alpha_complex/test/README2
4 files changed, 83 insertions, 56 deletions
diff --git a/src/Alpha_complex/doc/Intro_alpha_complex.h b/src/Alpha_complex/doc/Intro_alpha_complex.h
index 3ffdae7f..cf1a946a 100644
--- a/src/Alpha_complex/doc/Intro_alpha_complex.h
+++ b/src/Alpha_complex/doc/Intro_alpha_complex.h
@@ -71,7 +71,7 @@ namespace alpha_complex {
*
* When launching:
*
- * \code $> ./alphapoints
+ * \code $> ./Alpha_complex_example_from_points
* \endcode
*
* the program output is:
@@ -89,31 +89,64 @@ namespace alpha_complex {
* \image html "alpha_complex_doc.png" "Simplicial complex structure construction example"
*
* \subsection filtrationcomputation Filtration value computation algorithm
- *
- * \f{algorithm}{
- * \caption{Filtration value computation algorithm}\label{alpha}
- * \begin{algorithmic}
- * \For{i : dimension $\rightarrow$ 0}
- * \ForAll{$\sigma$ of dimension i}
- * \If {filtration($\sigma$) is NaN}
- * \State filtration($\sigma$) = $\alpha^2(\sigma)$
- * \EndIf
- * \ForAll{$\tau$ face of $\sigma$} \Comment{propagate alpha filtration value}
- * \If {filtration($\tau$) is not NaN}
- * \State filtration($\tau$) = min (filtration($\tau$), filtration($\sigma$))
- * \Else
- * \If {$\tau$ is not Gabriel for $\sigma$}
- * \State filtration($\tau$) = filtration($\sigma$)
- * \EndIf
- * \EndIf
- * \EndFor
- * \EndFor
- * \EndFor
- * \State make\_filtration\_non\_decreasing()
- * \State prune\_above\_filtration()
- * \end{algorithmic}
- * \f}
- *
+ *
+ *
+ *
+ * <ul>
+ * <li style="list-style-type: none;">\f$ \textbf{for } i : dimension \rightarrow 0 \textbf{ do} \f$
+ * <ul>
+ * <li style="list-style-type: none;">\f$\textbf{for all } \sigma of dimension i \f$
+ * <ul>
+ * <li style="list-style-type: none;">\f$\textbf{if } filtration( \sigma ) is NaN \textbf{ then} \f$
+ * <ul>
+ * <li style="list-style-type: none;">\f$ filtration( \sigma ) = \alpha^2( \sigma ) \f$
+ * </li>
+ * </ul>
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{end if}\f$
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{for all } \tau face of \sigma \textbf{ do} \f$
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// propagate alpha filtration value
+ * <ul>
+ * <li style="list-style-type: none;">\f$\textbf{if } filtration( \tau ) is not NaN \textbf{ then} \f$
+ * <ul>
+ * <li style="list-style-type: none;">\f$ filtration( \tau ) = min ( filtration( \tau ), filtration( \sigma ) ) \f$
+ * </li>
+ * </ul>
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{else}\f$
+ * <ul>
+ * <li style="list-style-type: none;">\f$\textbf{if } \tau is not Gabriel for \sigma \textbf{ then} \f$
+ * <ul>
+ * <li style="list-style-type: none;">\f$ filtration( \tau ) = filtration( \sigma ) \f$
+ * </li>
+ * </ul>
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{end if}\f$
+ * </li>
+ * </ul>
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{end if}\f$
+ * </li>
+ * </ul>
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{end for}\f$
+ * </li>
+ * </ul>
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{end for}\f$
+ * </li>
+ * </ul>
+ * </li>
+ * <li style="list-style-type: none;">\f$\textbf{end for}\f$
+ * </li>
+ * <li style="list-style-type: none;">\f$make\_filtration\_non\_decreasing()\f$
+ * </li>
+ * <li style="list-style-type: none;">\f$prune\_above\_filtration()\f$
+ * </li>
+ * </ul>
+ *
+ *
* \subsubsection dimension2 Dimension 2
*
* From the example above, it means the algorithm looks into each triangle ([0,1,2], [0,2,4], [1,2,3], ...),
@@ -155,7 +188,7 @@ namespace alpha_complex {
*
* When launching:
*
- * \code $> ./alphaoffreader ../../data/points/alphacomplexdoc.off 32.0
+ * \code $> ./Alpha_complex_example_from_off ../../data/points/alphacomplexdoc.off 32.0
* \endcode
*
* the program output is:
diff --git a/src/Alpha_complex/example/CMakeLists.txt b/src/Alpha_complex/example/CMakeLists.txt
index b9bcdb55..a4853d78 100644
--- a/src/Alpha_complex/example/CMakeLists.txt
+++ b/src/Alpha_complex/example/CMakeLists.txt
@@ -4,26 +4,29 @@ project(Alpha_complex_examples)
# need CGAL 4.7
# cmake -DCGAL_DIR=~/workspace/CGAL-4.7 ..
if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.7.0)
- add_executable ( alphapoints Alpha_complex_from_points.cpp )
- target_link_libraries(alphapoints ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} ${CGAL_LIBRARY})
- add_executable ( alphaoffreader Alpha_complex_from_off.cpp )
- target_link_libraries(alphaoffreader ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} ${CGAL_LIBRARY})
+ add_executable ( Alpha_complex_example_from_points Alpha_complex_from_points.cpp )
+ target_link_libraries(Alpha_complex_example_from_points ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} ${CGAL_LIBRARY})
+ add_executable ( Alpha_complex_example_from_off Alpha_complex_from_off.cpp )
+ target_link_libraries(Alpha_complex_example_from_off ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} ${CGAL_LIBRARY})
if (TBB_FOUND)
- target_link_libraries(alphapoints ${TBB_LIBRARIES})
- target_link_libraries(alphaoffreader ${TBB_LIBRARIES})
+ target_link_libraries(Alpha_complex_example_from_points ${TBB_LIBRARIES})
+ target_link_libraries(Alpha_complex_example_from_off ${TBB_LIBRARIES})
endif()
- add_test(alphapoints ${CMAKE_CURRENT_BINARY_DIR}/alphapoints)
- # Do not forget to copy test files in current binary dir
- file(COPY "${CMAKE_SOURCE_DIR}/data/points/alphacomplexdoc.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
- add_test(alphaoffreader_doc_60 ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader alphacomplexdoc.off 60.0 ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_60.txt)
- add_test(alphaoffreader_doc_32 ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader alphacomplexdoc.off 32.0 ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_32.txt)
+ add_test(NAME Alpha_complex_example_from_points COMMAND $<TARGET_FILE:Alpha_complex_example_from_points>)
+
+ add_test(NAME Alpha_complex_example_from_off_60 COMMAND $<TARGET_FILE:Alpha_complex_example_from_off>
+ "${CMAKE_SOURCE_DIR}/data/points/alphacomplexdoc.off" "60.0" "${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_60.txt")
+ add_test(NAME Alpha_complex_example_from_off_32 COMMAND $<TARGET_FILE:Alpha_complex_example_from_off>
+ "${CMAKE_SOURCE_DIR}/data/points/alphacomplexdoc.off" "32.0" "${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_32.txt")
if (DIFF_PATH)
# Do not forget to copy test results files in current binary dir
file(COPY "alphaoffreader_for_doc_32.txt" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
file(COPY "alphaoffreader_for_doc_60.txt" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
- add_test(alphaoffreader_doc_60_diff_files ${DIFF_PATH} ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_60.txt ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_for_doc_60.txt)
- add_test(alphaoffreader_doc_32_diff_files ${DIFF_PATH} ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_32.txt ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_for_doc_32.txt)
+ add_test(Alpha_complex_example_from_off_60_diff_files ${DIFF_PATH}
+ ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_60.txt ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_for_doc_60.txt)
+ add_test(Alpha_complex_example_from_off_32_diff_files ${DIFF_PATH}
+ ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_result_32.txt ${CMAKE_CURRENT_BINARY_DIR}/alphaoffreader_for_doc_32.txt)
endif()
endif(NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.7.0)
diff --git a/src/Alpha_complex/test/CMakeLists.txt b/src/Alpha_complex/test/CMakeLists.txt
index 32091196..d7f49b53 100644
--- a/src/Alpha_complex/test/CMakeLists.txt
+++ b/src/Alpha_complex/test/CMakeLists.txt
@@ -1,28 +1,19 @@
cmake_minimum_required(VERSION 2.6)
project(Alpha_complex_tests)
-if (GCOVR_PATH)
- # for gcovr to make coverage reports - Corbera Jenkins plugin
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
-endif()
-if (GPROF_PATH)
- # for gprof to make coverage reports - Jenkins
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg")
-endif()
-
if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.7.0)
- add_executable ( AlphaComplexUT Alpha_complex_unit_test.cpp )
- target_link_libraries(AlphaComplexUT ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} ${CGAL_LIBRARY} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
+ include(GUDHI_test_coverage)
+
+ add_executable ( Alpha_complex_test_unit Alpha_complex_unit_test.cpp )
+ target_link_libraries(Alpha_complex_test_unit ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} ${CGAL_LIBRARY} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
if (TBB_FOUND)
- target_link_libraries(AlphaComplexUT ${TBB_LIBRARIES})
+ target_link_libraries(Alpha_complex_test_unit ${TBB_LIBRARIES})
endif()
# Do not forget to copy test files in current binary dir
file(COPY "${CMAKE_SOURCE_DIR}/data/points/alphacomplexdoc.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
- add_test(AlphaComplexUT ${CMAKE_CURRENT_BINARY_DIR}/AlphaComplexUT
- # XML format for Jenkins xUnit plugin
- --log_format=XML --log_sink=${CMAKE_SOURCE_DIR}/AlphaComplexUT.xml --log_level=test_suite --report_level=no)
+ gudhi_add_coverage_test(Alpha_complex_test_unit)
endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.7.0)
diff --git a/src/Alpha_complex/test/README b/src/Alpha_complex/test/README
index 45b87d91..0e5b9eb1 100644
--- a/src/Alpha_complex/test/README
+++ b/src/Alpha_complex/test/README
@@ -7,6 +7,6 @@ make
To launch with details:
***********************
-./AlphaComplexUnitTest --report_level=detailed --log_level=all
+./Alpha_complex_unit_test --report_level=detailed --log_level=all
==> echo $? returns 0 in case of success (non-zero otherwise)