Commit Graph
453 Commits
Author SHA1 Message Date
Laurent Rineau 89c8b9dec9 Merge pull request #8040 from janetournois/Tet_remeshing-add_corners-jtournois
Tetrahedral_remeshing - add `vertex_is_constrained_map` to set input corners
2024-02-28 10:56:50 +01:00
Jane Tournois 26639f4c29 add missing typedef 2024-02-19 16:57:15 +01:00
Jane Tournois e190f302ca add vertex_is_constrained_map to tetrahedral_isotropic_remeshing()
and to convert_to_triangulation_3(), to collect them
2024-02-19 15:09:11 +01:00
Sébastien Loriot bd1d232d40 fix warnings 2024-02-19 10:02:19 +01:00
Jane Tournois e2ef33f432 cleaning
- remove useless comments
- add debug early exits for each type of surface flips
- rename variables
- use c++ for loops
2024-02-02 16:19:57 +01:00
Jane Tournois ff03290b29 re-insert constraints after split 2024-02-02 15:10:21 +00:00
Jane Tournois c0ea678cde collapse was leaving some complex edges behind
remove from complex the edge that is about to be collapsed
2024-02-02 10:13:54 +00:00
Jane Tournois 33b00d679f reduce debug code 2024-02-01 22:05:46 +01:00
Jane Tournois 854e00e639 [flip] add third_vertex(f) helper function
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h
2024-02-01 14:43:44 +01:00
Jane Tournois 16abfe9958 [flip] reindent piece of code
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2024-02-01 14:43:21 +01:00
Jane Tournois c6ba155a38 [flip] flipBoundaryEdges cleaning
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2024-02-01 14:42:37 +01:00
Jane Tournois ac3e35477d [flip] flipBoundaryEdges cleaning
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2024-02-01 14:41:37 +01:00
Jane Tournois 8941557a6d [flip] add non-manifold edges to the initial edge-complex
this avoids trying to flip them
2024-02-01 14:27:10 +01:00
Jane Tournois f505ebb2de rewrite init_c3t3
for better handling of input triangulation not generated by Mesh_3

# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h
2024-02-01 14:26:06 +01:00
Jane Tournois fd7c4113e5 [todo] set as corners the vertices where incident complex edges form a sharp angle
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h
2024-01-30 17:02:11 +01:00
Jane Tournois 83d99a507a [flip] check vertices_subdomain_indices[v] == 2 at both endpoints!
and re-write collection of subdomains on boundary
2024-01-30 17:02:01 +01:00
Jane Tournois 302f8e8b2e [flip] fix more warnings
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
2024-01-30 17:02:01 +01:00
Jane Tournois 11545be57d [flip] fix warnings 2024-01-30 17:01:40 +01:00
Jane Tournois 03ad75dbcb [flip] fix verbose mode 2024-01-30 17:01:39 +01:00
Jane Tournois d36cb8c29b verbose mode cleaning 2024-01-18 12:09:46 +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 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