Commit Graph

118 Commits

Author SHA1 Message Date
Laurent Rineau c84fab4d08 Detect Exact_kernel *and* exact_kernel() 2022-06-17 17:11:52 +02:00
Laurent Rineau 9bc4918853 Better implementation of can_construct_almost_exact_intersection_v 2022-06-03 14:31:56 +02:00
Laurent Rineau 258dd55c03 Make it work with the projection traits 2022-06-02 16:17:26 +02:00
Laurent Rineau 575f7a42fe Move exact_intersection_point back to CT_2 2022-06-01 20:31:22 +02:00
Laurent Rineau 8ba010f760 Factorize the insertion of the intersection point 2022-06-01 14:42:01 +02:00
Laurent Rineau 910c930ede Better usage of the dispatch on `itag` 2022-06-01 12:26:50 +02:00
Laurent Rineau 136c6e50f5 Fix typo 2022-06-01 12:01:06 +02:00
Laurent Rineau 53b4878a94 Use exact FT instead of exact Kernel 2022-05-31 18:09:00 +02:00
Laurent Rineau feaf6a4ca2 Add Kernel::Construct_exact_intersection_point_2 2022-05-31 16:40:34 +02:00
Laurent Rineau 70bbf644a1 Ensure pi in the union of the two triangles
If `pi` is the union of the two triangles incident to the constrained
edge `[vcc, vdd]`, then the reinsertion of  `[vcc, vi]` and `[vi, vdd]`
cannot trigger new intersections.
2022-05-25 15:47:27 +02:00
Laurent Rineau 9ab9cdf898 Add comments 2022-05-25 14:29:08 +02:00
Laurent Rineau 1b4db96562 Disable the previous workaround 2022-05-24 16:53:30 +02:00
Laurent Rineau dd299873af Add comments 2022-05-24 16:53:01 +02:00
Laurent Rineau 976e8e7691 Add a check intersection_not_in_the_two_triangle 2022-05-23 16:12:54 +02:00
Sébastien Loriot 4e519a3c7a move documented IO functions in IO namespace 2021-05-05 13:15:37 +02:00
Andreas Fabri 2b77481cd4 Move a typedef to where it is used 2021-01-07 10:31:14 +00:00
Andreas Fabri 2e24249f13 Triangulation_2: Change the result type of the Intersect_2 functor 2020-12-04 16:44:22 +00:00
Sebastien Loriot bdc2f3e0db
Merge pull request #5076 from lrineau/Triangulation_2-improve_CDT_plus_2-GF
Triangulation_2: improve CDT_plus_2
2020-10-20 13:28:12 +02:00
Laurent Rineau e37c290841 Better debug messages 2020-10-15 15:08:21 +02:00
Laurent Rineau 871c97273a Merge pull request #4496 from lrineau/CGAL-move_semantic_for_triangulations-GF
Add move-semantic to Compact_container and Triangulations
2020-06-03 16:23:22 +02:00
Laurent Rineau 20bc78a7d7 Merge pull request #4726 from afabri/Mesh_2-deterministic_V2-GF
Mesh_2: Make it deterministic  V2
2020-05-27 16:33:28 +02:00
Laurent Rineau 14b18f81ee Merge pull request #4735 from lrineau/Triangulation_2-fix_CDT_2_degenerate_case-GF
Fix a bug in <CGAL/Constrained_triangulation_2.h>
2020-05-27 16:33:21 +02:00
Laurent Rineau a8fca35b1d Merge pull request #4735 from lrineau/Triangulation_2-fix_CDT_2_degenerate_case-GF
Fix a bug in <CGAL/Constrained_triangulation_2.h>
2020-05-27 16:32:49 +02:00
Laurent Rineau 0ea385712f Fix compatibility with C++03 2020-05-22 14:52:18 +02:00
Laurent Rineau 3cd52cdc3e Fix a bug in <CGAL/Constrained_triangulation_2.h>
The function parameter was locally shadowed by a local `int i`
variable!

