Commit Graph

312 Commits

Author SHA1 Message Date
Sébastien Loriot 7ba4fbcaab std++14 style enable_if 2022-06-07 20:57:57 +02:00
Andreas Fabri ef5bca8d10 Regularized Boolean Set Operations: Help compiler to disambiguate 2022-06-07 17:08:46 +01:00
Sébastien Loriot 5f23e76911 Merge remote-tracking branch 'efifogel/Polygon-fixes-efif' into HEAD 2022-02-01 20:08:56 +01:00
Guillaume Damiand 2bbcabe71b The size of argv array is now 2, ending with nullptr. 2021-11-11 17:23:37 +01:00
Guillaume Damiand ee11c858b5 The size of argv array is changed to 1 in all basic viewers. 2021-11-10 09:59:48 +01:00
Efi Fogel 6fd9388c8c Renamed Construct_general_polygon_with_holes_2 => Construct_polygon_with_holes_2 2021-11-03 18:32:40 +02:00
Efi Fogel 04729e8e34 Renamed Construct_general_polygon_with_holes_2 => Construct_polygon_with_holes_2 2021-11-03 18:29:58 +02:00
Efi Fogel 4dbf509f7c Fixed GeneralPolygonWithHoles_2 concept: requires now nested Polygon_2 type instead of General_polygon_2 2021-11-03 18:16:40 +02:00
Efi Fogel 8eeffb0335 Added a specific comment about backward compatibility 2021-11-03 16:26:15 +02:00
Efi Fogel f17e5386bf Fixed type requirement by GeneralPolygonWithHoles_2 concept 2021-11-03 16:16:43 +02:00
Efi Fogel 46529b376c Fixed name construct_is_unbounded_object() => is_unbounded_object() 2021-11-03 15:18:55 +02:00
Sébastien Loriot 07421357a7 fix phrasing 2021-11-02 11:52:53 +01:00
Sébastien Loriot 08b1457649 add CGAL::CGAL_Basic_viewer target 2021-11-01 11:07:55 +01:00
Laurent Rineau 47132b441b Merge pull request #5944 from dpapavas/draw-polygon-set
Add polygon set drawing functionality.
2021-10-27 17:20:33 +02:00
Laurent Rineau 1ba982096a Merge pull request #5094 from sgiraudot/Boolean_operations-Use_GPS_based_polylines-GF
[Small Feature] Boolean Operations: Use polyline-based GPS
2021-10-07 14:27:23 +02:00
Mael Rouxel-Labbé 521c72d57e Fix typos 2021-10-04 13:34:07 +02:00
Andreas Fabri d968a9efa9 Guard against empty ranges 2021-09-28 16:39:10 +01:00
Dimitris Papavasiliou 29464cb974 Fix polygon set drawing functionality. 2021-09-24 22:16:37 +03:00
Sébastien Loriot 7bf2b5e05c remove unused typedefs 2021-09-24 10:11:13 +02:00
Sébastien Loriot 420f37a365 fix compilation issues 2021-09-23 16:28:23 +02:00
Sébastien Loriot 4151fcb653 split header following update of the doc in e114e44aa9 2021-09-23 13:03:12 +02:00
Sébastien Loriot 36249c0fa0 Merge remote-tracking branch 'cgal/master' into HEAD 2021-09-23 11:07:06 +02:00
Dimitris Papavasiliou 7f04082cfc Add polygon set drawing functionality. 2021-09-10 21:52:46 +03:00
Sébastien Loriot 06c5462675 Merge remote-tracking branch 'cgal/5.2.x-branch' 2021-07-19 07:43:32 +02:00
Sébastien Loriot e599bd44cc fix validity check: holes can be relatively simple 2021-07-08 13:50:18 +02:00
Sébastien Loriot 4e519a3c7a move documented IO functions in IO namespace 2021-05-05 13:15:37 +02:00
Simon Giraudot fbfe5f2679 Add missing return statements 2021-04-01 12:08:15 +02:00
Efi Fogel 3ed74414df Removed constructor of General_polygon_2 from a curve. 2021-03-08 18:50:37 +02:00
Efi Fogel 27e5db14b3 ed missing return type 2021-03-08 18:49:55 +02:00
Efi Fogel 76f44656eb Added missing constructors (from polygon + traits) and used them 2021-03-03 11:29:12 +02:00
Efi Fogel 514f123a75 Fixed back-conversion of polygons 2021-03-03 01:10:14 +02:00
Efi Fogel 95d67c613b Cleaned up; removed test functions (moved to test) 2021-03-03 01:09:51 +02:00
Efi Fogel 9ebe6a821d Added equality operator of general polygons 2021-03-03 01:09:09 +02:00
Efi Fogel 35e03e857a Fixed aggregate operations with conversions 2021-03-02 15:19:03 +02:00
Efi Fogel 42d234b177 Cleaned up 2021-03-01 00:11:14 +02:00
Efi Fogel be3f6f4d0d Fixed typo. Gps_default_traits accepts the input-polygon (not the kernel) as a template parameter 2021-03-01 00:10:28 +02:00
Efi Fogel ba4e67c549 Added missing template parameter 2021-03-01 00:09:52 +02:00
Efi Fogel 5690fb11e0 Fixed the conversions 2021-02-28 19:20:22 +02:00
Efi Fogel dbe7d29863 Fixed convert_polygon() 2021-02-28 19:18:31 +02:00
Efi Fogel 8fa117bcc6 Reinstated back conversions 2021-02-28 12:06:02 +02:00
Efi Fogel fb1d6dea5a Merge remote-tracking branch 'cgal/master' into Boolean_operations-Use_GPS_based_polylines-GF 2021-02-24 12:54:13 +02:00
Efi Fogel 124076bcb4 Merge remote-tracking branch 'cgal/master' into Bso-oriented_side-efif 2021-01-28 17:39:04 +02:00
Efi Fogel f0c9ee6062 Cleaned up 2020-11-30 10:22:19 +02:00
Efi Fogel ec9ab2f33f Cleaned up 2020-11-30 10:16:42 +02:00
Efi Fogel fcd12893e0 Refracted the code a bit. The code that determines whether to use (regular) polygons or polyline-based general polygons should reside in the internal function, and in particular, in functions that do not accept a traits as a parameter. 2020-11-30 10:03:43 +02:00
Simon Giraudot d193f5e165 Add missing include 2020-10-21 10:37:14 +02:00
Simon Giraudot 0b70318c51 Merge remote-tracking branch 'mine/Polygon-Vertex_pair_iterator-GF' into Polygon-Vertex_pair_iterator-GF 2020-10-20 09:01:29 +02:00
Simon Giraudot 97bbb55fb2 Fix is_empty method for PWH 2020-10-05 09:06:56 +02:00
Efi Fogel 15ef09b598 ifference() 2020-10-01 17:37:38 +03:00
Simon Giraudot 4f0648d17b Use Point_2/Point_2 constructor so that it also works with Arr_non_caching_segment_traits 2020-10-01 08:54:47 +02:00
Simon Giraudot 2321bc6ce8 Fix missing overloads + header 2020-08-31 15:45:44 +02:00
Simon Giraudot 927e54ebce Remove useless file 2020-08-31 14:29:01 +02:00
Simon Giraudot d19e11c911 Add all overloads for auto polyline traits with InputIterators 2020-08-31 09:41:19 +02:00
Simon Giraudot 102c8c5399 WIP: overloads for iterator-based variants using transform iterators + enable_if 2020-08-27 15:48:09 +02:00
Simon Giraudot 722b489be3 Move conversion functions in separate file 2020-08-27 13:06:05 +02:00
Simon Giraudot 576114bcf0 Fix missing reference 2020-08-26 16:15:02 +02:00
Simon Giraudot 7a6beefdf7 Implement polygon conversion in output iterator 2020-08-26 15:48:41 +02:00
Simon Giraudot a85549da02 WIP: all boolean operations using polyline traits as default (segment variant can be selected by hand) 2020-08-26 14:33:40 +02:00
Simon Giraudot 76cd9a44fd Use explicit tag types to avoid enable_if / ambiguities 2020-08-26 12:49:40 +02:00
Simon Giraudot 2f82856c40 Deactivate overloads with Traits and implement tag-based traits selection for do_intersect 2020-08-25 15:29:20 +02:00
Simon Giraudot f9ce1721ac Introduce Gps polyline traits 2020-08-25 15:28:54 +02:00
Simon Giraudot 8ac49459d2 More constrained typing 2020-08-25 13:59:31 +02:00
Simon Giraudot 125308e815 Proof of concept using Polyline traits for general BO 2020-08-25 13:49:08 +02:00
Simon Giraudot 1966601897 Replace constructor with point range by constructor with curve 2020-08-25 11:33:29 +02:00
Simon Giraudot 2f5eeb3efc Add point based construction for segment traits + update test 2020-08-25 09:30:00 +02:00
Simon Giraudot 86c9a3d603 Allow converter to handle non-random access iterators 2020-08-24 15:21:32 +02:00
Simon Giraudot daec064aa9 Add general polygon constructor using point iterators 2020-08-24 14:56:03 +02:00
Simon Giraudot cfa91cfa25 Points to x monotone curve iterator for init general polygon with polylines 2020-08-24 13:43:33 +02:00
Simon Giraudot 4f99fe893d Use vertex pair iterator in GPS to avoid constructing Segment_2 objects 2020-08-13 15:37:33 +02:00
Laurent Rineau 14c3b7ec72 Merge pull request #4640 from mglisse/spaceship
C++20 fixes
2020-05-27 16:33:33 +02:00
Marc Glisse e2a77e54b8 More weirdo constructors 2020-05-24 11:18:01 +02:00
Marc Glisse 2756b2ac35 More weirdo constructors 2020-05-24 11:11:32 +02:00
Efi Fogel 6fcbee1fa9 Removed redundant typedef statements 2020-04-21 17:12:21 +03:00
Efi Fogel 7436c149e1 Fixed intersection return type 2020-04-06 01:23:45 +03: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 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
Sébastien Loriot c0edb5ecaa remove CGAL_CXX11 macro usage 2019-07-08 11:42:17 +02:00
Laurent Rineau be0d07d150 Merge pull request #3979 from afabri/CGAL-null_ptr-GF
Replace NULL and Nullptr_t with nullptr and nullptr_t
2019-06-17 14:10:35 +02:00
Laurent Rineau 96912aaa20 Merge branch 'releases/CGAL-4.14-branch' 2019-06-17 13:53:42 +02:00
Laurent Rineau 04bf5e7248 Merge pull request #3998 from sloriot/BO2-fix_outer_ccb_supply
Fix outer ccb supply chain
2019-06-17 13:51:28 +02:00
Sébastien Loriot 4117fcd727 allocate new outer ccb if the initial set is empty 2019-06-13 09:31:02 +02:00
Andreas Fabri 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Mael Rouxel-Labbé 2848158354 Fix typos 2019-05-20 08:54:04 +02:00
Laurent Rineau 90782d4b7f Revert the merge of two pull-requests that target CGAL-4.14-branch
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Sébastien Loriot d60f5645aa replace BOOST_FOREACH by c++ ranged-based for loop
some of the command used for the replacement:
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\(([a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\((const [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\((const typename [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\((typename [<>a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack "boost/foreach.hpp" -l --cpp | xargs sed -i '/boost\/foreach.hpp>/d'
2019-03-29 13:22:15 +01:00
Laurent Rineau 82451a276d Merge pull request #3774 from sloriot/BO2-fix_outer_ccb_set
Fix error in outer CCB setting
2019-03-19 18:26:54 +01:00
Sébastien Loriot 6fc06efd70 fix progation when no inner ccb is adjacent to a outer ccb to be updated 2019-03-15 18:28:18 +01:00
Efi Fogel 07f9ac6430 Fixed the validation of orientation. (This time fixed it right...) 2019-02-23 11:20:56 +02:00
Efi Fogel 58ae1c521b Guarded local variable used only in DEBUG mode 2019-02-19 16:08:55 +02:00
Efi Fogel 2d4a477296 Fixed validation of orientation of a relative simple polygon 2019-02-16 14:27:55 +02:00
Andreas Fabri 4aaf2bb600 Use decltype to find the type of the allocator 2018-04-20 09:39:19 +01:00
Andreas Fabri f0c1d3aab7 more allocator_traits 2018-04-19 14:49:05 +01:00
Andreas Fabri df2e978158 Fix disable/enable warnings; Fix indentation 2018-02-13 14:02:40 +00:00
Sébastien Loriot 483f69728e Refresh branch 2018-02-12 22:21:38 +01:00
Andreas Fabri fb262e4c03 Boolean_set_operations_2 2018-01-18 16:25:50 +00:00
Andreas Fabri 0625e73722 Replace CGAL::Open_hash by boost::unordered_set 2018-01-04 16:47:41 +01:00
Sébastien Loriot 0b5353ca35 add missing identifiers 2017-11-21 13:48:10 +01:00
Efi Fogel 7936109c6c Merge branch 'Aos_2-surface_sweep-efif-old' into Aos_2-surface_sweep-efif
Conflicts:
	.travis.yml
	.travis/packages.txt
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_default_overlay_traits.h
	Arrangement_on_surface_2/include/CGAL/Arr_overlay_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_batched_pl_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_construction_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_insertion_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_overlay_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_topology_traits_2_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_vert_decomp_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_planar_topology_traits_base_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_batched_pl_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_construction_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_insertion_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_overlay_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_vert_decomp_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_batched_pl_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_construction_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_insertion_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_overlay_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_topology_traits_2_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_vert_decomp_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_vertical_decomposition_2.h
	Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_default_planar_topology.h
	Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_global.h
	Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_impl.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_basic_insertion_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_batched_pl_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_construction_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_default_overlay_traits_base.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_insertion_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_no_intersection_insertion_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_overlay_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_overlay_subcurve.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_overlay_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_vert_decomp_ss_visitor.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_meta_traits.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_op.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_op_sweep.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_op_visitor.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_polygon_simplifier.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_polygon_validation.h
	CGAL_ipelets/demo/CGAL_ipelets/arrangement.cpp
	Documentation/doc/Documentation/dependencies
	Installation/include/CGAL/config.h
	Snap_rounding_2/include/CGAL/Snap_rounding_2.h
	Surface_sweep_2/examples/Surface_sweep_2/CMakeLists.txt
	Surface_sweep_2/include/CGAL/Surface_sweep_2/No_intersection_surface_sweep_2_impl.h
	Surface_sweep_2/include/CGAL/Surface_sweep_2/No_overlap_event_base.h
	Surface_sweep_2/include/CGAL/Surface_sweep_2/Surface_sweep_2_utils.h
	Surface_sweep_2/include/CGAL/Surface_sweep_2_algorithms.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Arr_construction_event.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Arr_construction_subcurve.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Arr_insertion_sl_visitor.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_2_visitors.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_curve_pair.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_functors.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_subcurve.h
	Sweep_line_2/include/CGAL/Sweep_line_empty_visitor.h
2017-11-16 16:31:52 +02:00