Conversation
…per vertex and cell, with access to the cells and vertices of the triangulation.
…a per vertex and cell, with access to the cells and vertices of the tds.
|
@sloriot @lrineau So I tried something to implement the edges in complex IO in .cgal format, but it requiered changing the signature of the Compact_mesh_cell_base_3, which changed the c3t3 type written in the header of the files. In concequences of which the demo is not able to read any of the existing "[.binary].cgal" files... I'd like thoughts on the matter. |
|
I'm a bit afraid that binary files are conflicting (for size reason). Were those files updated recently? |
|
I did not touch this branch since april 19. |
That is not really recently. The PR #4397 has changed the order of cells in a triangulation (given the sequence of points). That is why all the files have changed in |
|
I have not yet cupdated all the c3t3 files in this branch, as I was waiting for an aswer to my question. |
|
Succesfully tested in https://cgal.geometryfactory.com/CGAL/testsuite/results-5.1-Ic-112.shtml |
|
Tested in CGAL-5.1-Ic-114 |
|
@lrineau are you done with your review? |
|
@lrineau @maxGimeno Does this PR just get pushed to next release (that will deal with I/O of triangulations too anyway)? |
|
I don't see why it should be delayed to next release, it already passed the testsuite once, and it is not a small feature. I'm just waiting for @lrineau to do his review to test it again and have it integrated. Unless he explains why it does not work or fix the issue, in which case everything will have to be re thought from the start. |
lrineau
left a comment
There was a problem hiding this comment.
I disagree strongly with the changes made to Mesh_3. Compact_mesh_cell_base gets that addition of six extra words, and two members functions set_curve_index/get_curve_index that are not in the concept MeshCellBase_3.
The first issue with that is:
- information about edges are stored in each incident cells,
- with the current code, the C3t3 implementation does not maintain the information.
More than ten years ago, I choose to implement the information about features edges
using a special map:
cgal/Mesh_3/include/CGAL/Mesh_complex_3_in_triangulation_3.h
Lines 79 to 88 in d03a023
and I still think that is the good choice and should not be modified (the type of the map could be discussed and maybe optimized, but not the choice to store the information in a map of the c3t3 object).
So, correct I/O of C3t3 must serialize that map, and not modify the concept of MeshCellBase_3 and its models.
Maybe this PR should be split in two: one that solves the initial issue #861 (I/O of triangulations), and then another one about the I/O of C3t3 (#2359).
|
@maxGimeno is this replaced by #5145? |
Not entirely, but if #5145 is dropped, then the second part of this PR is impossible to implement, IIRC |
|
Replaced by #5145. |
Summary of Changes
Add the possibility to use functions of the cell/face/vertex base, called read/write_data(), and that have access to the maps/vectors internal to the triangulation. This is used in the IO functions.
Release Management