Then the edge `(f, i)` in the call `remove_constrained_edge(f, i)` was
the wrong one!

The bug was introduced by ecfd82e287,
ten years ago.

The bug was only triggered on degenerated cases, when two constraints
intersect, but the code failed to compute the intersection. Then, if
the intersection vertex `vi` was either `vaa` or `vbb` (and not `vcc`
or `vdd`), then the edge `(f, i)` was the wrong one.
2020-05-19 17:25:10 +02:00
Laurent Rineau 12c0ec0935 New debug code in <CGAL/Constrained_triangulation_2.h>
... tested in `test/Triangulation_2/test_cdt_degenerate_case.cpp`.
2020-05-19 17:25:10 +02:00
Andreas Fabri 243a8b68c9 Add using and typedef 2020-05-18 15:27:59 +01:00
Andreas Fabri 8a53e00155 polish 2020-05-15 15:27:02 +01:00
Andreas Fabri 7a6bdc1946 Mesh_2: make it deterministic 2020-05-15 14:16:56 +01:00
Sébastien Loriot 86e25f7e71 Update branch from master after trailing whitespaces and tabs removal 2020-03-26 19:23:54 +01:00
Sébastien Loriot 8bb22d5b2c extra run of the script to remove tabs and trailing whitespaces
right after the merge of the 5.0 release branch

+ manual fix of the files (indentation was changed in the meantime):
   * Spatial_sorting/include/CGAL/Multiscale_sort.h
   * Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Sébastien Loriot ef6949419f Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-03-17 18:16:39 +01:00
Sébastien Loriot bda5680629 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-03-17 18:13:56 +01:00
Mael Rouxel-Labbé 1c622e0ba5 Base CDT2's edge sets on geometry to ensure determinism
When using face addresses, we do get the same combinatorics and
geometry in the result, but it is possible to create
different TDS' from one run to another, with a given face
not having the same order of points in memory.
2020-03-12 13:11:32 +01:00
Laurent Rineau 75ec5c0da7 Add move-semantic to T_2, CT_2, Dt_2, and CDT_2
Still todo: `Constrained_triangulation_plus_2`, and
`Triangulation_hierarchy_2`.
2020-01-31 15:48:45 +01:00
Laurent Rineau 14b8930f79 Fix a clang-tidy warning by using nullptr instead of 0 2020-01-31 15:48:45 +01:00
Andreas Fabri 48fedbae06 Typos: splitted -> split 2019-12-11 16:57:34 +01:00
Mael cf83a22e2d
Merge branch 'master' into T2-Throw_on_collinear_strongly_intersecting_segments-GF 2019-12-02 16:32:29 +01:00
Sébastien Loriot 254d60f642 First pass on removing license notice in header for GPL files 2019-10-19 15:23:19 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Mael 962e8b10a6
Fix typo 2019-10-03 08:12:16 +02:00
Mael Rouxel-Labbé ea8e6f3c98 Update CDT2 intersection tag documentation 2019-09-19 18:32:58 +02:00
Mael Rouxel-Labbé 7a50939809 Deprecate No_intersection_tag
Introduce two new tags instead, to make the behavior change clearer.

Default tag for CDT2 is changed to keep the same behavior as before
(what was called 'No_intersection_tag' and is now called
'No_constraint_intersection_requiring_constructions_tag')
2019-09-19 18:11:33 +02:00
Mael Rouxel-Labbé 9b2a7f09d7 Merge branch 'T2-Throw_on_collinear_strongly_intersecting_segments-GF-old' into T2-Throw_on_collinear_strongly_intersecting_segments-GF 2019-09-19 15:50:49 +02:00
Mael Rouxel-Labbé e955c38215 Add a new tag allowing constraints to intersect if no construction is required 2019-08-22 12:44:16 +02:00
Mael Rouxel-Labbé 013272a466 Fix not throwing on T-like segment intersection (extremity on interior) 2019-08-19 17:55:39 +02:00
Mael Rouxel-Labbé 59e0e87e24 Readability (no real changes) 2019-08-19 17:55:26 +02:00