Commit Graph

909 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé af8ad79dcc Tiny varible name fix 2020-09-22 14:13:18 +02:00
Mael Rouxel-Labbé f82396ece2 Construct_point should grab references whenever possible 2020-09-22 14:13:18 +02:00
Dmitry Anisimov 7ac04fd907 checking the hole simplicity with the extended triangulation projection traits 2020-06-08 14:21:12 +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 dcc4fb1cc1 Merge remote-tracking branch 'cgal/master' into CGAL-move_semantic_for_triangulations-GF
# Conflicts:
#	STL_Extension/include/CGAL/Compact_container.h
2020-05-20 09:46:26 +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
Sebastien Loriot a860a7ea5a
Merge pull request #4404 from MaelRL/CGAL-Optimal_bounding_box-GF
New Package: Optimal Bounding Box
2020-04-16 18:10:58 +02:00
Sébastien Loriot a8f9858099 Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-04-16 16:29:55 +02:00
Mael Rouxel-Labbé c16c1a7ea3 Merge remote-tracking branch 'cgal/master' into CGAL-Optimal_bounding_box-GF 2020-04-10 16:10:11 +02:00
Sébastien Loriot ba42fcb6ca Update branch from master after trailing whitespaces and tabs removal 2020-03-27 08:36:40 +01:00
Sébastien Loriot f8414293d7 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:27:08 +01:00
Sébastien Loriot 24a1bf5c23 Update branch from master after trailing whitespaces and tabs removal 2020-03-26 19:26:44 +01:00
Sébastien Loriot d1a323c730 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:24:14 +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 9f2eafd06e extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:17:02 +01:00
Sébastien Loriot 35b83deffd Update branch from master after trailing whitespaces and tabs removal 2020-03-26 19:16:25 +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 8b153fb495 Merge branch 'cgal/releases/CGAL-5.0-branch'
whitespace+tab removal, merged with option -Xignore-space-change
2020-03-26 14:22:32 +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 8b29d69755 fix warning 2020-03-23 19:38:06 +01:00
Mael Rouxel-Labbé 2556196dad Merge remote-tracking branch 'cgal/master' into CGAL-Optimal_bounding_box-GF 2020-03-23 08:59:49 +01:00
Sébastien Loriot 149c7a4afc Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-03-19 16:29:33 +01:00
Sébastien Loriot d10359d09e Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-03-19 16:27:55 +01:00
Sebastien Loriot e53018d11e
Merge pull request #4565 from MaelRL/Tr-construct_point_return-GF
Triangulation_23: Grab return of construct_point() by reference when possible
2020-03-19 16:25:31 +01:00
Sebastien Loriot 1454b9903c
Merge pull request #4209 from maxGimeno/PMP-Default_pmap-maxGimeno
PMP: Default Property_maps for Index_maps
2020-03-17 18:27:55 +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
Sébastien Loriot 09039464ef restrict partial specialization to avoid grab everything 2020-03-17 17:53:21 +01:00
Mael Rouxel-Labbé d8244fceb4 Replace std::set with boost::container::flat_set 2020-03-13 08:32:40 +01:00
Mael Rouxel-Labbé 100304667d Remove CGAL::internal::boost_::function_property_map
This file was duplicated from BOOST 1.64 because it appeared in a boost
release that was younger than the oldest boost release supported by CGAL
when the file was first required.

The minimum boost version (1.57) now required by CGAL is younger
than the version in which the file appeared in boost (1.51)
and it can thus be removed.
2020-03-12 20:58:44 +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
Mael Rouxel-Labbé fe1fd95d23 Fix always returning by copy when it is possible to return by reference 2020-03-09 15:31:51 +01:00
Mael Rouxel-Labbé 3667550e75 Rename new triangulation IDs initializing functions
To look more like the existing function set_halfedgeDS_items_id()
2020-03-04 12:54:56 +01:00
Mael Rouxel-Labbé d3feda1650 Update IDs getter for triangulation edge / halfedges 2020-03-04 12:06:29 +01:00
Mael Rouxel-Labbé 17f97fc460 Add a function to initialize triangulation IDs 2020-03-04 12:06:19 +01:00
Mael Rouxel-Labbé a449948588 Add (undocumented) edge_ids to T2_face_base_with_id_2.h
This is done because the previous edge IDs can range from 0
to 3*num_faces(tr) + 2, which is greater than num_edges(tr)
and is therefore not very rational.
2020-03-04 11:57:23 +01:00
Laurent Rineau a060fb6396 Fix segfault in the dtor of a moved-from Triangulation_hierarchy_2 2020-02-21 14:23:18 +01:00
Simon Giraudot e4714165f0 Add missing include 2020-02-19 12:40:05 +01:00
Simon Giraudot 5b8d92e08f First version of split_subconstraint_graph_into_constraints() 2020-02-17 10:28:02 +01:00
Laurent Rineau 24082a7114 Fix compilation errors, with a few compiler
```
include/CGAL/Triangulation_hierarchy_3.h:163:23: error: invalid use of 'this' at top level
     noexcept(noexcept(this->Tr_Base::swap(tr)))
                       ^~~~
```

That is actually the subject of a C++ Defect:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1207

Anyway, this was used only for the `noexcept` specification of `swap`
functions, and I no longer use `swap` for the move semantic. I can
remove those noexcept` specifications.
2020-02-12 16:30:26 +01:00
Laurent Rineau 20bb2c8428 Add move-semantic to CT_plus_2 and Tr_hierarchy_2 2020-01-31 16:28:07 +01:00
Laurent Rineau 94be80c2eb fix clang-tidy warnings 2020-01-31 16:27:41 +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
Laurent Rineau d19f79ee0d Merge pull request #4163 from MaelRL/T2-Throw_on_collinear_strongly_intersecting_segments-GF
CDT2: Throw on constraint intersections that do not require constructions
2019-12-05 11:05:47 +01:00
Laurent Rineau b5b507c35f Merge pull request #4213 from lrineau/T2-cleanup_Polyline_constraint_hierarchy_2-GF
Polyline_constraint_hierarchy_2.h: remove the useless point_ data member
2019-12-05 11:05:41 +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 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02: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
Laurent Rineau 502945633c Rename Data to Point, because it must be the type of Vertex::point() 2019-09-10 12:42:03 +02:00
Laurent Rineau b1df25dcf6 Remove the useless point_ data member 2019-09-09 15:49:33 +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
Mael Rouxel-Labbé f3ccb18da0 Fix typo 2019-08-19 17:18:55 +02:00
Mael Rouxel-Labbé 869baed46f Fix not throwing on overlapping constraints 2019-08-19 17:18:29 +02:00
Sébastien Loriot b84297f8f6 update the usage for the new CGAL named function parameters 2019-07-29 09:38:39 +02:00
Sébastien Loriot 25a05e9f4c Merge branch 'CGAL-named_function_parameters-4.14' into master
Conflicts resolved by hand
2019-07-28 23:46:43 +02:00
Sébastien Loriot 2f81a21523 Merge 'CGAL-named_function_parameters' for 4.13-branch into 4.14-branch
Conflicts resolved by hand
2019-07-28 22:30:13 +02:00
Sébastien Loriot 1f8065c6c3 Merge pull request #3885 from MaelRL/PMP-Locate-GF
PMP: Add locate.h and rewrite Triangulation_2 graph traits
2019-07-18 16:40:49 +02:00
Sébastien Loriot 560c77f567 rename named function parameter class 2019-07-15 06:25:02 +02:00
Laurent Rineau dc02598a5c Merge pull request #4016 from gdamiand/CGAL-more_viewers-gdamiand
CGAL: more viewers
2019-07-10 14:22:50 +02:00
Laurent Rineau c0ba28f80a Merge branch 'releases/CGAL-4.14-branch' 2019-07-03 11:18:20 +02:00
Laurent Rineau e79bfd5d03 Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-07-03 11:10:03 +02:00
Mael Rouxel-Labbé f68141a6d3 Merge branch 'PMP-Locate-GF-old' into PMP-Locate-GF 2019-07-01 11:28:25 +02:00
Laurent Rineau dbb1cb6c9b Merge pull request #3974 from afabri/Triangulation-add_ranges-GF
Triangulation_{2,3):  Add ranges
2019-07-01 11:16:05 +02:00
Andreas Fabri aeac816801 Triangulation_2: Fix remove_vertex_from_constraint-GF 2019-06-26 14:34:41 +02:00
Andreas Fabri c1f337d585 Triangulation_2: Fix CDT_plus_2::remove_constraint() 2019-06-20 12:17:15 +02:00
Guillaume Damiand 67307dcead Merge master to remove conflicts; plus rephrase draw documentation following Sebastien comments. 2019-06-19 15:48:10 +02:00
Mael Rouxel-Labbé 7f6cb0411c Merge branch 'PMP-Locate-GF-old' into PMP-Locate-GF 2019-06-18 08:20:16 +02:00
Mael Rouxel-Labbé d75821f27a Rename template parameter to help MSVC
Seems like MSVC gets confused between 'Tr' being both a template paramter
and a typedef in the class being passed as template parameter.
2019-06-17 08:33:23 +02:00
Andreas Fabri 1e1bfa1675 constness 2019-06-15 22:30:47 +02:00
Mael Rouxel-Labbé a189e82686 Cache a descriptor within the iterators so operator*() can return a reference 2019-06-14 10:47:20 +02:00
Mael Rouxel-Labbé 0ea40f7602 Add missing 'const' in conversion operator 2019-06-14 10:46:46 +02:00
Andreas Fabri 7a49b48019 Add code and test for all_edges() 2019-06-12 09:23:57 +02:00
Andreas Fabri c34536be24
Apply suggestions from code review
Co-Authored-By: Mael <mael.rouxel.labbe@geometryfactory.com>
2019-06-05 17:26:37 +02:00
Andreas Fabri f7b7b9957f Merge remote-tracking branch 'cgal/master' into CGAL-null_ptr-GF 2019-06-05 14:47:11 +02:00
Laurent Rineau 39c8f7ae1f Merge pull request #3950 from afabri/Triangulation_23-PointWithInfo-GF
2D and 3D Triangulations:  Unify insertion of range of points with info
2019-06-05 11:20:23 +02:00
Andreas Fabri 7111518cb0 Fix usage of Vertices_in_constraint 2019-06-05 08:02:19 +02:00
Andreas Fabri 5532b84b4f nullptr_t -> std::nullptr_t 2019-06-05 07:28:56 +02:00
Andreas Fabri e2d19b0c8d Replace NULL and Nullptr_t with nullptr and nullptr_t 2019-06-04 23:45:44 +02:00
Andreas Fabri 22a8edd750 doc 2019-06-04 16:52:33 +02:00
Andreas Fabri 70720e224f Add documentation for T2 2019-06-04 16:32:30 +02:00
Andreas Fabri 785ae04e0b Add ranges to Regular_triangulation_2 2019-06-04 12:45:42 +02:00