Skip to content

Conversation

@umenohana13
Copy link

@umenohana13 umenohana13 commented Jul 29, 2025

Summary of Changes

The pull request contains the first version of:

  • user manual (still incomplete - persistant homology and Alexander duality are not documented)
  • reference manual (slightly incomplete as well - the IO classes stores in tools_io are "lightly" documented as they will be revised to integrate IOs inside CGAL)
  • code (same: the tools_io file will be revised)

Release Management

umenohana13 added 30 commits May 1, 2025 07:50
In order to comply with the HDVF concept, splitted HDVF into
-> HDVF_core (which will be inherited by all HDVF models)
-> HDVF (which inherits HDVF_core and is the end user class for HDVF computing homology)
- Changed classes names from HDVF to Hdvf
- Uniformized classes names: Hdvf_duality and Hdvf_persistence
- namespace: HDVF
- finished the HDVF concept description
- Hdvf_core rework ongoing
-> finished Hdvf_core
-> starting Hdvf
- Finished documentation of Hdvf class
- Renamed the .h file accordingly
-> Hdvf_persistence OK
-> Filtration rework ongoing
Sub_chain_complex_mask documentation OK.
-> Concept SparseMatrix OK
-> Starting Sparse_matrix rework
Documentation of Sparse_matrix ongoing
-> Finished Sparse_chain documentation
-> finished documenting both classes
-> improved coherence by changing ALL Sparse_matrix getters to friend
-> finish documentation and rework of  Sub_sparse_matrix class
-> documentation and rework of the class done

!!!!! Why is it necessary to set get_flag as virtual in Hdvf_core ? While I don't see any dynamic types...
-> finished description and figure
-> all principal classes have been reworked

TODO
-> IO classes (tools_io) are still "as such"
-> Tools for simplicial and cubical complexes are also "as such" (vtk exports, methods for duality)
-> Unit tests
-> Simplicial complexes duality still uses tetgen to mesh a sphere containing the triangle mesh. Should be coded with CGAL...
-> changing cohomology export (with or without cofaces)
-> updated Hdvf manual
-> commented unnecessary parts in Hdvf
-> Hdvf_persistence OK (documentation / class)
-> Documentation of HDVF concept and classes OK
-> modification de int à size_t pour le type des indices de cellules
-> corrected indices int -> size_t in HDVF_persistence, HDVF_duality, complexes tools, Simplicial complexes, Simplex, MeshIO
-> corrected error on cohomology cofaces for duality (cofaces must be restricted to the sub chain complex)
-> reworked illustrations of HDVF_duality
-> corrected indices type from int to size_t in Cubical_chain_complex and corresponding tools_io and tools
-> replaced int by size_t
-> Tested Hdvf, Hdvf_persistence, Hdvf_duality on simplicial and cubical chain complexes
-> Preliminary documentation OK
-> unified vtk output for simplicial and cubical complexes
-> replaced corresponding functions by templated vtk exporter (for Hdvf, Hdvf_persistence and Hdvf_duality)
-> created classes to handle mesh duality operations for simplicial and cubical complexes (creation of the larger complex L homeomorphic to a ball and coding of the complex through a mask)
-> Even if user documentation is still "empty", added references to the articles introducing HDVFs and cited Aldo Gonzalez-Lorenzo (who introduced them in his PhD)
-> user documentation ongoing
-> commit before correction of a bug in find_M family of functions
Revised all exceptions in Cub_object_io (+documentation)
@afabri
Copy link
Member

afabri commented Jan 14, 2026

/force-build:v1

@github-actions
Copy link

There was an error while building the doc:

/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:234: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:235: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:179: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:180: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:164: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:165: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:206: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:207: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:208: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:114: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:115: warning: explicit link request to 'runtime_error' could not be resolved

https://github.com/CGAL/cgal/actions/runs/21000587280

-> added a comment in the documentation of Surface_mesh_io and Mesh_object_io on the unicity of vertices (no duplicates)
-> fixed trailing whitespaces ?
Trailing whitespaces
Trailing whitespaces
Trailing whitespaces
Trailing whitespaces
@afabri
Copy link
Member

afabri commented Jan 15, 2026

/force-build:v1

@github-actions
Copy link

There was an error while building the doc:

/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:226: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:227: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:174: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:175: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:160: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Abstract_simplicial_chain_complex.h:161: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:206: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:207: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:208: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:114: warning: explicit link request to 'runtime_error' could not be resolved
/home/runner/work/cgal/cgal/HDVF/include/CGAL/HDVF/Cub_object_io.h:115: warning: explicit link request to 'runtime_error' could not be resolved

https://github.com/CGAL/cgal/actions/runs/21022973161

@afabri
Copy link
Member

afabri commented Jan 15, 2026

/force-build:v1

@github-actions
Copy link

The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/9004/v1/Manual/index.html

@afabri
Copy link
Member

afabri commented Jan 15, 2026

/force-build:v1

@github-actions
Copy link

The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/9004/v1/Manual/index.html

Fixes for gcc / Linux compiler
Fixes on dimension restriction for persistence (infinite holes extraction)
For all HDVF operations (A, R, M, W, MW) added a correponding operation to check the validity of a pair of argument cells provided by the user.
@MaelRL MaelRL removed this from the 6.2-beta milestone Jan 17, 2026
Added z and co_z functions to the API (functions defining fundamental cycles/co-cycle)
Necessary to related HDVFs to tri-partitions
Added protected methods computing hd(sigma), <hd(sigtma), tau> and same for h^*d^*.
These matrices are not store (for efficiency) so we must provide efficient computations for "advanced users" developping topological algorithms -> therefore the methods are protected
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CHANGES.md not updated Feature Not yet approved The feature or pull-request has not yet been approved.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants