Commit Graph

677 Commits

Author SHA1 Message Date
Jane Tournois 7147f9bad4 [smooth] use vertices_surface_indices, and fill it iff it's needed 2024-01-25 13:17:00 +01:00
Jane Tournois 0dd99d061a [smooth] remove unused parameters 2024-01-25 13:01:29 +01:00
Jane Tournois faacad29af [smooth] do not collect incident cells for non free vertices 2024-01-25 12:50:01 +01:00
Jane Tournois a4015d1b9e [smooth] use m_vertex_id and m_free_vertices everywhere in class functions 2024-01-25 12:46:58 +01:00
Jane Tournois f2a1d3c8a4 [smooth] reorganize/clean access to vertex_id_map and free_vertices 2024-01-25 11:01:41 +01:00
Jane Tournois 77805fde8d [smooth] do not forget cells_to_update in pre-collapse max cos
and reorganize post-collapse conditions
2024-01-25 09:34:17 +01:00
Jane Tournois 55bb9c7bd5 [smooth] optional code to collapse only under angle condition
collapse is happening only if it does not create an angle smaller than 5.7 degrees,
OR if it improves smallest angle locally
2024-01-23 15:39:11 +01:00
Jane Tournois 9f8e36858d [smooth] add helper functions 2024-01-23 15:37:43 +01:00
Jane Tournois 013a33387f [smooth] use get() for optional 2024-01-23 15:36:35 +01:00
Jane Tournois ef39f52dc1 [smooth] during flip-smooth steps, perform smoothing iff it improves angles 2024-01-23 15:35:25 +01:00
Jane Tournois 03b7687a3b [smooth] reorganize smoothing before freezing vertices 2024-01-19 15:50:00 +01:00
Jane Tournois 5794c1f23a Merge branch 'Tet_remeshing-with_sizing_field-jtournois' into Tet_remeshing-wip-jtournois 2024-01-18 15:13:05 +00:00
Jane Tournois 965f587307 do not use MLS projection on features
it tends to make surfaces more round and reduce the quality of features
2024-01-18 16:10:02 +01:00
Jane Tournois 13c6f07cf4 Merge branch 'Tet_remeshing-flips_on_surface-jtournois' into Tet_remeshing-wip-jtournois 2024-01-18 11:10:07 +00:00
Jane Tournois d36cb8c29b verbose mode cleaning 2024-01-18 12:09:46 +01:00
Jane Tournois 4035ecfe25 Merge branch 'Tet_remeshing-with_sizing_field-jtournois' into Tet_remeshing-wip-jtournois
# Conflicts:
#	Polyhedron/demo/Polyhedron/Plugins/Tetrahedral_remeshing/Tetrahedral_remeshing_plugin.cpp
#	Tetrahedral_remeshing/doc/Tetrahedral_remeshing/examples.txt
#	Tetrahedral_remeshing/examples/Tetrahedral_remeshing/CMakeLists.txt
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2024-01-18 11:39:43 +01:00
Jane Tournois c6d6d802d3 re-insert constraints after split 2024-01-18 10:28:23 +01:00
Jane Tournois 10dc5b687c fix max_curve_index when no curve is pre-defined, though constraints are given as input 2024-01-16 18:35:00 +01:00
Jane Tournois 84f5e8c7cb improve smoothing along features 2024-01-16 11:50:21 +01:00
Jane Tournois 28ad54b218 Merge remote-tracking branch 'cgal/master' into Tet_remeshing-with_sizing_field-jtournois
# Conflicts:
#	Polyhedron/demo/Polyhedron/Plugins/Tetrahedral_remeshing/Tetrahedral_remeshing_plugin.cpp
#	Tetrahedral_remeshing/doc/Tetrahedral_remeshing/examples.txt
#	Tetrahedral_remeshing/examples/Tetrahedral_remeshing/CMakeLists.txt
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2024-01-15 12:28:30 +01:00
Jane Tournois 71c47b526f add debug macro 2024-01-12 19:27:07 +01:00
Jane Tournois dad1af1064 add debug code 2024-01-12 18:33:37 +01:00
Jane Tournois 2abcf52463 shorten is_smoothable check for feature vertices 2024-01-12 18:33:19 +01:00
Jane Tournois bab358a2f0 collapse was leaving some complex edges behind
remove from complex the edge that is about to be collapsed
2024-01-12 18:32:33 +01:00
Jane Tournois 906253b5f8 add debug code 2024-01-12 18:09:43 +01:00
Jane Tournois 85179e960c remove duplicate assertion code 2024-01-11 14:28:58 +01:00
Jane Tournois 77fbb6d973 Merge branch 'Tet_remeshing-with_sizing_field-jtournois' into Tet_remeshing-wip-jtournois 2024-01-11 12:05:02 +00:00
Jane Tournois e363976b39 [smoothing] mass should be density, not density * size
because vector already is [v, neighbor], of its size and not normalized

