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
Sébastien Loriot
861588abe1
Merge 'sloriot/CGAL-std_type_traits' into master
2022-08-03 20:19:51 +02:00
Sébastien Loriot
3fa436459d
BOOST_MPL_ASSERT -> static_assert
2022-06-10 08:46:01 +02:00
Sébastien Loriot
ac8b6d4731
boost::is_same --> std::is_same
2022-06-10 08:18:20 +02:00
Sébastien Loriot
5746e59b34
Merge cgal/master
2022-06-08 23:13:25 +02:00
Jane Tournois
d7759abbb7
add a hidden parameter to allow non-manifold vertices or edges
...
this is to be used only is advanced code that deals with invalid T3
2022-06-08 23:03:50 +02:00
Jane Tournois
a6b48224e7
move sliver cache to RemeshingCellBase_3
2022-06-08 23:02:40 +02:00
Jane Tournois
43e96bfe2a
wip simplicial Cb and Vb
2022-06-08 23:02:39 +02:00
Jane Tournois
f934c2514e
create new concepts and models SimplicialMeshCellBase_3 and SimplicialMeshVertexBase_3
...
todo : document concepts and models
2022-06-08 22:57:25 +02:00
Jane Tournois
355b52d21f
rename TMDS_3 to SMDS_3, end.
2022-06-08 22:57:25 +02:00
Laurent Rineau
f31770b61b
Fix Tetrahedral_remeshing
2022-06-08 22:53:18 +02:00
Sébastien Loriot
c8cbbbfb1d
Merge cgal/master
2022-06-08 22:49:25 +02:00
Sébastien Loriot
5e124e5d5f
Merge cgal/master
2022-06-08 22:43:17 +02:00
Jane Tournois
95b3da51cf
move all MDS_3 to TMDS_3 (with T for Tetrahedral)
2022-06-08 22:35:50 +02:00
Jane Tournois
420165dbe0
use range iterators
2022-06-08 22:15:10 +02:00
Sébastien Loriot
920c35c30e
Merge cgal/master
2022-06-08 21:56:39 +02:00
Jane Tournois
b8da09f2e3
add another version of build_triangulation and fix compilation
2022-06-08 21:46:52 +02:00
Jane Tournois
e86c4027af
move C3T3 headers to MDS_3 new package
...
MDS_3 is "3D Mesh Data Structure"
2022-06-08 21:46:50 +02:00
Jane Tournois
dbd66a5750
avoid dumping bad_cells and statistics when verbose mode ON
2022-03-22 11:38:48 +01:00
Andreas Fabri
1c1d5d194d
Add missing #include
2022-02-17 15:10:40 +00:00
Sébastien Loriot
4ffc949199
replace boost::unordered by std::unordered
...
but in T3, Mesh_3, TDS_3, P3[TM]3
2022-02-03 19:11:12 +01:00
Laurent Rineau
dcea6f3c24
Merge pull request #6243 from janetournois/Tet_remeshing-fix_warning-jtournois
...
Tet remeshing - fix warning
2022-01-21 14:40:14 +01:00
Jane Tournois
84b9d2e77e
fix unused variable warning
...
average angle does not make much sense
2022-01-17 09:51:28 +01:00
Sébastien Loriot
75b03e6c0a
use_default_values() -> default_values()
2022-01-10 18:36:37 +01:00
Sébastien Loriot
6d3176e061
move Named_parameters class in STL_extension
...
helpers stay in BGL because it depends on BGL tags
2022-01-07 15:12:22 +01:00
Sébastien Loriot
a3a0d9a22a
replaces overloads with default parameters (Tetra remeshing)
2022-01-06 15:21:34 +01:00
Mael Rouxel-Labbé
8166579e55
Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_master-GF
2021-10-11 19:58:07 +02:00
Mael Rouxel-Labbé
590ddf8015
Various fixes for pmaps:
...
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
a reference (to avoid `typename PM::reference r = get(m, k)`,
which will take a ref to a temporary if the `reference`
typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
**mutable** property map: the `put()` is `map[k] = v`, which
is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
not a reference in `get(map, key)`. You can have a readable property map
returning a reference through its `get(map, key)`, but if there is
no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
* `value_type& operator[](key&)`
* `ref get(map, const key&)`
* `put(map, const key&, const value_type&)`
and non-mutable lvalue pmap:
* `const value_type& operator[](const key&)`
* `ref get(map, const key&)`
but not everything fits properly...
2021-10-08 15:38:47 +02:00
Sébastien Loriot
4e519a3c7a
move documented IO functions in IO namespace
2021-05-05 13:15:37 +02:00
Sébastien Loriot
70058db9b7
add IO namespace for Mesh_3 package
2021-05-03 15:39:07 +02:00
Sébastien Loriot
f513a791e2
Merge remote-tracking branch 'cgal/5.2.x-branch'
2021-04-21 15:48:36 +02:00
Sébastien Loriot
eef92fbef7
Merge remote-tracking branch 'cgal/5.1.x-branch'
2021-04-21 15:47:06 +02:00
Sébastien Loriot
39367c2313
Merge remote-tracking branch 'cgal/5.2.x-branch'
2021-04-17 11:14:29 +02:00
Jane Tournois
ba695b9ab9
factor should be different depending on the sign of min and max
2021-04-12 16:43:30 +02:00
Jane Tournois
e047d53193
fix index : should not be 1 but i
2021-04-12 15:37:15 +01:00
Jane Tournois
209094f9df
inline indices() to avoid double definition link error
2021-04-02 10:39:45 +02:00
Laurent Rineau
2a263c9f07
Merge pull request #5478 from janetournois/Tet_remeshing-fix_bad_alloc-jtournois
...
Tetrahedral_remeshing - fix bad_alloc for very small input mesh
2021-03-10 10:35:20 +01:00
Laurent Rineau
0ecf7b50b9
Merge pull request #5478 from janetournois/Tet_remeshing-fix_bad_alloc-jtournois
...
Tetrahedral_remeshing - fix bad_alloc for very small input mesh
2021-03-10 09:56:05 +01:00
Jane Tournois
ce8f779a55
remove debug assertion
2021-03-04 14:44:22 +01:00
Jane Tournois
5bb52bf4a4
res[i] could still be 0. Avoid it
2021-03-04 14:43:47 +01:00
Jane Tournois
23791046b7
fix structure of getLUTIndex
2021-03-04 11:55:16 +01:00
Jane Tournois
d456184458
prevent bad_alloc with LUTSize larger than LUT.max_size()
...
this could happen when size of object was very small and cellSize smaller,
e.g. cellSize = 1e-9
thresholding maxMin was not consistent with the size of the object
2021-02-19 16:04:34 +01:00
Dmitry Anisimov
086299c56e
tetrahedral remeshing range loop analysis copy to ref and auto warnings fixed
2021-01-08 10:39:24 +01:00
Laurent Rineau
495e43a656
Merge pull request #5296 from janetournois/Tet_remeshing-fix_cell_selector-jtournois
...
Tetrahedral_remeshing - fix the cell selection
2021-01-06 16:11:22 +01:00
Laurent Rineau
26ed47751e
Merge pull request #5296 from janetournois/Tet_remeshing-fix_cell_selector-jtournois
...
Tetrahedral_remeshing - fix the cell selection
2021-01-06 16:05:06 +01:00
Jane Tournois
b1f3dfaeba
make is_selected(edge) a lot simpler than its naive version
2020-12-18 11:19:35 +01:00
Jane Tournois
0fdfebd57f
split and collapse only edges that were selected by cell_selector
2020-12-17 17:30:17 +01:00
Jane Tournois
7177d80b72
smoothing : move only vertices that are allowed to wrt to cell selector
2020-12-17 17:14:43 +01:00
Laurent Rineau
e96f8468cd
Merge branch '5.1.x-branch' into 5.2.x-branch
2020-12-16 17:52:16 +01:00
Laurent Rineau
db9033d1d3
fix trailing whitespace
2020-12-16 17:52:03 +01:00
Laurent Rineau
5ebf01ede1
Merge pull request #5254 from janetournois/Tet_remeshing-fix_split_on_surfaces-GF
...
Tetrahedral remeshing - fix edge split step
2020-12-16 17:47:56 +01:00
Jane Tournois
2ac22ab592
fix "may be uninitialized" warning
2020-12-11 16:49:56 +01:00
Maxime Gimeno
4607a0fbdf
Fix warning
2020-12-11 14:09:39 +01:00
Jane Tournois
3837f2c1f4
dimension can be 3 even if both end vertices are on patches or feature curves
2020-12-08 14:52:09 +01:00
Jane Tournois
6708614baa
add debug code
2020-12-08 14:41:41 +01:00
Laurent Rineau
7c4a61e27a
Merge pull request #5052 from maxGimeno/CGAL-Fix_warnings_5_1-maxGimeno
...
Fixes for warnings in 5.1
2020-10-09 16:50:14 +02:00
Maxime Gimeno
e8566f2185
Fix ref warnings in tet_remesh
2020-10-05 12:47:45 +02:00
Sebastien Loriot
c54622e9b4
Merge pull request #4976 from janetournois/Tet_remeshing-speedup-GF
...
Tetrahedral Remeshing - speedup
2020-10-02 15:29:24 +02:00
Sebastien Loriot
47d2189f8e
Merge pull request #3268 from afabri/PMP-visitor-GF
...
PMP::triangulate_faces() Add a visitor that allows to map each triangle to its original face
2020-10-02 15:26:05 +02:00
Jane Tournois
49d541e8a3
remove trivial operator= which violates the rule of three/five/zero
2020-09-24 17:57:24 +02:00
Jane Tournois
c9f260e66a
fix unused typedef warning
2020-09-18 14:48:59 +02:00
Jane Tournois
365d7e1bb0
remove unneeded typedefs
2020-09-15 16:06:26 +02:00
Jane Tournois
bfd4e9915f
rename named parameter graph_visitor to visitor
2020-09-15 15:42:24 +02:00
Jane Tournois
66fa7d1d1d
remove remeshing_visitor and use graph_visitor instead
2020-09-15 15:00:06 +02:00
Sébastien Loriot
9650869e2b
add missing macros + license statement
2020-09-10 12:17:59 +02:00
Sébastien Loriot
c70102e7fa
remove BOOST_FOREACH
2020-09-10 12:17:59 +02:00
Jane Tournois
362d00f2bc
remove trailing whitespaces (and extra ;)
2020-09-08 13:32:27 +02:00
Jane Tournois
ec40f42210
avoid using operator[]
2020-09-07 17:48:37 +02:00
Jane Tournois
9d91c3f304
improve verbosity in the end
2020-09-03 15:12:03 +02:00
Jane Tournois
f85ae5783a
use cache value in cells
...
now that the cos formula is fixed, this trick works!
2020-09-03 12:05:31 +02:00
Jane Tournois
6af45bb316
fix cosine formula
2020-09-03 11:51:41 +02:00
Jane Tournois
8fae3519b7
fix comments
2020-09-03 11:26:38 +02:00
Jane Tournois
87e5978a00
use only one small_vector and avoid lots of allocations
2020-08-21 15:44:55 +02:00
Jane Tournois
16cfce5e77
sliver value caching must be wrong, because it degrades min dihedral angle
2020-08-21 11:27:05 +02:00
Jane Tournois
73b6a47947
use only one small_vector and avoid multiple allocations
2020-08-21 09:46:50 +02:00
Jane Tournois
198a60dd03
Merge remote-tracking branch 'cgal/master' into Tet_remeshing-speedup-GF
2020-08-20 12:48:12 +01:00
Jane Tournois
df044c4fb2
fix collapse of edges on surface with only one vertex on a feature
2020-08-13 17:39:46 +02:00
Jane Tournois
915dd02ea1
use the cache value of cells to avoid computing more than once the Dihedral_angle_cosine
...
of a cell
2020-08-07 16:08:42 +02:00
Jane Tournois
12a3aa7605
avoid divisions - everything is >= 0
2020-08-07 15:42:19 +02:00
Jane Tournois
0b29434c15
operator< depends on the sign, and can be computed on square(cos(angle))
...
the comparison is < or > depending on the sign
2020-08-07 15:31:13 +02:00
Jane Tournois
79159faa00
replace cos double value with a struct
...
operator< can be improved in the future
2020-08-07 12:44:15 +02:00
Jane Tournois
32441a4a2a
re-introduce sliver_value() for cos
2020-08-06 10:07:59 +02:00
Jane Tournois
7ba6059074
replace tangent with cosine
...
when abcd is positively oriented, cos(dihedral_angle(abcd)) is
monotonically decreasing from 1 to -1 between 0 and PI,
so we now deal with maximum cos
2020-08-06 10:01:22 +02:00
Jane Tournois
a8155850e1
do not use tan when the criterion is AVERAGE_ANGLE_BASED
2020-08-04 17:40:58 +02:00
Jane Tournois
05b572d8e7
fix order of points to always have positive orientation
2020-08-04 16:57:04 +02:00
Laurent Rineau
ee1ebabf88
Merge pull request #4881 from janetournois/Tet_remeshing-fix_compare_subdomains-jtournois
...
Tetrahedral remeshing - fix compare_subdomains()
2020-08-04 16:25:42 +02:00
Jane Tournois
f15efb78f9
reorder points to always have positive orientation
2020-08-04 14:35:53 +02:00
Laurent Rineau
1454dd6e24
Fix typo
2020-08-03 17:11:23 +02:00
Jane Tournois
a93d3ef9bd
use tan(min dihedral angle) instead of min dihedral angle
...
this is cheaper and atan is monotonic so the comparison leads
to the same conclusion
2020-08-03 13:42:11 +02:00
Laurent Rineau
962b681abd
Merge pull request #4871 from janetournois/Tet_remeshing-add_smoothing_of_features-jtournois
...
Tetrahedral remeshing - smoothing along 1D features
2020-07-31 15:52:56 +02:00
Jane Tournois
03c278b0ce
make smoothing more verbose
2020-07-31 15:14:14 +02:00
Jane Tournois
57a1b128f5
Merge branch 'Tet_remeshing-add_smoothing_of_features-jtournois' into Tet_remeshing-speedup-GF
2020-07-31 11:37:43 +02:00
Jane Tournois
b17fefdd4a
Merge branch 'Tet_remeshing-fix_compare_subdomains-jtournois' into Tet_remeshing-speedup-GF
2020-07-31 09:23:01 +01:00
Jane Tournois
012a78e81c
be lazy in computing incident_cells(vh)
...
try computing incident_cells(v) only once per vertex.
Each flip invalidates the vertices that take part into it,
but the economy is about 25% time
2020-07-30 17:06:04 +02:00
Jane Tournois
6851c7c3ef
break as soon as an edge is found,
...
filter with infinite vertex,
and use cpp11 for loop
2020-07-29 17:17:28 +02:00
Jane Tournois
80c7ec54a7
avoid computing incident_cells(vh) at each loop
2020-07-29 12:22:20 +02:00
Jane Tournois
82a0f6152c
avoid multiplication of calls to incident_cells(vh)
...
by extracting it from the loop
2020-07-28 12:33:18 +02:00
Jane Tournois
993e4b599a
Use a small_vector as the third template arguments of the flat_set
...
That will avoid the memory allocation at each call of the function.
2020-07-28 10:34:10 +02:00
Jane Tournois
9e82356213
fix compare_subdomains
...
compared std::vector were not made unique!
always different in presence of different numbers of incident cells
2020-07-24 16:54:29 +02:00
Laurent Rineau
10f958c8e5
Merge pull request #4863 from janetournois/Tet_remeshing-fix_peeling_slivers-jtournois
2020-07-24 16:22:45 +02:00
Jane Tournois
5698056d6c
fix counting of vertices moves
2020-07-24 11:19:51 +02:00