diff options
author | ROUVREAU Vincent <vincent.rouvreau@inria.fr> | 2021-05-12 12:23:13 +0200 |
---|---|---|
committer | ROUVREAU Vincent <vincent.rouvreau@inria.fr> | 2021-05-12 12:23:13 +0200 |
commit | c25ed2c83eb05b2cd1bab6f4826221237fe08ebc (patch) | |
tree | c4d6958e7823bb49f6448b5efb5ac1e63cf4ec65 /src/common | |
parent | 1d7011f32573bb617894a3f263e2537c1f3a8649 (diff) | |
parent | b8b7f4880ceae8d3a65502b86aae0538072253e8 (diff) |
Merge from master
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/doc/examples.h | 188 | ||||
-rw-r--r-- | src/common/doc/installation.h | 161 | ||||
-rw-r--r-- | src/common/include/gudhi/Points_3D_off_io.h | 4 | ||||
-rw-r--r-- | src/common/include/gudhi/Points_off_io.h | 4 | ||||
-rw-r--r-- | src/common/include/gudhi/random_point_generators.h | 53 |
5 files changed, 213 insertions, 197 deletions
diff --git a/src/common/doc/examples.h b/src/common/doc/examples.h index a8548f6a..b2183990 100644 --- a/src/common/doc/examples.h +++ b/src/common/doc/examples.h @@ -1,99 +1,99 @@ // List of GUDHI examples - Doxygen needs at least a file tag to analyse comments // In user_version, `find . -name "*.cpp"` in example and utilities folders /*! @file Examples - * @example Alpha_complex/Alpha_complex_from_off.cpp - * @example Alpha_complex/Alpha_complex_from_points.cpp - * @example Bottleneck_distance/bottleneck_basic_example.cpp - * @example Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp - * @example Witness_complex/example_nearest_landmark_table.cpp - * @example Witness_complex/example_witness_complex_off.cpp - * @example Witness_complex/example_witness_complex_sphere.cpp - * @example Witness_complex/example_strong_witness_complex_off.cpp - * @example Simplex_tree/mini_simplex_tree.cpp - * @example Simplex_tree/graph_expansion_with_blocker.cpp - * @example Simplex_tree/simple_simplex_tree.cpp - * @example Simplex_tree/simplex_tree_from_cliques_of_graph.cpp - * @example Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp - * @example Simplex_tree/cech_complex_cgal_mini_sphere_3d.cpp - * @example Persistent_cohomology/plain_homology.cpp - * @example Persistent_cohomology/persistence_from_file.cpp - * @example Persistent_cohomology/rips_persistence_step_by_step.cpp - * @example Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp - * @example Persistent_cohomology/custom_persistence_sort.cpp - * @example Persistent_cohomology/persistence_from_simple_simplex_tree.cpp - * @example Persistent_cohomology/rips_multifield_persistence.cpp - * @example Skeleton_blocker/Skeleton_blocker_from_simplices.cpp - * @example Skeleton_blocker/Skeleton_blocker_iteration.cpp - * @example Skeleton_blocker/Skeleton_blocker_link.cpp - * @example Contraction/Garland_heckbert.cpp - * @example Contraction/Rips_contraction.cpp - * @example Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp - * @example common/example_CGAL_3D_points_off_reader.cpp - * @example common/example_vector_double_points_off_reader.cpp - * @example common/example_CGAL_points_off_reader.cpp - * @example Rips_complex/example_one_skeleton_rips_from_distance_matrix.cpp - * @example Rips_complex/example_one_skeleton_rips_from_points.cpp - * @example Rips_complex/example_rips_complex_from_csv_distance_matrix_file.cpp - * @example Rips_complex/example_rips_complex_from_off_file.cpp - * @example Persistence_representations/persistence_intervals.cpp - * @example Persistence_representations/persistence_vectors.cpp - * @example Persistence_representations/persistence_heat_maps.cpp - * @example Persistence_representations/persistence_landscape_on_grid.cpp - * @example Persistence_representations/persistence_landscape.cpp - * @example Tangential_complex/example_basic.cpp - * @example Tangential_complex/example_with_perturb.cpp - * @example Subsampling/example_custom_distance.cpp - * @example Subsampling/example_choose_n_farthest_points.cpp - * @example Subsampling/example_sparsify_point_set.cpp - * @example Subsampling/example_pick_n_random_points.cpp - * @example Nerve_GIC/CoordGIC.cpp - * @example Nerve_GIC/Nerve.cpp - * @example Nerve_GIC/FuncGIC.cpp - * @example Nerve_GIC/VoronoiGIC.cpp - * @example Spatial_searching/example_spatial_searching.cpp - * @example Alpha_complex/alpha_complex_3d_persistence.cpp - * @example Alpha_complex/alpha_complex_persistence.cpp - * @example Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp - * @example Bottleneck_distance/bottleneck_distance.cpp - * @example Witness_complex/weak_witness_persistence.cpp - * @example Witness_complex/strong_witness_persistence.cpp - * @example Bitmap_cubical_complex/cubical_complex_persistence.cpp - * @example Bitmap_cubical_complex/periodic_cubical_complex_persistence.cpp - * @example common/off_file_from_shape_generator.cpp - * @example Rips_complex/rips_distance_matrix_persistence.cpp - * @example Rips_complex/rips_persistence.cpp - * @example Persistence_representations/persistence_landscapes_on_grid/create_landscapes_on_grid.cpp - * @example Persistence_representations/persistence_landscapes_on_grid/plot_landscapes_on_grid.cpp - * @example Persistence_representations/persistence_landscapes_on_grid/compute_scalar_product_of_landscapes_on_grid.cpp - * @example Persistence_representations/persistence_landscapes_on_grid/compute_distance_of_landscapes_on_grid.cpp - * @example Persistence_representations/persistence_landscapes_on_grid/average_landscapes_on_grid.cpp - * @example Persistence_representations/persistence_intervals/compute_birth_death_range_in_persistence_diagram.cpp - * @example Persistence_representations/persistence_intervals/compute_number_of_dominant_intervals.cpp - * @example Persistence_representations/persistence_intervals/plot_persistence_Betti_numbers.cpp - * @example Persistence_representations/persistence_intervals/plot_persistence_intervals.cpp - * @example Persistence_representations/persistence_intervals/plot_histogram_of_intervals_lengths.cpp - * @example Persistence_representations/persistence_intervals/compute_bottleneck_distance.cpp - * @example Persistence_representations/persistence_heat_maps/create_pssk.cpp - * @example Persistence_representations/persistence_heat_maps/create_p_h_m_weighted_by_arctan_of_their_persistence.cpp - * @example Persistence_representations/persistence_heat_maps/create_p_h_m_weighted_by_squared_diag_distance.cpp - * @example Persistence_representations/persistence_heat_maps/compute_distance_of_persistence_heat_maps.cpp - * @example Persistence_representations/persistence_heat_maps/compute_scalar_product_of_persistence_heat_maps.cpp - * @example Persistence_representations/persistence_heat_maps/create_p_h_m_weighted_by_distance_from_diagonal.cpp - * @example Persistence_representations/persistence_heat_maps/average_persistence_heat_maps.cpp - * @example Persistence_representations/persistence_heat_maps/plot_persistence_heat_map.cpp - * @example Persistence_representations/persistence_heat_maps/create_persistence_heat_maps.cpp - * @example Persistence_representations/persistence_vectors/plot_persistence_vectors.cpp - * @example Persistence_representations/persistence_vectors/compute_distance_of_persistence_vectors.cpp - * @example Persistence_representations/persistence_vectors/average_persistence_vectors.cpp - * @example Persistence_representations/persistence_vectors/create_persistence_vectors.cpp - * @example Persistence_representations/persistence_vectors/compute_scalar_product_of_persistence_vectors.cpp - * @example Persistence_representations/persistence_landscapes/average_landscapes.cpp - * @example Persistence_representations/persistence_landscapes/compute_scalar_product_of_landscapes.cpp - * @example Persistence_representations/persistence_landscapes/create_landscapes.cpp - * @example Persistence_representations/persistence_landscapes/compute_distance_of_landscapes.cpp - * @example Persistence_representations/persistence_landscapes/plot_landscapes.cpp - * @example Coxeter_triangulation/cell_complex_from_basic_circle_manifold.cpp - * @example Coxeter_triangulation/manifold_tracing_custom_function.cpp - * @example Coxeter_triangulation/manifold_tracing_flat_torus_with_boundary.cpp + * @example Alpha_complex_from_off.cpp + * @example Alpha_complex_from_points.cpp + * @example bottleneck_basic_example.cpp + * @example alpha_rips_persistence_bottleneck_distance.cpp + * @example example_nearest_landmark_table.cpp + * @example example_witness_complex_off.cpp + * @example example_witness_complex_sphere.cpp + * @example example_strong_witness_complex_off.cpp + * @example mini_simplex_tree.cpp + * @example graph_expansion_with_blocker.cpp + * @example simple_simplex_tree.cpp + * @example simplex_tree_from_cliques_of_graph.cpp + * @example example_alpha_shapes_3_simplex_tree_from_off_file.cpp + * @example cech_complex_cgal_mini_sphere_3d.cpp + * @example plain_homology.cpp + * @example persistence_from_file.cpp + * @example rips_persistence_step_by_step.cpp + * @example rips_persistence_via_boundary_matrix.cpp + * @example custom_persistence_sort.cpp + * @example persistence_from_simple_simplex_tree.cpp + * @example rips_multifield_persistence.cpp + * @example Skeleton_blocker_from_simplices.cpp + * @example Skeleton_blocker_iteration.cpp + * @example Skeleton_blocker_link.cpp + * @example Garland_heckbert.cpp + * @example Rips_contraction.cpp + * @example Random_bitmap_cubical_complex.cpp + * @example example_CGAL_3D_points_off_reader.cpp + * @example example_vector_double_points_off_reader.cpp + * @example example_CGAL_points_off_reader.cpp + * @example example_one_skeleton_rips_from_distance_matrix.cpp + * @example example_one_skeleton_rips_from_points.cpp + * @example example_rips_complex_from_csv_distance_matrix_file.cpp + * @example example_rips_complex_from_off_file.cpp + * @example persistence_intervals.cpp + * @example persistence_vectors.cpp + * @example persistence_heat_maps.cpp + * @example persistence_landscape_on_grid.cpp + * @example persistence_landscape.cpp + * @example example_basic.cpp + * @example example_with_perturb.cpp + * @example example_custom_distance.cpp + * @example example_choose_n_farthest_points.cpp + * @example example_sparsify_point_set.cpp + * @example example_pick_n_random_points.cpp + * @example CoordGIC.cpp + * @example Nerve.cpp + * @example FuncGIC.cpp + * @example VoronoiGIC.cpp + * @example example_spatial_searching.cpp + * @example alpha_complex_3d_persistence.cpp + * @example alpha_complex_persistence.cpp + * @example Weighted_alpha_complex_3d_from_points.cpp + * @example bottleneck_distance.cpp + * @example weak_witness_persistence.cpp + * @example strong_witness_persistence.cpp + * @example cubical_complex_persistence.cpp + * @example periodic_cubical_complex_persistence.cpp + * @example off_file_from_shape_generator.cpp + * @example rips_distance_matrix_persistence.cpp + * @example rips_persistence.cpp + * @example persistence_landscapes_on_grid/create_landscapes_on_grid.cpp + * @example persistence_landscapes_on_grid/plot_landscapes_on_grid.cpp + * @example persistence_landscapes_on_grid/compute_scalar_product_of_landscapes_on_grid.cpp + * @example persistence_landscapes_on_grid/compute_distance_of_landscapes_on_grid.cpp + * @example persistence_landscapes_on_grid/average_landscapes_on_grid.cpp + * @example persistence_intervals/compute_birth_death_range_in_persistence_diagram.cpp + * @example persistence_intervals/compute_number_of_dominant_intervals.cpp + * @example persistence_intervals/plot_persistence_Betti_numbers.cpp + * @example persistence_intervals/plot_persistence_intervals.cpp + * @example persistence_intervals/plot_histogram_of_intervals_lengths.cpp + * @example persistence_intervals/compute_bottleneck_distance.cpp + * @example persistence_heat_maps/create_pssk.cpp + * @example persistence_heat_maps/create_p_h_m_weighted_by_arctan_of_their_persistence.cpp + * @example persistence_heat_maps/create_p_h_m_weighted_by_squared_diag_distance.cpp + * @example persistence_heat_maps/compute_distance_of_persistence_heat_maps.cpp + * @example persistence_heat_maps/compute_scalar_product_of_persistence_heat_maps.cpp + * @example persistence_heat_maps/create_p_h_m_weighted_by_distance_from_diagonal.cpp + * @example persistence_heat_maps/average_persistence_heat_maps.cpp + * @example persistence_heat_maps/plot_persistence_heat_map.cpp + * @example persistence_heat_maps/create_persistence_heat_maps.cpp + * @example persistence_vectors/plot_persistence_vectors.cpp + * @example persistence_vectors/compute_distance_of_persistence_vectors.cpp + * @example persistence_vectors/average_persistence_vectors.cpp + * @example persistence_vectors/create_persistence_vectors.cpp + * @example persistence_vectors/compute_scalar_product_of_persistence_vectors.cpp + * @example persistence_landscapes/average_landscapes.cpp + * @example persistence_landscapes/compute_scalar_product_of_landscapes.cpp + * @example persistence_landscapes/create_landscapes.cpp + * @example persistence_landscapes/compute_distance_of_landscapes.cpp + * @example persistence_landscapes/plot_landscapes.cpp + * @example cell_complex_from_basic_circle_manifold.cpp + * @example manifold_tracing_custom_function.cpp + * @example manifold_tracing_flat_torus_with_boundary.cpp */ diff --git a/src/common/doc/installation.h b/src/common/doc/installation.h index c0e36a59..91d30081 100644 --- a/src/common/doc/installation.h +++ b/src/common/doc/installation.h @@ -30,6 +30,10 @@ make \endverbatim * This action may require to be in the sudoer or administrator of the machine in function of the operating system and * of <a href="https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html">CMAKE_INSTALL_PREFIX</a>. * + * \note Python module will be compiled by the `make` command, but `make install` will not install it. Please refer to + * the <a href="https://gudhi.inria.fr/python/latest/installation.html#gudhi-python-module-installation">Python + * module installation documentation</a>. + * * \subsection testsuites Test suites * To test your build, run the following command in a terminal: * \verbatim make test \endverbatim @@ -40,11 +44,8 @@ make \endverbatim * \subsection documentationgeneration Documentation * To generate the documentation, <a target="_blank" href="http://www.doxygen.org/">Doxygen</a> is required. * Run the following command in a terminal: -\verbatim -make doxygen -# Documentation will be generated in the folder YYYY-MM-DD-hh-mm-ss_GUDHI_X.Y.Z/doc/html/ -# You can customize the directory name by calling `cmake -DUSER_VERSION_DIR=/my/custom/folder` -\endverbatim + * \verbatim make doxygen \endverbatim + * Documentation will be generated in a folder named <code>html</code>. * * \subsection helloworld Hello world ! * The <a target="_blank" href="https://github.com/GUDHI/hello-gudhi-world">Hello world for GUDHI</a> @@ -57,7 +58,7 @@ make doxygen * * The following example requires the <a target="_blank" href="http://gmplib.org/">GNU Multiple Precision Arithmetic * Library</a> (GMP) and will not be built if GMP is not installed: - * \li <a href="_persistent_cohomology_2rips_multifield_persistence_8cpp-example.html"> + * \li <a href="rips_multifield_persistence_8cpp-example.html"> * Persistent_cohomology/rips_multifield_persistence.cpp</a> * * Having GMP version 4.2 or higher installed is recommended. @@ -75,55 +76,55 @@ make doxygen * * The following examples/utilities require the <a target="_blank" href="http://www.cgal.org/">Computational Geometry Algorithms * Library</a> (CGAL \cite cgal:eb-19b) and will not be built if CGAL version 4.11.0 or higher is not installed: - * \li <a href="_simplex_tree_2example_alpha_shapes_3_simplex_tree_from_off_file_8cpp-example.html"> + * \li <a href="example_alpha_shapes_3_simplex_tree_from_off_file_8cpp-example.html"> * Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp</a> - * \li <a href="_witness_complex_2strong_witness_persistence_8cpp-example.html"> + * \li <a href="strong_witness_persistence_8cpp-example.html"> * Witness_complex/strong_witness_persistence.cpp</a> - * \li <a href="_witness_complex_2weak_witness_persistence_8cpp-example.html"> + * \li <a href="weak_witness_persistence_8cpp-example.html"> * Witness_complex/weak_witness_persistence.cpp</a> - * \li <a href="_witness_complex_2example_strong_witness_complex_off_8cpp-example.html"> + * \li <a href="example_strong_witness_complex_off_8cpp-example.html"> * Witness_complex/example_strong_witness_complex_off.cpp</a> - * \li <a href="_witness_complex_2example_witness_complex_off_8cpp-example.html"> + * \li <a href="example_witness_complex_off_8cpp-example.html"> * Witness_complex/example_witness_complex_off.cpp</a> - * \li <a href="_witness_complex_2example_witness_complex_sphere_8cpp-example.html"> + * \li <a href="example_witness_complex_sphere_8cpp-example.html"> * Witness_complex/example_witness_complex_sphere.cpp</a> - * \li <a href="_alpha_complex_2_alpha_complex_from_off_8cpp-example.html"> + * \li <a href="alpha_complex_from_off_8cpp-example.html"> * Alpha_complex/Alpha_complex_from_off.cpp</a> - * \li <a href="_alpha_complex_2_alpha_complex_from_points_8cpp-example.html"> + * \li <a href="alpha_complex_from_points_8cpp-example.html"> * Alpha_complex/Alpha_complex_from_points.cpp</a> - * \li <a href="_alpha_complex_2alpha_complex_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_persistence_8cpp-example.html"> * Alpha_complex/alpha_complex_persistence.cpp</a> - * \li <a href="_persistent_cohomology_2custom_persistence_sort_8cpp-example.html"> + * \li <a href="custom_persistence_sort_8cpp-example.html"> * Persistent_cohomology/custom_persistence_sort.cpp</a> - * \li <a href="_bottleneck_distance_2alpha_rips_persistence_bottleneck_distance_8cpp-example.html"> + * \li <a href="alpha_rips_persistence_bottleneck_distance_8cpp-example.html"> * Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp</a> - * \li <a href="_bottleneck_distance_2bottleneck_basic_example_8cpp-example.html"> + * \li <a href="bottleneck_basic_example_8cpp-example.html"> * Bottleneck_distance/bottleneck_basic_example.cpp</a> - * \li <a href="_bottleneck_distance_2bottleneck_read_file_8cpp-example.html"> + * \li <a href="bottleneck_read_file_8cpp-example.html"> * Bottleneck_distance/bottleneck_distance.cpp</a> - * \li <a href="_nerve__g_i_c_2_coord_g_i_c_8cpp-example.html"> + * \li <a href="coord_g_i_c_8cpp-example.html"> * Nerve_GIC/CoordGIC.cpp</a> - * \li <a href="_nerve__g_i_c_2_func_g_i_c_8cpp-example.html"> + * \li <a href="func_g_i_c_8cpp-example.html"> * Nerve_GIC/FuncGIC.cpp</a> - * \li <a href="_nerve__g_i_c_2_nerve_8cpp-example.html"> + * \li <a href="nerve_8cpp-example.html"> * Nerve_GIC/Nerve.cpp</a> - * \li <a href="_nerve__g_i_c_2_voronoi_g_i_c_8cpp-example.html"> + * \li <a href="voronoi_g_i_c_8cpp-example.html"> * Nerve_GIC/VoronoiGIC.cpp</a> - * \li <a href="_spatial_searching_2example_spatial_searching_8cpp-example.html"> + * \li <a href="example_spatial_searching_8cpp-example.html"> * Spatial_searching/example_spatial_searching.cpp</a> - * \li <a href="_subsampling_2example_choose_n_farthest_points_8cpp-example.html"> + * \li <a href="example_choose_n_farthest_points_8cpp-example.html"> * Subsampling/example_choose_n_farthest_points.cpp</a> - * \li <a href="_subsampling_2example_pick_n_random_points_8cpp-example.html"> + * \li <a href="example_pick_n_random_points_8cpp-example.html"> * Subsampling/example_pick_n_random_points.cpp</a> - * \li <a href="_subsampling_2example_sparsify_point_set_8cpp-example.html"> + * \li <a href="example_sparsify_point_set_8cpp-example.html"> * Subsampling/example_sparsify_point_set.cpp</a> - * \li <a href="_tangential_complex_2example_basic_8cpp-example.html"> + * \li <a href="example_basic_8cpp-example.html"> * Tangential_complex/example_basic.cpp</a> - * \li <a href="_tangential_complex_2example_with_perturb_8cpp-example.html"> + * \li <a href="example_with_perturb_8cpp-example.html"> * Tangential_complex/example_with_perturb.cpp</a> - * \li <a href="_alpha_complex_2_weighted_alpha_complex_3d_from_points_8cpp-example.html"> + * \li <a href="weighted_alpha_complex_3d_from_points_8cpp-example.html"> * Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp</a> - * \li <a href="_alpha_complex_2alpha_complex_3d_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_3d_persistence_8cpp-example.html"> * Alpha_complex/alpha_complex_3d_persistence.cpp</a> * \li <a href="_coxeter_triangulation_2manifold_tracing_flat_torus_with_boundary_8cpp-example.html"> * Coxeter_triangulation/manifold_tracing_flat_torus_with_boundary.cpp</a> @@ -135,41 +136,41 @@ make doxygen * * The following examples/utilities require the <a target="_blank" href="http://eigen.tuxfamily.org/">Eigen</a> and will not be * built if Eigen is not installed: - * \li <a href="_alpha_complex_2_alpha_complex_from_off_8cpp-example.html"> + * \li <a href="alpha_complex_from_off_8cpp-example.html"> * Alpha_complex/Alpha_complex_from_off.cpp</a> - * \li <a href="_alpha_complex_2_alpha_complex_from_points_8cpp-example.html"> + * \li <a href="alpha_complex_from_points_8cpp-example.html"> * Alpha_complex/Alpha_complex_from_points.cpp</a> - * \li <a href="_alpha_complex_2alpha_complex_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_persistence_8cpp-example.html"> * Alpha_complex/alpha_complex_persistence.cpp</a> - * \li <a href="_alpha_complex_2alpha_complex_3d_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_3d_persistence_8cpp-example.html"> * Alpha_complex/alpha_complex_3d_persistence.cpp</a> - * \li <a href="_alpha_complex_2_weighted_alpha_complex_3d_from_points_8cpp-example.html"> + * \li <a href="weighted_alpha_complex_3d_from_points_8cpp-example.html"> * Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp</a> - * \li <a href="_bottleneck_distance_2alpha_rips_persistence_bottleneck_distance_8cpp-example.html"> + * \li <a href="alpha_rips_persistence_bottleneck_distance_8cpp-example.html"> * Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp</a> - * \li <a href="_persistent_cohomology_2custom_persistence_sort_8cpp-example.html"> + * \li <a href="custom_persistence_sort_8cpp-example.html"> * Persistent_cohomology/custom_persistence_sort.cpp</a> - * \li <a href="_spatial_searching_2example_spatial_searching_8cpp-example.html"> + * \li <a href="example_spatial_searching_8cpp-example.html"> * Spatial_searching/example_spatial_searching.cpp</a> - * \li <a href="_subsampling_2example_choose_n_farthest_points_8cpp-example.html"> + * \li <a href="example_choose_n_farthest_points_8cpp-example.html"> * Subsampling/example_choose_n_farthest_points.cpp</a> - * \li <a href="_subsampling_2example_pick_n_random_points_8cpp-example.html"> + * \li <a href="example_pick_n_random_points_8cpp-example.html"> * Subsampling/example_pick_n_random_points.cpp</a> - * \li <a href="_subsampling_2example_sparsify_point_set_8cpp-example.html"> + * \li <a href="example_sparsify_point_set_8cpp-example.html"> * Subsampling/example_sparsify_point_set.cpp</a> - * \li <a href="_tangential_complex_2example_basic_8cpp-example.html"> + * \li <a href="example_basic_8cpp-example.html"> * Tangential_complex/example_basic.cpp</a> - * \li <a href="_tangential_complex_2example_with_perturb_8cpp-example.html"> + * \li <a href="example_with_perturb_8cpp-example.html"> * Tangential_complex/example_with_perturb.cpp</a> - * \li <a href="_witness_complex_2strong_witness_persistence_8cpp-example.html"> + * \li <a href="strong_witness_persistence_8cpp-example.html"> * Witness_complex/strong_witness_persistence.cpp</a> - * \li <a href="_witness_complex_2weak_witness_persistence_8cpp-example.html"> + * \li <a href="weak_witness_persistence_8cpp-example.html"> * Witness_complex/weak_witness_persistence.cpp</a> - * \li <a href="_witness_complex_2example_strong_witness_complex_off_8cpp-example.html"> + * \li <a href="example_strong_witness_complex_off_8cpp-example.html"> * Witness_complex/example_strong_witness_complex_off.cpp</a> - * \li <a href="_witness_complex_2example_witness_complex_off_8cpp-example.html"> + * \li <a href="example_witness_complex_off_8cpp-example.html"> * Witness_complex/example_witness_complex_off.cpp</a> - * \li <a href="_witness_complex_2example_witness_complex_sphere_8cpp-example.html"> + * \li <a href="example_witness_complex_sphere_8cpp-example.html"> * Witness_complex/example_witness_complex_sphere.cpp</a> * \li <a href="_coxeter_triangulation_2cell_complex_from_basic_circle_manifold_8cpp-example.html"> * Coxeter_triangulation/cell_complex_from_basic_circle_manifold.cpp</a> @@ -186,67 +187,67 @@ make doxygen * Having Intel® TBB installed is recommended to parallelize and accelerate some GUDHI computations. * * The following examples/utilities are using Intel® TBB if installed: - * \li <a href="_alpha_complex_2_alpha_complex_from_off_8cpp-example.html"> + * \li <a href="alpha_complex_from_off_8cpp-example.html"> * Alpha_complex/Alpha_complex_from_off.cpp</a> - * \li <a href="_alpha_complex_2_alpha_complex_from_points_8cpp-example.html"> + * \li <a href="alpha_complex_from_points_8cpp-example.html"> * Alpha_complex/Alpha_complex_from_points.cpp</a> - * \li <a href="_alpha_complex_2alpha_complex_3d_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_3d_persistence_8cpp-example.html"> * Alpha_complex/alpha_complex_3d_persistence.cpp</a> - * \li <a href="_alpha_complex_2alpha_complex_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_persistence_8cpp-example.html"> * Alpha_complex/alpha_complex_persistence.cpp</a> - * \li <a href="_bitmap_cubical_complex_2_bitmap_cubical_complex_8cpp-example.html"> + * \li <a href="bitmap_cubical_complex_8cpp-example.html"> * Bitmap_cubical_complex/cubical_complex_persistence.cpp</a> - * \li <a href="_bitmap_cubical_complex_2_bitmap_cubical_complex_periodic_boundary_conditions_8cpp-example.html"> + * \li <a href="bitmap_cubical_complex_periodic_boundary_conditions_8cpp-example.html"> * Bitmap_cubical_complex/periodic_cubical_complex_persistence.cpp</a> - * \li <a href="_bitmap_cubical_complex_2_random_bitmap_cubical_complex_8cpp-example.html"> + * \li <a href="random_bitmap_cubical_complex_8cpp-example.html"> * Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp</a> - * \li <a href="_nerve__g_i_c_2_coord_g_i_c_8cpp-example.html"> + * \li <a href="coord_g_i_c_8cpp-example.html"> * Nerve_GIC/CoordGIC.cpp</a> - * \li <a href="_nerve__g_i_c_2_func_g_i_c_8cpp-example.html"> + * \li <a href="func_g_i_c_8cpp-example.html"> * Nerve_GIC/FuncGIC.cpp</a> - * \li <a href="_nerve__g_i_c_2_nerve_8cpp-example.html"> + * \li <a href="nerve_8cpp-example.html"> * Nerve_GIC/Nerve.cpp</a> - * \li <a href="_nerve__g_i_c_2_voronoi_g_i_c_8cpp-example.html"> + * \li <a href="voronoi_g_i_c_8cpp-example.html"> * Nerve_GIC/VoronoiGIC.cpp</a> - * \li <a href="_simplex_tree_2simple_simplex_tree_8cpp-example.html"> + * \li <a href="simple_simplex_tree_8cpp-example.html"> * Simplex_tree/simple_simplex_tree.cpp</a> - * \li <a href="_simplex_tree_2example_alpha_shapes_3_simplex_tree_from_off_file_8cpp-example.html"> + * \li <a href="example_alpha_shapes_3_simplex_tree_from_off_file_8cpp-example.html"> * Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp</a> - * \li <a href="_simplex_tree_2simplex_tree_from_cliques_of_graph_8cpp-example.html"> + * \li <a href="simplex_tree_from_cliques_of_graph_8cpp-example.html"> * Simplex_tree/simplex_tree_from_cliques_of_graph.cpp</a> - * \li <a href="_simplex_tree_2graph_expansion_with_blocker_8cpp-example.html"> + * \li <a href="graph_expansion_with_blocker_8cpp-example.html"> * Simplex_tree/graph_expansion_with_blocker.cpp</a> - * \li <a href="_persistent_cohomology_2alpha_complex_3d_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_3d_persistence_8cpp-example.html"> * Persistent_cohomology/alpha_complex_3d_persistence.cpp</a> - * \li <a href="_persistent_cohomology_2alpha_complex_persistence_8cpp-example.html"> + * \li <a href="alpha_complex_persistence_8cpp-example.html"> * Persistent_cohomology/alpha_complex_persistence.cpp</a> - * \li <a href="_persistent_cohomology_2rips_persistence_via_boundary_matrix_8cpp-example.html"> + * \li <a href="rips_persistence_via_boundary_matrix_8cpp-example.html"> * Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp</a> - * \li <a href="_persistent_cohomology_2persistence_from_file_8cpp-example.html"> + * \li <a href="persistence_from_file_8cpp-example.html"> * Persistent_cohomology/persistence_from_file.cpp</a> - * \li <a href="_persistent_cohomology_2persistence_from_simple_simplex_tree_8cpp-example.html"> + * \li <a href="persistence_from_simple_simplex_tree_8cpp-example.html"> * Persistent_cohomology/persistence_from_simple_simplex_tree.cpp</a> - * \li <a href="_persistent_cohomology_2plain_homology_8cpp-example.html"> + * \li <a href="plain_homology_8cpp-example.html"> * Persistent_cohomology/plain_homology.cpp</a> - * \li <a href="_persistent_cohomology_2rips_multifield_persistence_8cpp-example.html"> + * \li <a href="rips_multifield_persistence_8cpp-example.html"> * Persistent_cohomology/rips_multifield_persistence.cpp</a> - * \li <a href="_persistent_cohomology_2rips_persistence_step_by_step_8cpp-example.html"> + * \li <a href="rips_persistence_step_by_step_8cpp-example.html"> * Persistent_cohomology/rips_persistence_step_by_step.cpp</a> - * \li <a href="_persistent_cohomology_2custom_persistence_sort_8cpp-example.html"> + * \li <a href="custom_persistence_sort_8cpp-example.html"> * Persistent_cohomology/custom_persistence_sort.cpp</a> - * \li <a href="_rips_complex_2example_one_skeleton_rips_from_points_8cpp-example.html"> + * \li <a href="example_one_skeleton_rips_from_points_8cpp-example.html"> * Rips_complex/example_one_skeleton_rips_from_points.cpp</a> - * \li <a href="_rips_complex_2example_rips_complex_from_off_file_8cpp-example.html"> + * \li <a href="example_rips_complex_from_off_file_8cpp-example.html"> * Rips_complex/example_rips_complex_from_off_file.cpp</a> - * \li <a href="_rips_complex_2rips_distance_matrix_persistence_8cpp-example.html"> + * \li <a href="rips_distance_matrix_persistence_8cpp-example.html"> * Rips_complex/rips_distance_matrix_persistence.cpp</a> - * \li <a href="_rips_complex_2rips_persistence_8cpp-example.html"> + * \li <a href="rips_persistence_8cpp-example.html"> * Rips_complex/rips_persistence.cpp</a> - * \li <a href="_witness_complex_2strong_witness_persistence_8cpp-example.html"> + * \li <a href="strong_witness_persistence_8cpp-example.html"> * Witness_complex/strong_witness_persistence.cpp</a> - * \li <a href="_witness_complex_2weak_witness_persistence_8cpp-example.html"> + * \li <a href="weak_witness_persistence_8cpp-example.html"> * Witness_complex/weak_witness_persistence.cpp</a> - * \li <a href="_witness_complex_2example_nearest_landmark_table_8cpp-example.html"> + * \li <a href="example_nearest_landmark_table_8cpp-example.html"> * Witness_complex/example_nearest_landmark_table.cpp</a> * * \section Contributions Bug reports and contributions diff --git a/src/common/include/gudhi/Points_3D_off_io.h b/src/common/include/gudhi/Points_3D_off_io.h index 39b79c96..4f74fd4b 100644 --- a/src/common/include/gudhi/Points_3D_off_io.h +++ b/src/common/include/gudhi/Points_3D_off_io.h @@ -125,7 +125,7 @@ class Points_3D_off_visitor_reader { * This example loads points from an OFF file and builds a vector of CGAL points in dimension 3. * Then, it is asked to display the points. * - * @include common/example_CGAL_3D_points_off_reader.cpp + * @include example_CGAL_3D_points_off_reader.cpp * * When launching: * @@ -134,7 +134,7 @@ class Points_3D_off_visitor_reader { * * the program output is: * - * @include common/cgal3Doffreader_result.txt + * @include cgal3Doffreader_result.txt */ template<typename Point_3> class Points_3D_off_reader { diff --git a/src/common/include/gudhi/Points_off_io.h b/src/common/include/gudhi/Points_off_io.h index 9dc40568..3aa8afd8 100644 --- a/src/common/include/gudhi/Points_off_io.h +++ b/src/common/include/gudhi/Points_off_io.h @@ -107,7 +107,7 @@ class Points_off_visitor_reader { * This example loads points from an OFF file and builds a vector of points (vector of double). * Then, it is asked to display the points. * - * \include common/example_vector_double_points_off_reader.cpp + * \include example_vector_double_points_off_reader.cpp * * When launching: * @@ -116,7 +116,7 @@ class Points_off_visitor_reader { * * the program outputs a file ../../data/points/alphacomplexdoc.off.txt: * - * \include common/vectordoubleoffreader_result.txt + * \include vectordoubleoffreader_result.txt */ template<typename Point_d> class Points_off_reader { diff --git a/src/common/include/gudhi/random_point_generators.h b/src/common/include/gudhi/random_point_generators.h index 9dd88ac4..33fb182d 100644 --- a/src/common/include/gudhi/random_point_generators.h +++ b/src/common/include/gudhi/random_point_generators.h @@ -18,6 +18,7 @@ #include <CGAL/version.h> // for CGAL_VERSION_NR #include <vector> // for vector<> +#include <boost/math/constants/constants.hpp> // for pi constant // Make compilation fail - required for external projects - https://github.com/GUDHI/gudhi-devel/issues/10 #if CGAL_VERSION_NR < 1041101000 @@ -149,6 +150,8 @@ std::vector<typename Kernel::Point_d> generate_points_on_moment_curve(std::size_ template <typename Kernel/*, typename TC_basis*/> std::vector<typename Kernel::Point_d> generate_points_on_torus_3D(std::size_t num_points, double R, double r, bool uniform = false) { + using namespace boost::math::double_constants; + typedef typename Kernel::Point_d Point; typedef typename Kernel::FT FT; Kernel k; @@ -164,11 +167,11 @@ std::vector<typename Kernel::Point_d> generate_points_on_torus_3D(std::size_t nu if (uniform) { std::size_t k1 = i / num_lines; std::size_t k2 = i % num_lines; - u = 6.2832 * k1 / num_lines; - v = 6.2832 * k2 / num_lines; + u = two_pi * k1 / num_lines; + v = two_pi * k2 / num_lines; } else { - u = rng.get_double(0, 6.2832); - v = rng.get_double(0, 6.2832); + u = rng.get_double(0, two_pi); + v = rng.get_double(0, two_pi); } Point p = construct_point(k, (R + r * std::cos(u)) * std::cos(v), @@ -187,6 +190,8 @@ static void generate_uniform_points_on_torus_d(const Kernel &k, int dim, std::si double radius_noise_percentage = 0., std::vector<typename Kernel::FT> current_point = std::vector<typename Kernel::FT>()) { + using namespace boost::math::double_constants; + CGAL::Random rng; int point_size = static_cast<int>(current_point.size()); if (point_size == 2 * dim) { @@ -200,7 +205,7 @@ static void generate_uniform_points_on_torus_d(const Kernel &k, int dim, std::si (100. + radius_noise_percentage) / 100.); } std::vector<typename Kernel::FT> cp2 = current_point; - double alpha = 6.2832 * slice_idx / num_slices; + double alpha = two_pi * slice_idx / num_slices; cp2.push_back(radius_noise_ratio * std::cos(alpha)); cp2.push_back(radius_noise_ratio * std::sin(alpha)); generate_uniform_points_on_torus_d( @@ -212,6 +217,8 @@ static void generate_uniform_points_on_torus_d(const Kernel &k, int dim, std::si template <typename Kernel> std::vector<typename Kernel::Point_d> generate_points_on_torus_d(std::size_t num_points, int dim, bool uniform = false, double radius_noise_percentage = 0.) { + using namespace boost::math::double_constants; + typedef typename Kernel::Point_d Point; typedef typename Kernel::FT FT; Kernel k; @@ -234,7 +241,7 @@ std::vector<typename Kernel::Point_d> generate_points_on_torus_d(std::size_t num std::vector<typename Kernel::FT> pt; pt.reserve(dim * 2); for (int curdim = 0; curdim < dim; ++curdim) { - FT alpha = rng.get_double(0, 6.2832); + FT alpha = rng.get_double(0, two_pi); pt.push_back(radius_noise_ratio * std::cos(alpha)); pt.push_back(radius_noise_ratio * std::sin(alpha)); } @@ -357,6 +364,8 @@ std::vector<typename Kernel::Point_d> generate_points_on_two_spheres_d(std::size template <typename Kernel> std::vector<typename Kernel::Point_d> generate_points_on_3sphere_and_circle(std::size_t num_points, double sphere_radius) { + using namespace boost::math::double_constants; + typedef typename Kernel::FT FT; typedef typename Kernel::Point_d Point; Kernel k; @@ -370,7 +379,7 @@ std::vector<typename Kernel::Point_d> generate_points_on_3sphere_and_circle(std: for (std::size_t i = 0; i < num_points;) { Point p_sphere = *generator++; // First 3 coords - FT alpha = rng.get_double(0, 6.2832); + FT alpha = rng.get_double(0, two_pi); std::vector<FT> pt(5); pt[0] = k_coord(p_sphere, 0); pt[1] = k_coord(p_sphere, 1); @@ -388,6 +397,8 @@ std::vector<typename Kernel::Point_d> generate_points_on_3sphere_and_circle(std: template <typename Kernel> std::vector<typename Kernel::Point_d> generate_points_on_klein_bottle_3D(std::size_t num_points, double a, double b, bool uniform = false) { + using namespace boost::math::double_constants; + typedef typename Kernel::Point_d Point; typedef typename Kernel::FT FT; Kernel k; @@ -403,11 +414,11 @@ std::vector<typename Kernel::Point_d> generate_points_on_klein_bottle_3D(std::si if (uniform) { std::size_t k1 = i / num_lines; std::size_t k2 = i % num_lines; - u = 6.2832 * k1 / num_lines; - v = 6.2832 * k2 / num_lines; + u = two_pi * k1 / num_lines; + v = two_pi * k2 / num_lines; } else { - u = rng.get_double(0, 6.2832); - v = rng.get_double(0, 6.2832); + u = rng.get_double(0, two_pi); + v = rng.get_double(0, two_pi); } double tmp = cos(u / 2) * sin(v) - sin(u / 2) * sin(2. * v); Point p = construct_point(k, @@ -424,6 +435,8 @@ std::vector<typename Kernel::Point_d> generate_points_on_klein_bottle_3D(std::si template <typename Kernel> std::vector<typename Kernel::Point_d> generate_points_on_klein_bottle_4D(std::size_t num_points, double a, double b, double noise = 0., bool uniform = false) { + using namespace boost::math::double_constants; + typedef typename Kernel::Point_d Point; typedef typename Kernel::FT FT; Kernel k; @@ -439,11 +452,11 @@ std::vector<typename Kernel::Point_d> generate_points_on_klein_bottle_4D(std::si if (uniform) { std::size_t k1 = i / num_lines; std::size_t k2 = i % num_lines; - u = 6.2832 * k1 / num_lines; - v = 6.2832 * k2 / num_lines; + u = two_pi * k1 / num_lines; + v = two_pi * k2 / num_lines; } else { - u = rng.get_double(0, 6.2832); - v = rng.get_double(0, 6.2832); + u = rng.get_double(0, two_pi); + v = rng.get_double(0, two_pi); } Point p = construct_point(k, (a + b * cos(v)) * cos(u) + (noise == 0. ? 0. : rng.get_double(0, noise)), @@ -463,6 +476,8 @@ template <typename Kernel> std::vector<typename Kernel::Point_d> generate_points_on_klein_bottle_variant_5D( std::size_t num_points, double a, double b, bool uniform = false) { + using namespace boost::math::double_constants; + typedef typename Kernel::Point_d Point; typedef typename Kernel::FT FT; Kernel k; @@ -478,11 +493,11 @@ generate_points_on_klein_bottle_variant_5D( if (uniform) { std::size_t k1 = i / num_lines; std::size_t k2 = i % num_lines; - u = 6.2832 * k1 / num_lines; - v = 6.2832 * k2 / num_lines; + u = two_pi * k1 / num_lines; + v = two_pi * k2 / num_lines; } else { - u = rng.get_double(0, 6.2832); - v = rng.get_double(0, 6.2832); + u = rng.get_double(0, two_pi); + v = rng.get_double(0, two_pi); } FT x1 = (a + b * cos(v)) * cos(u); FT x2 = (a + b * cos(v)) * sin(u); |