+ fix each dimension smoothing
+ replace Vector_3's by Point_3's wherever it makes sense
2024-01-11 13:03:49 +01:00
Jane Tournois 37925c56ff Merge branch 'Tet_remeshing-flips_on_surface-jtournois' into Tet_remeshing-wip-jtournois
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h
2024-01-09 14:04:43 +01:00
Jane Tournois 49415f3086 little cleaning 2024-01-09 14:02:59 +01:00
Jane Tournois bc956d6ea3 [flip] reset sliver cache that may have been populated with dihedral angles during perturb() 2024-01-09 13:32:03 +01:00
Jane Tournois 1b0df8e7f0 [flip] remove useless optional
operator[] of unordered_map already does all that is needed

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2024-01-09 13:32:03 +01:00
Jane Tournois ea6ae9462a [flip] display min_dihedral_angle after each step of remeshing 2024-01-09 13:31:36 +01:00
Jane Tournois 45aeaccbbf [flip] snap cosine to [-1., 1.] when computed in doubles
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h
2024-01-09 13:31:36 +01:00
Jane Tournois 9efb66f808 [flip] use optional pointer
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2024-01-09 13:31:12 +01:00
Jane Tournois 161d679531 [flips] do not use cache sliver value when it's not valid,
invalidate cache sliver value when needed,
and do not remove/add edges to the complex during flips, since complex edges
never get modified

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2024-01-09 13:30:37 +01:00
Jane Tournois b70576f022 [flip] add verbosity 2024-01-09 13:30:17 +01:00
Jane Tournois 7429066b10 [flip] reset sliver cache that may have been populated with dihedral angles during perturb() 2024-01-09 13:27:49 +01:00
Jane Tournois ffc2a9649f [flip] remove useless optional
operator[] of unordered_map already does all that is needed
2024-01-09 13:14:40 +01:00
Jane Tournois 1ea551bcc4 [flip] display min_dihedral_angle after each step of remeshing 2024-01-09 12:46:47 +01:00
Jane Tournois 1ce6685fcb [flip] snap cosine to [-1., 1.] when computed in doubles 2024-01-09 12:43:00 +01:00
Jane Tournois 05473f1d7d [flip] use optional pointer 2024-01-08 09:37:42 +01:00
Jane Tournois 88d1d4ebb1 [flips] do not use cache sliver value when it's not valid,
invalidate cache sliver value when needed,
and do not remove/add edges to the complex during flips, since complex edges
never get modified
2024-01-05 13:50:29 +01:00
Jane Tournois 72c9eb7aef [flip] add verbosity 2024-01-04 16:15:50 +01:00
Jane Tournois c8812d68e9 avoid conversion warning 2024-01-04 16:15:30 +01:00
Jane Tournois 3e903c13ab cleaning 2024-01-04 12:24:01 +01:00
Jane Tournois c315deec6e Merge branch 'Tet_remeshing-with_sizing_field-jtournois' into Tet_remeshing-wip-jtournois
# Conflicts:
#	Polyhedron/demo/Polyhedron/Plugins/Tetrahedral_remeshing/Tetrahedral_remeshing_plugin.cpp
#	Tetrahedral_remeshing/doc/Tetrahedral_remeshing/examples.txt
#	Tetrahedral_remeshing/examples/Tetrahedral_remeshing/CMakeLists.txt
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/collapse_short_edges.h
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/split_long_edges.h
#	Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h
2024-01-04 10:25:54 +01:00
Jane Tournois 1748dfadbb fix compilation 2023-12-22 14:52:03 +01:00
Jane Tournois 50a3994155 Merge remote-tracking branch 'cgal/master' into Tet_remeshing-flips_on_surface-jtournois
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2023-12-22 14:44:01 +01:00
Jane Tournois c1e1084723 flip edges on surfaces 2023-12-22 14:22:36 +01:00
Jane Tournois 619871e04d minor cleaning 2023-12-21 11:07:07 +01:00
Jane Tournois 71c0a48154 fix compilation after updating branch 2023-12-21 10:34:56 +01:00
Jane Tournois cddd344d11 add assertions 2023-12-21 09:26:51 +01:00
Jane Tournois ff1b3e0a95 re-introduce flips inside volume
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2023-12-21 09:26:50 +01:00
Jane Tournois 6ec474f5e2 filling the surface valence container fixed
it was not counting surface patches properly for vertices
incident to 2 patches, when the vertex is on a complex edge
2023-12-21 09:25:18 +01:00
Jane Tournois 4bbdabce20 use set and not vector to count incident subdomains 2023-12-21 09:25:17 +01:00
Jane Tournois e5ebc849f5 fix case 2023-12-21 09:25:16 +01:00
Jane Tournois 51c2b80330 remove trailing whitespaces 2023-12-21 09:25:15 +01:00
Jane Tournois 390f95cb13 wip improve collapse 2023-12-21 09:25:14 +01:00
Jane Tournois 1952060039 wrap debug code in macro 2023-12-21 09:25:13 +01:00
Jane Tournois d9e0b19b20 comment debug variables 2023-12-21 09:25:12 +01:00
Jane Tournois adf7812bc6 comment extra-verbosity 2023-12-21 09:25:11 +01:00
Jane Tournois 51401bae7c fix surface flips for n/m cells
the angle condition is checked only for in-complex cells
2023-12-21 09:25:10 +01:00
Jane Tournois e4fc54c973 all surface flips succeed
todo : check that dihedral angles do not get worse

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2023-12-21 09:25:09 +01:00
Jane Tournois fd65b6a0cd check angles before surface-flipping
and add experimental and unused code for n/m flips on surfaces
2023-12-21 09:24:49 +01:00
Jane Tournois 37db44c1d1 fix 4-4 flips on surface with valid c3t3
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2023-12-21 09:24:48 +01:00
Jane Tournois 9734585b35 wip flip on surfaces
there are holes on surfaces

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2023-12-21 09:24:34 +01:00
Jane Tournois 5345520091 introduce edge flips on surfaces
this version works with 4-4 flips where an edge is flipped on the surface, and
each pair of incident faces is incident to exactly 2 cells

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2023-12-21 09:24:05 +01:00
Jane Tournois 18facb24de add missing nb_extra_iterations = 0 when macro is on (for debugging purposes) 2023-12-21 09:23:33 +01:00
Jane Tournois e31259e7da use sizing and density to define masses in smoothing 2023-12-21 09:20:54 +01:00
Jane Tournois 32b5492bd5 make fastProjectionCPU more consistent with original code 2023-12-21 09:20:02 +01:00
Jane Tournois b533acf2d7 wip sizing in smoothing 2023-12-21 09:13:44 +01:00
Sebastien Loriot ec9de37b61
Tetrahedral remeshing - move sliver peeling to its own header file (#7930)
## Summary of Changes

This PR moves the "sliver peeling" function to its own internal header
file.

## Release Management

* Affected package(s): Tetrahedral remeshing
* License and copyright ownership: unchanged
2023-12-18 13:29:37 +01:00
Jane Tournois 17016b64bc reorganization by dimension 2023-12-14 13:05:00 +01:00
Jane Tournois bb0fed541f smoothed_positions and neighbors can be made internal 2023-12-14 12:58:20 +01:00
Jane Tournois e560936f4a reordering and reduce duplicate code 2023-12-14 12:45:40 +01:00
Jane Tournois 9731aec758 extract code to smooth_vertices_on_surfaces() 2023-12-14 10:58:18 +01:00
Jane Tournois dc51bcc58d Merge branch 'Tet_remeshing-with_sizing_field-jtournois' of https://github.com/janetournois/cgal into Tet_remeshing-with_sizing_field-jtournois 2023-12-12 17:01:54 +00:00
Jane Tournois a8e4387bdd factorization of duplicate code 2023-12-12 18:01:36 +01:00
Jane Tournois 3000767c69 extract smooth_edges_in_complex 2023-12-12 16:19:02 +01:00
Jane Tournois fa052c3d84 move sliver peeling to its own header file
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2023-12-12 16:09:54 +01:00
Jane Tournois 41a480082f add vertex_id_map() function
for cleaning
2023-12-11 17:15:15 +01:00
Jane Tournois 2874c2be60 add debug counting far points 2023-12-08 13:52:09 +01:00
Jane Tournois b0361f7e14 set_index(v) must be able dimension -1 to deal with far points
far points inserted by concurrent Mesh_3
2023-12-08 13:51:47 +01:00
Jane Tournois d09e1fe00b add missing template 2023-12-05 18:08:53 +01:00
Jane Tournois f6a988664b add missing namespace 2023-12-05 18:08:15 +01:00
Jane Tournois 43b8b694d0 use is_in_complex() inside bigger condition 2023-12-05 17:32:54 +01:00
Jane Tournois d98a6233f0 collect features and use edge_is_constrained_map in demo code 2023-12-05 17:32:26 +01:00
Jane Tournois 1d5bef3906 use ordered pair 2023-12-05 17:29:24 +01:00
Jane Tournois a91f8d038e doc 2023-12-05 15:08:03 +01:00
Jane Tournois ef7ab56229 add missing using 2023-12-05 14:41:22 +01:00
Sébastien Loriot d9df1108f3 fix more warnings 2023-12-05 12:01:09 +01:00
Jane Tournois a66999d932 fill the edge_is_constrained_map based on the c3t3 complex edges 2023-12-05 11:10:19 +01:00
Sébastien Loriot 00166a99c5 fix warnings 2023-12-05 11:08:46 +01:00
Jane Tournois 8a2b2bbcb3 add hidden named parameter for extra flip-and-smooth iterations 2023-12-01 16:13:46 +01:00
Jane Tournois a3a1a32256 add concept RemeshingSizingField_3 2023-12-01 15:42:03 +01:00
Jane Tournois 494c18e0aa use sqd from traits 2023-11-23 15:11:36 +01:00
Jane Tournois 55780bf089 Merge remote-tracking branch 'cgal/master' into Tet_remeshing-with_sizing_field-jtournois
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2023-11-21 16:48:51 +01:00
Laurent Rineau 049042c2d7 Merge pull request #7797 from janetournois/Tet_remeshing-c3t3_initialization-jtournois
Tetrahedral remeshing - fix internal C3t3

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2023-11-15 15:45:28 +01:00
Jane Tournois d586305c49 reorder functions to document the one with sizing field
+ add default NP template type
2023-11-07 16:21:10 +01:00
Jane Tournois bf33ce9877 add default named parameters 2023-11-07 11:53:19 +01:00
Jane Tournois ece066a05c remove interpolation and keep only the sizing at closest point in kd-tree 2023-11-07 10:57:53 +01:00
Jane Tournois eb2605d506 another interpolation scheme
weights are 1/squared_distance_to(query point)
2023-11-07 10:17:01 +01:00
Jane Tournois a849daf6b9 attempt to improve the sizing field 2023-11-03 18:19:45 +01:00
Jane Tournois 1ced7d7f79 there is no need to take the sqrt here! 2023-11-03 16:55:03 +01:00
Jane Tournois e96b1802c2 use only const ref to sizing function 2023-11-03 16:54:35 +01:00
Jane Tournois 778cd85965 Merge branch 'Tet_remeshing-with_sizing_field-jtournois' of https://github.com/janetournois/cgal into Tet_remeshing-with_sizing_field-jtournois
# Conflicts:
#	Tetrahedral_remeshing/examples/Tetrahedral_remeshing/mesh_and_remesh_with_sizing.cpp
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
#	Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h
2023-11-03 16:20:52 +01:00
Jane Tournois 1bbbc0aae2 cleaning after 2 previous commits 2023-11-03 16:13:10 +01:00
Jane Tournois 385e770762 remove unused typedefs 2023-11-03 16:08:16 +01:00
Jane Tournois 494e1d94e5 new adaptive sizing field based on a Kd_tree
the kd_tree is built from the input triangulation, with points and
the local mesh size in the triangulation
2023-11-03 16:03:52 +01:00
Jane Tournois ca97b0f140 use Mesh_sizing_field in tetrahedral_adaptive_remeshing
+ add a types generator for Adaptive_remesher and its parameters,
extracted from the named parameters
2023-11-02 10:25:03 +01:00
Jane Tournois 324e95c280 fix sizing lambda when input is a C3T3 2023-11-02 10:25:03 +01:00
Jane Tournois 1f1e0d787c compare sizing with min/max at edge vertices, instead of midpoint
this should lead to fewer remeshing operations because the conditions
are lighted
2023-11-02 10:25:03 +01:00
Jane Tournois 4c8a927718 make the code simpler and not really more expensive 2023-11-02 10:25:02 +01:00
Jane Tournois 7387a1d73c cleaning 2023-11-02 10:25:02 +01:00
Jane Tournois 619d5a7865 use vertices() functions from Triangulation_3 2023-11-02 10:25:02 +01:00
Jane Tournois 3006d2ef70 move size comparison to is_too_short(edge) and is_too_long(edge) functions 2023-11-02 10:25:01 +01:00
Jane Tournois 6467281c8a query size at edge midpoint 2023-11-02 10:25:00 +01:00
Jane Tournois cae6377e25 propagate the use of sizing field to subfunctions of remeshing 2023-11-02 10:25:00 +01:00
Jane Tournois 2462524af2 (dummy) initial test with input sizing field (compiles) 2023-11-02 10:25:00 +01:00
Jane Tournois aec7ef9eb3 rename debug output file 2023-11-02 10:24:43 +01:00
Jane Tournois 4297e361cd improve max_subdomain_index() and max_curve_index() 2023-11-02 10:23:28 +01:00
Jane Tournois da015260c2 rewrite init_c3t3
for better handling of input triangulation not generated by Mesh_3
2023-11-02 10:23:28 +01:00
Jane Tournois b38b339002 fix dimensions of vertices in internal c3t3
it may happen that the mesh output by Mesh_3 has vertices with dimension 2
incident to no surface patch (because the mesh is not dense enough to
provide a good approximation of the surface).
This "wrong" dimension setting may lead to bad behavior of tetrahedral remeshing
2023-11-02 10:23:28 +01:00
Jane Tournois b925875fd2 try to please CI 2023-10-31 14:59:08 +01:00
Jane Tournois 09f3f0cb46 use Mesh_sizing_field in tetrahedral_adaptive_remeshing
+ add a types generator for Adaptive_remesher and its parameters,
extracted from the named parameters
2023-10-31 12:19:34 +01:00
Jane Tournois 8782c36a02 fix sizing lambda when input is a C3T3 2023-10-26 15:57:51 +02:00
Jane Tournois 041ebcb5f3 compare sizing with min/max at edge vertices, instead of midpoint
this should lead to fewer remeshing operations because the conditions
are lighted
2023-10-26 15:57:23 +02:00
Jane Tournois 55473e2863 Merge remote-tracking branch 'cgal/master' into Tet_remeshing-with_sizing_field-jtournois
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2023-10-26 14:57:32 +02:00
Jane Tournois 383dfeb895 make the code simpler and not really more expensive 2023-10-26 12:28:43 +02:00
Jane Tournois be21cfc4d6 cleaning 2023-10-26 12:25:49 +02:00
Jane Tournois fb7a3d9cde use vertices() functions from Triangulation_3 2023-10-26 12:16:49 +02:00
Sébastien Loriot ca0f9acbe0 Merge remote-tracking branch 'cgal/5.6.x-branch' 2023-10-25 17:43:16 +02:00
Sebastien Loriot a82f5115a4
Tetrahedral remeshing of a C3t3 - fix default cell selector (#7760)
## Summary of Changes

In the demo, tetrahedral remeshing is called directly on the C3t3. This
PR fixes the default `cell_selector` when remeshing is called on a C3t3.

## Release Management

* Affected package(s): Tetrahedral_remeshing
* License and copyright ownership: unchanged
2023-10-25 08:39:01 -07:00
Jane Tournois f971f29cf6 move size comparison to is_too_short(edge) and is_too_long(edge) functions 2023-10-25 17:12:00 +02:00
Jane Tournois 7a2dfd782b query size at edge midpoint 2023-10-24 17:17:41 +02:00
Jane Tournois 23e9bd31dc propagate the use of sizing field to subfunctions of remeshing 2023-10-24 15:53:16 +02:00
Jane Tournois 291a29d795 (dummy) initial test with input sizing field (compiles) 2023-10-24 15:10:49 +02:00
Jane Tournois a2fda6a878 Merge branch 'Tet_remeshing-c3t3_initialization-jtournois' into Tet_remeshing-with_sizing_field-jtournois 2023-10-24 13:43:31 +01:00
Sébastien Loriot 0f45fedf53 remove unused type 2023-10-18 11:59:30 +02:00
Jane Tournois e071250b4d rename debug output file 2023-10-17 16:24:28 +02:00
Jane Tournois 1a9f39239c improve max_subdomain_index() and max_curve_index() 2023-10-17 15:38:03 +02:00
Jane Tournois 6a6595224c rewrite init_c3t3
for better handling of input triangulation not generated by Mesh_3
2023-10-17 15:14:10 +02:00
Laurent Rineau a5fcf016b7 Merge branch '5.6.x-branch'
# Conflicts:
#	Documentation/doc/resources/1.8.13/BaseDoxyfile.in
#	Documentation/doc/resources/1.9.6/BaseDoxyfile.in
2023-10-16 11:11:07 +02:00
Laurent Rineau 3575673788 Merge pull request #7753 from sloriot/TR3-fix_opti_warning
Fix warning
2023-10-16 11:04:36 +02:00
Jane Tournois f54e190074 fix dimensions of vertices in internal c3t3
it may happen that the mesh output by Mesh_3 has vertices with dimension 2
incident to no surface patch (because the mesh is not dense enough to
provide a good approximation of the surface).
This "wrong" dimension setting may lead to bad behavior of tetrahedral remeshing
2023-10-13 14:14:31 +02:00
Jane Tournois f148d95cce fix default cell_selector for when input is a C3t3
only cells with a subdomain != 0 should be remeshed
2023-10-06 15:17:15 +02:00
Jane Tournois 177b77da63 rename debug output file 2023-10-06 15:14:42 +02:00
Sebastien Loriot 33a1d33690
use error msg 2023-10-03 14:37:01 +02:00
Sébastien Loriot 95d11d45c6 fix warning with optimisers on 2023-10-02 16:12:48 +02:00
Mael Rouxel-Labbé 3ef293b5bd Update to new cgalModels 2023-09-08 11:41:14 +02:00
Mael Rouxel-Labbé e2832dfe6d Merge remote-tracking branch 'cgal/master' into SMDS_3-Fix_stack-GF 2023-09-07 15:59:04 +02:00
Mael Rouxel-Labbé cdb0a1c154 Merge remote-tracking branch 'cgal/master' into SMDS_3-Fix_stack-GF 2023-09-05 13:51:01 +02:00
albert-github 93001308f4 Merge branch 'master' into feature/issue_7395
# Conflicts:
#	Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementPointLocation_2.h
#	Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalRayShoot_2.h
2023-08-18 11:10:42 +02:00
Mael Rouxel-Labbé a935682a82 (Re-)introduce Compact_simplicial_mesh_cell_base_3
Formerly known as Simplicial_mesh_cell_base_3, this cell base
is more efficient in memory, but cannot inherit a base.
2023-07-24 11:05:47 +02:00
Mael Rouxel-Labbé 3ad1825359 Fix not being able to Rebind multiple time SMDS_3 / Tet Remesh Vb/Cb
If you have the following construct:

  class V : public Vb;

  class V_base
  {
    struct Rebind --> V;
  }

then you cannot rebind twice. More vicious, if Vb
can rebind twice multiple times (e.g. it's a T3 Vb),
then it'll silently drop V in the stack, and rebind
only up to the rebound Vb!

Rebinding multiple times happens for example in
Triangulation_hierarchy_3 (Delaunay_triangulation_3
with Fast_locate).
2023-07-21 09:55:01 +02:00
Mael Rouxel-Labbé 796baca1c5 Misc minor cleaning 2023-07-19 22:43:14 +02:00
Mael Rouxel-Labbé ce9fa95e2b Fixes for the doc of tetrahedral remeshing 2023-07-19 22:42:45 +02:00
Mael Rouxel-Labbé c0d0c0d01f Fix API of Remeshing_vertex_base_3:
It needs only to document a traits and a vertex base, not expose
index types as these are relevant to the Simplicial_vertex_base_3
class, which is not the systematic base.

It is a model of RemeshingVertexBase_3, not MeshVertexBase_3

The base needs to be a model of SimplicialVertexBase_3, not
TriangulationCellBase_3

Use the proper Rebind mechanism like the other vertex/cell classes
2023-07-19 22:42:21 +02:00
Mael Rouxel-Labbé 50fa1ee4de Various fixes for Remeshing_cell_base_3:
- Restore its correct API (as in CGAL 5.5): two templates, a traits,
and a cell base.
- It is not a model of SimplicialMeshCellBase_3, but of RemeshingCellBase_3
- It should not hardcode an inheritance to Simplicial_cell_base_3,
but take it as a template paramter's default value.
- Use FT instead of hardcoding 'double'
2023-07-19 22:36:39 +02:00
albert-github 301728a8a9 issue #7395 Improvement of layout of model relations
- Completed the cgalModels part
2023-07-09 12:43:36 +02:00
Sébastien Loriot b66afab814 Merge remote-tracking branch 'sloriot/CGAL-using_c++17_stl' into HEAD 2023-07-05 11:29:35 +02:00
Sébastien Loriot d91d010ee7 add missing includes 2023-06-29 18:07:48 +02:00
Sébastien Loriot f936680600 Merge remote-tracking branch 'cgal/master' into HEAD 2023-06-15 18:48:39 +02:00
Sébastien Loriot 9cdfe70abb Merge remote-tracking branch 'sloriot/CGAL-toward_6.0' 2023-06-15 11:34:09 +02:00
Sébastien Loriot bbc48b2c7e more fixes
use Mesh_3::internal::get_index
std::dynamic_point_cast
std::get_if
2023-06-15 10:57:10 +02:00
Sébastien Loriot 9a0bdb5d96 boost::variant ---> std::variant 2023-06-15 10:57:10 +02:00
Sébastien Loriot 604dcdc435 boost::optional => std::optional 2023-06-15 10:57:09 +02:00
Sébastien Loriot a88af6c0c6 boost::array -> std::array 2023-04-23 22:37:07 +02:00
Laurent Rineau 1dce90ee79 Merge remote-tracking branch 'cgal/master' into CGAL-allow_Epick_with_float-GF 2023-04-07 10:59:51 +02:00
Andreas Fabri 49f7a40593 Use CGAL_Assertion_code() 2023-02-09 09:42:55 +00:00
Sébastien Loriot 9e137bca24 Merge 'cgal/master' 2023-01-31 12:26:55 +01:00
Laurent Rineau 5f8930db8c Merge branch '5.5.x-branch'
# Conflicts:
#	Convex_hull_2/test/Convex_hull_2/ch_test_CH.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SC.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SH.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SS.cpp
#	Straight_skeleton_2/include/CGAL/constructions/Straight_skeleton_cons_ftC2.h
#	Straight_skeleton_2/include/CGAL/predicates/Straight_skeleton_pred_ftC2.h
2023-01-27 21:16:14 +01:00
Laurent Rineau 47ac939ebe Merge pull request #7134 from janetournois/Tet_remeshing-fix_dimensions-jtournois
Tet remeshing - fix vertices `dimension`
2023-01-27 20:52:22 +01:00
Mael 4d22c90474
Merge branch 'master' into feature/bug_documentation_spell_20221113 2023-01-04 10:06:45 +01:00
Jane Tournois 73063a618b Revert "fix init_c3t3 for internal C3t3"
This reverts commit a90488fce5.
2022-12-21 14:42:39 +00:00
Laurent Rineau cf04d506f3 Merge PR "Mesh_3, dump_c3t3: remove verbose flag" #7110 2022-12-14 10:28:21 +01:00
Laurent Rineau 1b6d590125 Merge pull request #7110 from sloriot/TR-remove_verbose_flag
Mesh_3, dump_c3t3: remove verbose flag
2022-12-14 10:18:16 +01:00
Sébastien Loriot f38ff92498 remove verbose flag 2022-12-07 14:29:05 +01:00
Mael 0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113 2022-12-06 22:21:06 +01:00
Laurent Rineau 05b446eb3e Merge pull request #6992 from janetournois/Tet_remeshing-selection_pmap-jtournois
Tet remeshing - `cell_is_selected_map` should be a property map

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/compute_c3t3_statistics.h
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/split_long_edges.h
2022-12-05 12:38:31 +01:00
Laurent Rineau 4b87443efc Merge pull request #6992 from janetournois/Tet_remeshing-selection_pmap-jtournois
Tet remeshing - `cell_is_selected_map` should be a property map

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/split_long_edges.h
2022-12-05 12:20:06 +01:00
Jane Tournois 45609cfc47 unused typedef 2022-11-24 09:30:35 +01:00
Jane Tournois a90488fce5 fix init_c3t3 for internal C3t3
the dimensions stored in vertices are made consistent by scanning
the triangulation/subdomains/patches/features/corners, in this order.
Dimensions are tagged like that : all have dimension 3,
- then surface vertices are overridden with dimension 2,
- feature vertices overridden with dimension 1,
- corner vertices overridden with dimension 0.
2022-11-22 15:09:16 +01:00
Jane Tournois a1850bad44 fix debug display 2022-11-22 15:06:51 +01:00
Jane Tournois 207cd1ad66 add assertions 2022-11-22 11:59:48 +01:00
Jane Tournois 85756cd8ea default cell_selector selects all cells with non-0 subdomain index
not all cells
2022-11-22 11:19:49 +01:00
Jane Tournois ee7d30490b fix compilation in debug code 2022-11-22 11:14:14 +01:00
Jane Tournois 5fd1a8070c add missing is_in_complex() check 2022-11-17 16:34:41 +01:00
albert-github c32b1f4127 spelling corrections
Some spelling corrections (Directories starting with `S` rest - `W`),
2022-11-16 13:22:39 +01:00
Laurent Rineau 92d8d1c805 Merge remote-tracking branch 'cgal/master' into CGAL-allow_Epick_with_float-GF
# Conflicts:
#	Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
2022-11-08 12:11:06 +01:00
Jane Tournois ab96b29f0c cell_selector in flipping step 2022-11-04 11:16:09 +01:00
Jane Tournois 7c8eac05ce add cell_selector to flip_all_edges() 2022-11-03 11:40:42 +01:00
Jane Tournois 1891985a82 update cell selector after collapse 2022-10-28 13:13:36 +02:00
Jane Tournois 7a0cb92e43 fix cell_selector use in flip() 2022-10-28 12:50:23 +02:00
Jane Tournois e1b319bf6a use pmaps for cell selector everywhere 2022-10-28 10:11:57 +02:00
Jane Tournois ff3a47738a use Constant_propert_map 2022-10-28 09:44:32 +02:00
Jane Tournois 95dd353904 transform cell_selector into a property map to be consistent with doc 2022-10-27 18:06:55 +02:00
Andreas Fabri f002f06642 Tetranedral_remeshing 2022-10-13 07:47:13 +01:00
Jane Tournois 2696c11a8f double/float inconsistency 2022-10-11 10:58:08 +02:00