Laurent Rineau
e96aaf37ad
Merge branch 'master' into pr/afabri/7410
2024-05-17 23:03:55 +02:00
Laurent Rineau
caee91a6d1
mv new header files from T_3/include to CT_3/include
2024-05-06 23:01:39 +02:00
Laurent Rineau
531853418c
add Constrained_Delaunay_triangulation_vertex_data_3
2024-05-06 22:09:18 +02:00
Laurent Rineau
53eb2b5034
fix SPDX-License-Identifier headers
2024-05-06 11:14:36 +02:00
Laurent Rineau
b42aaefc01
Constrained_triangulation_3: add a skeleton of package and documentation
2024-05-03 23:18:14 +02:00
Laurent Rineau
b7b734106f
indentation
2024-04-26 16:59:40 +02:00
Laurent Rineau
48eaf9c3f4
remove a possible filter failure, when the target is a vertex
2024-04-26 16:57:14 +02:00
Laurent Rineau
90b2aa5d8f
T_3:::copy_triangulation_into_hole postpone *cit++
...
If the output iterator is a function-output-iterator, then the cell is already
correctly constructed.
Also, rename `fit` to `cit`
2024-04-26 16:57:14 +02:00
Laurent Rineau
52393d19a2
small factorization with a lambda expression
2024-04-26 16:56:46 +02:00
Laurent Rineau
75689f325a
use std::invoke (C++17) for IILE
...
*Immediately Invoked Lambda Expression*
Now that CGAL can use C++17 , switch to `std::invoke`
that is more readable that the two small characters `()`
hidden somewhere a few lines below.
With `std::invoke`, we understand straight away that the lambda is
called immediately.
Ref:
https://www.cppstories.com/2016/11/iife-for-complex-initialization/
2024-04-26 16:54:59 +02:00
Laurent Rineau
3f92648e1a
add T_3::is_facet(u, v, w)
2024-04-26 16:52:40 +02:00
Laurent Rineau
3fda4e64c0
Triangulation_3: rewrite the code a little
...
that avoids code like `o_vt_f_pair.second.first`
Backport: master
2024-04-26 16:51:45 +02:00
Laurent Rineau
ab061360f8
add const to understand better the semantic
2024-04-26 16:51:30 +02:00
Laurent Rineau
ce58f38b76
move With_point_and_info_tag to Compact_container.h
2024-04-26 16:36:33 +02:00
Laurent Rineau
952d34c6ea
cosmetic changes (indent, spaces, naming)
2024-04-26 13:09:05 +02:00
Andreas Fabri
53b438eeeb
STL_extension: Add parameter for value type to Prevent_deref
2024-04-26 13:08:06 +02:00
Laurent Rineau
3148a4665c
add CGAL_CAN_USE_CXX20_FORMAT macro for <format> support (C++20)
2024-04-24 17:44:57 +02:00
Laurent Rineau
0fa27bc857
Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau
2024-04-24 16:51:27 +02:00
Laurent Rineau
2cf6303a16
add support for dumping surface mesh after merging facets
2024-04-24 15:49:44 +02:00
Laurent Rineau
9e84694535
reduce filter failures
2024-04-24 15:21:07 +02:00
Laurent Rineau
0315b25fdf
do not reinsert all vertices several times
2024-04-24 14:18:34 +02:00
Laurent Rineau
7ca63c2095
reduce symbols names
2024-04-24 14:16:50 +02:00
Laurent Rineau
9c59169b1d
remove a possible filter failure, when the target is a vertex
2024-04-24 12:05:01 +02:00
Laurent Rineau
67466144bb
Merge pull request #8139 from janetournois/Mesh_3-revert_encroachment_loop-jtournois
...
Mesh_3 - revert encroachment rule modification, and fix infinite refinement
2024-04-22 14:53:50 +02:00
Laurent Rineau
66cfdd5418
use Scope_exit
2024-04-11 17:39:38 +02:00
Jane Tournois
a8debb0d2d
Revert "Fix sometimes creating holes in the C3T3"
...
This reverts commit 06d272169f .
There may be an inconsistency between exact and inexact computations,
in the facet encroachment rule
This code was leading to a local infinite refinement loop during cells refinement
2024-04-11 14:16:41 +02:00
Sébastien Loriot
180dbaeb40
fix dependency updates
2024-04-11 09:51:34 +02:00
Laurent Rineau
4db6bc6d16
Merge pull request #6967 from gdamiand/gsoc2022-EBVs-Mostafa-ashraf19
...
GSoC'22: New CGAL's design to handle basic viewers
2024-04-10 18:04:25 +02:00
Laurent Rineau
8d5984bd1b
Merge pull request #8108 from lrineau/CGAL-simplify_cmake-GF
...
CMake: simplify, now that C++17 is required
2024-04-10 18:04:20 +02:00
Laurent Rineau
2b012c900d
vector<hash_set> instead of a hash_set of pairs
2024-04-10 15:27:52 +02:00
Sébastien Loriot
6a1417d8ba
trigger the update
2024-04-09 13:34:33 +02:00
Laurent Rineau
ce3daa342b
final fix for `is_edge` with the hash set
2024-04-05 16:39:26 +02:00
Laurent Rineau
708711e7a7
Merge pull request #8018 from janetournois/PMP-add_bbox_to_face_graph-jtournois
...
New function `PMP::add_bbox(face_graph)` that adds bbox to face graph
2024-04-05 14:25:17 +02:00
Laurent Rineau
9077dec742
add flag --use-finite-edges-map
2024-04-04 12:36:36 +02:00
Laurent Rineau
fe52551128
fix command line parameters
2024-04-04 11:43:50 +02:00
Laurent Rineau
202d136b16
small optimization: use a Delaunay tr_3 instead of a CDT_3 for the cavity
2024-04-04 11:23:56 +02:00
Laurent Rineau
e0abcf0e9f
protect debug code with a flag
2024-04-04 11:23:10 +02:00
Laurent Rineau
9d63c10175
fix
2024-04-03 17:10:44 +02:00
Laurent Rineau
1711b842f6
WIP work-in-progress
2024-04-03 10:34:49 +02:00
Laurent Rineau
04cf39bd8c
CMake: simplify, now that C++17 is required
2024-03-28 18:38:48 +01:00
Sébastien Loriot
5254404517
Merge remote-tracking branch 'cgal/master' into HEAD
2024-03-27 22:25:41 +01:00
Guillaume Damiand
9a0b8eb824
Merge branch 'master' into gsoc2022-EBVs-Mostafa-ashraf19
2024-03-26 16:25:29 +01:00
Mael Rouxel-Labbé
5e38ed54df
Fix double "Figure" in doc
2024-03-22 17:33:43 +01:00
Laurent Rineau
de34b83d26
cleanup
2024-03-22 10:53:18 +01:00
Laurent Rineau
3d14707b0c
reimplement does_first_triangle_intersect_second_triangle_interior
...
Now use a modified code of the original predicate `do_intersect(Tri_3, Tri_3)`.
2024-03-22 10:52:17 +01:00
Laurent Rineau
379bb331cf
optimizations about vtuning
2024-03-18 17:22:37 +01:00
Laurent Rineau
44b6c51828
introduce Intel ITT for debug interaction with vtune
2024-03-18 15:03:29 +01:00
Laurent Rineau
5c8a7ea1e7
5.1 degrees seems right
2024-03-13 14:59:43 +01:00
Laurent Rineau
9c763033c6
new debug output: all borders of merged facets
2024-03-10 19:14:36 +01:00
Laurent Rineau
199ece2b10
new options/criteria to choose which facets to merge
2024-03-10 19:14:19 +01:00
Laurent Rineau
7ec2873f9a
fix the almost-coplanar regions detector
...
1e-14 was way too small
2024-03-07 12:58:49 +01:00
Jane Tournois
a02ce9ea21
fix dependencies by removing Random_numbers where it's not needed anymore
2024-03-07 09:36:59 +01:00
Laurent Rineau
fccbeaed59
change the distance check between constraint segment and vertex
...
Now it is done up-front, and not during the execution of the process.
2024-03-06 16:26:45 +01:00
Laurent Rineau
a7f97ca017
fix a debug message
2024-03-06 14:21:39 +01:00
Laurent Rineau
8127850dca
fix for 90224.stl
...
-> a face restricted to one point (its 2D triangulation is dimension 0)
2024-03-04 10:11:25 +01:00
Laurent Rineau
d968bc3f4a
fix for data/113344-min3.off
...
There was a hole in the cavity: the set of intersecting cells was not simply connected.
There was a sliver, in the interior of the cavity, that was not intersecting the region.
2024-03-01 16:24:35 +01:00
Laurent Rineau
2fbad9aa4e
fix for error_mesh-p_not_equal_0-min2
2024-02-27 16:52:51 +01:00
Laurent Rineau
283c1a2116
More debug message in cdt.is_valid(true)
2024-02-27 16:39:56 +01:00
Sébastien Loriot
910945eb5f
undo dependency changes + always use core if not disabled
2024-02-27 16:19:28 +01:00
Sébastien Loriot
3b30756cd3
do not depend on CGAL_Core
2024-02-27 14:46:18 +01:00
Laurent Rineau
c000b66db5
two new buggy data sets
2024-02-26 18:07:37 +01:00
Laurent Rineau
e27e5a4541
tweaks of CMake
2024-02-23 17:59:44 +01:00
Laurent Rineau
d1b945fef9
assert/CGAL_assertion
...
That throws an assertion, instead of calling `abort()`.
2024-02-23 17:59:12 +01:00
Andreas Fabri
e4558a4d4b
Merge branch 'master' into CORE-boost_mp_number-GF
2024-02-23 17:04:37 +01:00
Laurent Rineau
7393922e2e
minor debug modifications
2024-02-22 17:01:24 +01:00
Laurent Rineau
eb9672d5be
T_3:::copy_triangulation_into_hole postpone *cit++
...
If the output iterator is a function-output-iterator, then the cell is already
correctly constructed.
Also, rename `fit` to `cit`
2024-02-22 16:13:58 +01:00
Laurent Rineau
6c6d0ed8ff
fix for data/106884-min1.off
2024-02-22 15:01:18 +01:00
Laurent Rineau
5601539bb2
add a data set that is not currently working
2024-02-20 16:42:42 +01:00
Laurent Rineau
1bffff78b8
documentation options
2024-02-20 16:42:21 +01:00
Andreas Fabri
dbb848deb1
Triangulation 2/3: fstream -> sstream
2024-02-16 08:00:02 +00:00
Laurent Rineau
2468ca956e
add --debug-validity
2024-02-15 13:05:23 +01:00
Laurent Rineau
4957209967
better debugging with --debug--regions
2024-02-15 11:57:36 +01:00
Laurent Rineau
fca87120b1
remove debugging lines
2024-02-15 11:46:34 +01:00
Laurent Rineau
0fc61e6b3f
fix the assertions
...
That makes `1435440-min2.off` pass.
2024-02-15 11:45:55 +01:00
Laurent Rineau
2da7b21865
stupid bug
2024-02-15 11:45:08 +01:00
Laurent Rineau
12626fd4b8
add another data ste
2024-02-15 11:44:56 +01:00
Laurent Rineau
228bad53d8
use a border edge of the region to orient the cavity (above/below)
2024-02-14 12:04:14 +01:00
Laurent Rineau
b810fbc118
add new test cases (from previous fixed bugs)
2024-02-14 11:36:39 +01:00
Laurent Rineau
9979b88f1a
small bug fix
2024-02-13 22:50:10 +01:00
Laurent Rineau
411fe9deab
add option --use-new-cavity-algorithm
...
That option allows to use, or not, the previous implementation of the cavity construction, to compare.
2024-02-13 22:45:07 +01:00
Laurent Rineau
81d7fce5bc
new markers for vertices
2024-02-13 14:06:16 +01:00
Laurent Rineau
7903e5d41f
new debug flag
2024-02-13 13:40:15 +01:00
Laurent Rineau
4bef1ac665
move With_point_and_info_tag to Compact_container.h
2024-02-13 13:04:13 +01:00
Laurent Rineau
30149d3a4f
wip
2024-02-11 22:56:51 +01:00
Laurent Rineau
f428cad11c
rename from set_Steiner_vertex_on_face to set_Steiner_vertex_in_face
2024-02-09 15:20:17 +01:00
Laurent Rineau
b51f3af912
WIP: cells markers
2024-02-09 15:11:19 +01:00
Laurent Rineau
9bfbf53fbb
small fix for CDT_3 ctest
2024-02-09 15:07:55 +01:00
Laurent Rineau
ba66191b30
better handling of polygon vertices markers
2024-02-09 14:52:05 +01:00
Laurent Rineau
a195631f1c
fix a bug: use a real marker
2024-02-03 17:36:19 +01:00
Laurent Rineau
66eb2cff14
add --no-repair
2024-02-03 17:31:46 +01:00
Laurent Rineau
69abbc0c6f
Add debug_regions(bool)
2024-02-03 17:29:39 +01:00
Laurent Rineau
a75f4cdaa5
fix for Thingi 243014.stl
2024-01-31 16:50:43 +01:00
Laurent Rineau
3d493adfef
"merge facets" is not by default
2024-01-31 12:26:26 +01:00
Laurent Rineau
27de164679
fix my previous commit about Thingi 243014
2024-01-31 12:25:03 +01:00
Laurent Rineau
3c1359589b
add a test case
2024-01-31 11:32:11 +01:00
Laurent Rineau
eaa5c98289
better debugging message
2024-01-31 11:31:32 +01:00
Laurent Rineau
d46d51d08e
partial fix for Thingi 243014
2024-01-30 22:54:33 +01:00
Laurent Rineau
e8f6b60350
Add debug_missing_region() at runtime
2024-01-30 14:51:38 +01:00
Laurent Rineau
d6ac147b4d
cosmetic renaming of a parameter (during code review with Jane)
...
plus use of `tr.vertices(Edge)` instead of home-made function.
2024-01-30 14:50:32 +01:00
Laurent Rineau
3cfa54ce1a
proper class encapsulation for CDT_vb_3
2024-01-30 14:50:24 +01:00
Laurent Rineau
bbc45c01fa
rename to polygon_border_vertices
2024-01-29 09:34:31 +01:00
Laurent Rineau
a5cf779795
debug debugging of missing faces from cavities
2024-01-26 16:36:31 +01:00
Laurent Rineau
37c5f131ac
add an cmdline option to debug Steiner points
...
That replaces debug macros.
2024-01-26 16:35:52 +01:00
Laurent Rineau
fb70d9dfb7
fix a bug in the dichotomy process to minimize a buggy input
2024-01-25 12:11:00 +01:00
Laurent Rineau
1b24edec3f
re-add the merging of exactly coplanar faces
2024-01-25 10:56:46 +01:00
Laurent Rineau
6336e5b08a
use region growing to detect almost coplanar patches
2024-01-22 23:05:07 +01:00
Sebastien Loriot
722e3825bb
Triangulation_2: Make IO save by changing file names ( #7957 )
...
## Summary of Changes
Change file names to avoid interaction between test cases.
@MaelRL I noticed that the RT test does not read back.
## Release Management
* Affected package(s): Triangulation_2
* Issue(s) solved (if any): fix
[testsuite](https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.0-Ic-141/Triangulation_2/TestReport_gimeno_ArchLinux-clang.gz )
* License and copyright ownership: unchanged
2024-01-19 11:42:43 +01:00
Laurent Rineau
d7032f5e57
new useful debugging messages
2024-01-16 15:28:44 +01:00
Laurent Rineau
73c5a2cf5f
Add With_offset_tag
2024-01-16 15:27:48 +01:00
Laurent Rineau
f753446633
oformat(x, tag) passed the tag value to the Output_rep
...
That allows to pass an integral offset to the displayed time stamps.
The goal is to set it to -1, to display vertices IDs that are identical to the input vertices indices of `the Surface_mesh`.
2024-01-15 09:45:25 +01:00
Laurent Rineau
939fbef9e6
new way to output after conforming
...
This new way ensures that the order of vertices in the output is also the order of vertices in the CDT.
2024-01-15 09:28:00 +01:00
Laurent Rineau
289d475ee6
vertices_in_constraint_end is bidirectional
...
That allows to speed up `constraint_extremities(Constraint_id c_id)`.
2024-01-14 20:41:17 +01:00
Laurent Rineau
c6ac1e890d
Add timestamps to base classes
2024-01-14 20:40:30 +01:00
Guillaume Damiand
3bc56024d3
Merge branch 'master' into gsoc2022-EBVs-Mostafa-ashraf19
2024-01-11 14:08:05 +01:00
Laurent Rineau
2838441b6a
cosmetic change
2024-01-09 17:26:34 +01:00
Laurent Rineau
f422541cb8
faster visitor implementation during the conforming
2024-01-09 17:26:20 +01:00
Laurent Rineau
de6c5f2895
change the loop pattern when there are PLC errors
...
That gave a direct improvement for the four PLC error case from Thingi:
```
name status time error new status new time new error
Thingi10K_104400 FAILED 1.710520 PLC_error FAILED 1.243950 PLC_error
Thingi10K_162100 FAILED 1.970900 PLC_error passed 1.018690
Thingi10K_285604 FAILED 13.096400 PLC_error FAILED 4.543940 PLC_error
Thingi10K_464846 FAILED 321.774000 PLC_error FAILED 16.658500 PLC_error
```
One case `Thingi10K_162100` passed. And the other three got runtime
improvement before they reach the error.
2024-01-05 16:59:55 +01:00
Laurent Rineau
06288f3f04
improve the code reproducibility
2024-01-05 16:38:53 +01:00
Laurent Rineau
c25f443368
fix a regression in speed
2024-01-04 18:17:31 +01:00
Laurent Rineau
ba7725ffd7
fix the CDT testsuite
...
in particular test_CDT_3_insert_constrained_edge_from_EDG_file
2024-01-04 18:08:17 +01:00
Laurent Rineau
3cb8f4dd28
restore compilation with Epeck
2024-01-04 17:18:57 +01:00
Laurent Rineau
ad38e7ac29
Add diagnostic "constrained segment is too close"
2024-01-04 16:27:37 +01:00
Laurent Rineau
09de2165a8
improve diagnostic "Min distance between vertices"
2024-01-04 14:51:10 +01:00
Laurent Rineau
c36bd7559d
extract function encroaching_vertices(va, vb)
2024-01-04 14:50:19 +01:00
Laurent Rineau
7d9e84e685
dump region in case of a fatal PLC error
2024-01-04 14:49:31 +01:00
Laurent Rineau
87f6a352d1
factorize a lambda function
2024-01-04 14:47:45 +01:00
Laurent Rineau
9b843a901d
minor improvement of debug messages
2024-01-04 14:46:53 +01:00
Laurent Rineau
6a7c2fee3c
missing const
2024-01-04 14:45:47 +01:00
Laurent Rineau
ee77fa000f
indentation
2024-01-04 14:43:58 +01:00
Laurent Rineau
96fa9c7d95
CDT_vb_3: regroup data members
2024-01-04 14:42:25 +01:00
Sébastien Loriot
c99b69a0e7
add missing license headers
2024-01-04 13:50:15 +01:00
Sébastien Loriot
e7c26349f2
move header in a package to GPL
2024-01-04 13:36:34 +01:00
Andreas Fabri
e610677ee2
The same for 3D
2024-01-02 17:09:24 +00:00
Sebastien Loriot
caecbe29c7
Replace boost::mpl ( #7813 )
...
- `boost::mpl::if_` --> `std::conditional`
- `boost::enable_if` -> `std::enable_if`
- `boost::mpl::and_` -> `&&`
- `boost::mpl::or_` -> `||`
- `boost::constant::bool_` -> `std::bool_constant`
- ...
2023-12-26 17:33:36 +01:00
Laurent Rineau
62e3e8dc12
port back to C++17
...
The lack of `std::set::contains` is a real pain! Using `count()`
instead reduces the readability of the code.
2023-12-13 16:56:03 +01:00
Laurent Rineau
c41a55f99b
fix indentation
2023-12-13 15:44:51 +01:00
Laurent Rineau
2a74954de9
add timing displays and a --quiet option
2023-12-13 15:00:23 +01:00
Laurent Rineau
0b9133fba3
reduce timings in cases of PLC errors
2023-12-13 14:57:27 +01:00
Laurent Rineau
4297466869
add `--failure-expression`
...
That avoids having to hardcode the assertion expression in the code
2023-12-13 14:56:22 +01:00
Laurent Rineau
10fc714df9
add options to set the epsilon values (in particular to make them 0)
2023-12-13 14:45:58 +01:00
Laurent Rineau
5a628ec88a
Merge pull request #7881 from afabri/Poisson-enable_structural_filtering-GF
...
Poisson Surface Reconstruction: Enable Structural Filtering
2023-12-11 13:56:08 +01:00
Laurent Rineau
3f42717b5a
remove a spurious assertion
2023-12-08 16:05:07 +01:00
Laurent Rineau
934e65cd35
fix the assertion `v->nb_of_incident_constraints < 0`
2023-12-07 11:33:55 +01:00
Guillaume Damiand
bd04b2a68d
Remove space in doc
2023-12-06 17:01:34 +01:00
Laurent Rineau
7037df170e
backup this script change
2023-12-06 14:58:08 +01:00
Guillaume Damiand
03ff679df4
doc draw: move advanced blocks
2023-12-05 14:10:25 +01:00
Laurent Rineau
6e613e08bb
Better labels for Thingi10K test cases
2023-12-05 13:21:32 +01:00
Laurent Rineau
0c8697168f
detect small distances
2023-12-05 13:20:46 +01:00
Guillaume Damiand
df2b9ad172
doc draw pwh
2023-12-05 13:16:54 +01:00
Guillaume Damiand
5b7f499fc1
doc draw polygon
2023-12-05 12:58:30 +01:00