Commit Graph

677 Commits

Author SHA1 Message Date
Jane Tournois c11cdb7c1c move sizing fields to include/CGAL 2024-04-09 10:54:36 +02:00
Jane Tournois 7aafe9921a get create_adaptive_remeshing_sizing_field() out of class
easier to use, it does not need the full class type `C` with all its
namespace's and template parameters, as
C<Tr>::create_sf(tr)
2024-04-04 12:49:35 +02:00
Andreas Fabri 60a7f92bac polish 2024-04-04 09:33:05 +01:00
Jane Tournois 81174d205a doc and fix types to be consistent with concept 2024-04-04 09:59:05 +02:00
Andreas Fabri 692725f41f Fix tparam 2024-04-04 08:32:00 +01:00
Jane Tournois 6583f9e00a fix the use of Point_with_info (unused function for now) 2024-04-03 08:37:17 +02:00
Jane Tournois 30bfd5aee5 document Uniform_sizing_field 2024-04-03 07:54:21 +02:00
Jane Tournois 2b038cf4c9 remove invalid assertion 2024-04-02 16:19:24 +02:00
Jane Tournois 0beeaae256 fix warning "f not used" 2024-04-02 15:52:44 +02:00
Jane Tournois d0f81b41ad fix misleading indentation 2024-04-02 15:42:29 +02:00
Jane Tournois 0adc97331f remove cout 2024-03-29 14:20:47 +01:00
Jane Tournois 239d17f1b3 fix confusion between far points and default vertex dimension which is -1 2024-03-29 10:39:00 +01:00
Jane Tournois 31829dbd3d fix default ecmap 2024-03-29 09:14:02 +01:00
Jane Tournois acd6028e8f use edge_is_constrained_map in Adaptive_remeshing_sizing_field in demo
and fix its usage!
2024-03-28 17:28:48 +01:00
Jane Tournois 53939bc071 doc 2024-03-28 17:01:41 +01:00
Jane Tournois 0e19978990 unused parameter 2024-03-28 15:55:51 +01:00
Jane Tournois aef0f80336 add maybe_unused 2024-03-28 11:46:35 +01:00
Sébastien Loriot dbdf28a767 add missing include directive 2024-03-27 16:37:15 +01:00
Sébastien Loriot c14ea8894e rename parameters 2024-03-27 15:33:14 +01:00
Sébastien Loriot bec4d2ad17 fix doc 2024-03-27 15:06:49 +01:00
Sébastien Loriot 1eab1c7a4d fix warning 2024-03-27 10:46:09 +01:00
Sébastien Loriot 7205e10f89 fix compilation errors and warnings 2024-03-27 10:36:55 +01:00
Sébastien Loriot 8f973c3cb1 move declaration/definition before using it 2024-03-27 10:19:34 +01:00
Sébastien Loriot a167479f1b add missing template 2024-03-27 08:36:33 +01:00
Sébastien Loriot c4036b33f9 fix warning 2024-03-27 08:29:26 +01:00
Jane Tournois a1ea441e3c 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
#	Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h
2024-03-26 15:38:20 +01:00
Jane Tournois eec7e8102f clean and start documentation 2024-03-26 15:06:07 +01:00
Jane Tournois fb90dcbb1e make edge_is_constrained_map robust to vertices order in pairs 2024-03-26 13:40:35 +01:00
Jane Tournois cb5d347c2d choose nb of neighbors depending on dimension 2024-03-26 12:03:20 +01:00
Jane Tournois d750394de1 store average edge length in the kd-tree of adaptive sizing field
this replaces circumradius and makes it more reliable for remeshing
2024-03-26 11:58:45 +01:00
Jane Tournois 8be3e34c59 deal with flat surface cases where distance is 0 2024-03-26 11:35:14 +01:00
Jane Tournois 4c392b3232 replace C3t3 by T3 2024-03-26 11:16:57 +01:00
Jane Tournois 42decee467 move default property map All_cells_selected to a new file 2024-03-26 11:14:50 +01:00
Jane Tournois 46cc19321e fix projection to get the closest first_intersection(ray) with normal or its opposite
otherwise the first intersection(ray) maybe far away, e.g. on another connected component
2024-03-26 11:12:09 +01:00
Laurent Rineau 89b2f2bc2b Merge pull request #8059 from janetournois/Tet_remeshing-document_peeling-jtournois
Tetrahedral_remeshing - `peel_slivers()`
2024-03-26 10:21:08 +01:00
Jane Tournois 9f2161891b make AABB_tree projection the default and protect MLS projection with macro
CGAL_TET_REMESHING_SMOOTHING_WITH_MLS
2024-03-25 14:51:14 +01:00
Jane Tournois 918f175065 fix collapse condition when boundary remeshing is disabled 2024-03-25 14:31:01 +01:00
Jane Tournois 4c2f38230b useless includes 2024-03-22 17:55:42 +01:00
Jane Tournois 30b9a63eaa add missing include 2024-03-22 16:56:13 +01:00
Jane Tournois 1da3febf5e remove skeleton 2024-03-22 16:25:11 +01:00
Jane Tournois f0352793f3 secure initial calls to is_in_complex() 2024-03-22 15:56:33 +01:00
Jane Tournois 63e2e58dc1 fix compilation (projection with MLS) 2024-03-22 15:14:25 +01:00
Jane Tournois f547b1d9b0 use function input_is_c3t3() 2024-03-22 11:20:16 +01:00
Jane Tournois 6d4af31a8d add an epsilon do decide projection on AABB_tree strategy
+ check that the surface is not pinched at v. If so, do not smooth its position
2024-03-21 15:36:50 +01:00
Jane Tournois a75ab7b7d5 project 1D vertices on an AABB tree of segments 2024-03-21 12:15:49 +01:00
Jane Tournois e396633d27 during smoothing, reproject on an AABB tree of triangles, made from input facets
protected by macro CGAL_TET_REMESHING_SMOOTHING_USE_AABB_TREE for now
2024-03-21 11:53:18 +01:00
Jane Tournois 042b2cbfb9 wip adaptive sizing field 2024-03-18 12:37:15 +01:00
Jane Tournois 2486da42fc deal with non manifold surfaces 2024-03-18 12:36:41 +01:00
Jane Tournois 9597cf6c16 rename All_cells_selected to Complex_cells_selector and move it to its own header file 2024-03-15 10:43:28 +01:00
Jane Tournois cbe0fff26b use Remesher_types and reduce code size 2024-03-07 16:46:32 +01:00
Jane Tournois 0f0e32ab28 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
#	Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h
2024-03-07 15:21:54 +01:00
Jane Tournois 7670f1586c (wip) use one aabb_tree per surface_patch, and the kd_tree, to estimate adaptive size 2024-03-07 15:20:02 +01:00
Jane Tournois c123b01115 add default cell selector to peel_slivers()
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h
2024-03-04 15:02:29 +01:00
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 45ea4541af use helpers 2024-02-22 16:20:10 +01:00
Jane Tournois 85da35de60 Merge remote-tracking branch 'cgal/master' into Tet_remeshing-with_sizing_field-jtournois 2024-02-22 11:25:20 +00: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
Jane Tournois 2da33ac8b6 [sizing] add macros for experimentation average/min/max 2024-02-19 13:40:44 +01:00
Sébastien Loriot bd1d232d40 fix warnings 2024-02-19 10:02:19 +01:00
Jane Tournois d2a2c68880 [sizing] use average size everywhere consistently 2024-02-16 18:19:45 +01:00
Jane Tournois 6ef073472e [sizing] use average sizing in incident cells instead of max and min sizing
for upper and lower size bounds
2024-02-16 15:14:55 +01:00
Jane Tournois b7224a1c71 [sizing] use size_at_midpoint and remove size_at_point 2024-02-16 11:17:14 +01:00
Jane Tournois 008e004d60 [sizing] when sizing for dim < 3 is set to 0, deduce size from neighboring cells 2024-02-16 10:32:29 +01:00
Jane Tournois 1d18cd9edc [sizing] add assertions 2024-02-16 10:31:41 +01:00
Jane Tournois 63e7d78633 Merge branch 'Tet_remeshing-flips_on_surface-jtournois' into Tet_remeshing-wip-jtournois 2024-02-05 08:37:54 +00: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 30bb1c57a0 fix previous merge conflicts 2024-02-02 10:47:37 +01:00
Jane Tournois 72fb087bd5 Merge branch 'Tet_remeshing-flips_on_surface-jtournois' into Tet_remeshing-wip-jtournois
# Conflicts:
#	Tetrahedral_remeshing/examples/Tetrahedral_remeshing/mesh_and_remesh_c3t3.cpp
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/flip_edges.h
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_remeshing_helpers.h
2024-02-02 10:38:06 +01: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 83e12d003b [flip] add third_vertex(f) helper function 2024-02-01 14:03:23 +01:00
Jane Tournois e77760142c [flip] reindent piece of code 2024-02-01 12:34:10 +01:00
Jane Tournois 6829bb3573 [flip] flipBoundaryEdges cleaning 2024-02-01 12:27:57 +01:00
Jane Tournois a979378c8d [flip] add non-manifold edges to the initial edge-complex
this avoids trying to flip them
2024-02-01 11:58:16 +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 39587cda7c [sizing] remove useless comment 2024-01-30 13:46:31 +01:00
Jane Tournois bd5ddfffc7 [collapse] use fallback to other collapse strategies when TO_MIDPOINT fails 2024-01-30 13:45:14 +01:00
Jane Tournois a1dbf857f3 [sizing] use sizing in max-edge-length condition, post-collapse 2024-01-30 13:44:02 +01:00
Jane Tournois b562ffef41 [sizing] move max_dimension_ helper function to helpers header 2024-01-30 12:04:17 +01:00
Jane Tournois 4562440da0 [todo] set as corners the vertices where incident complex edges form a sharp angle 2024-01-30 12:02:57 +01:00
Jane Tournois b433056d68 [flip] check vertices_subdomain_indices[v] == 2 at both endpoints!
and re-write collection of subdomains on boundary
2024-01-30 11:59:57 +01:00
Jane Tournois 41a5ab24b2 [sizing] remove 'high' that does not exist anymore 2024-01-30 11:57:56 +01:00
Jane Tournois 4b3d6bfb93 [flip] fix more warnings 2024-01-26 10:54:21 +01:00
Jane Tournois 352671d4b7 [smooth] fix warnings 2024-01-26 10:15:27 +01:00
Jane Tournois 23d937e907 [flip] fix warnings 2024-01-26 10:15:09 +01:00
Jane Tournois a1fc37d91d [flip] fix verbose mode 2024-01-25 15:50:35 +01:00
Jane Tournois ae7c6704c9 [collapse] remove macro-protection for collapse under angle condition 2024-01-25 15:31:37 +01:00
Jane Tournois c7174e0a30 [smooth] pass only the needed parameters
const ref m_cell_selector is a member of smoother class
2024-01-25 14:48:12 +01:00