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