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
Sébastien Loriot
8cdfad0d08
add missing URL and Id tags
2017-11-15 22:58:57 +01:00
Sébastien Loriot
ee57fc2d6c
add SPDX identifier for files under the GPL-3+ license
2017-11-12 10:17:51 +01:00
Efi Fogel
984feb6382
Fixed header guard
2017-08-04 17:54:34 +03:00
Efi Fogel
206a1e3f06
Ops. Refracted
2017-07-11 17:42:23 +03:00
Sergey Fedotov
cc2f0e2a40
Boolean_set_operations_2: Fix insert to Gps
2017-07-10 16:56:00 +03:00
Efi Fogel
6fdfe96c08
Substituted 'sl' (which stands for sweep-line) with 'ss' (which stands for surface-sweep)
2017-07-09 08:01:02 +03:00
Efi Fogel
0a91b2809b
Added rebing to construction helpers to allow rebinding with derived geometry traits. Ranemd sweep-line with surface-sweep. Fixed the regularized Boolean operations to use the new heleper/visitor/sweep scheme. Cleaned up the code.
2017-07-07 15:22:33 +03:00
Efi Fogel
3e6de6b439
Renamed sweep-line to surface-sweep and cleaned up
2017-05-27 12:30:41 +03:00
Sébastien Loriot
deb9d984f5
Merge remote-tracking branch 'cgal/releases/CGAL-4.9-branch'
2017-03-29 13:23:05 +02:00
Sébastien Loriot
09f5a176b6
fix a bug when removing redundant edges after an overlay for a boolean operation
...
inner ccbs and outer ccb were reused to avoid a reallocation. However,
since the face field of inner/outer ccbs are needed will reassign them,
we now delay the setting of the new face for the ccbs to avoid
overwritting the face field
2017-03-27 16:28:37 +02:00
Sébastien Loriot
50510c05ea
add include directive for license of all GPL header files
...
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
grep -v Operations_on_polyhedra | \
grep -v Algebraic_kernel_for_circles | \
grep -v Algebraic_kernel_for_spheres | \
grep -v Polyhedron_IO`;
do
echo $i
python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Michael Hemmer
ca7962443a
fix namespace issue
2016-12-29 13:25:05 -08:00
Mael Rouxel-Labbé
2038e558b2
Fixed typos in doc and comments
2016-12-09 11:27:17 +01:00
Sébastien Loriot
befe820313
move Polygon_with_holes_2 in the Polygon package
...
with the agreement from TAU
2016-10-03 15:32:31 +02:00
Andreas Fabri
4344158dcd
Fix package Boolean_set_operations_2: include headers
2016-09-30 15:22:29 +02:00
Guillaume Damiand
61f812a711
Replace os.iword(IO::mode) by get_mode(os)
2016-03-09 10:37:57 +01:00
Sébastien Loriot
434fb62b88
replace the flooding algorithm by an iterative method to flag ccbs
...
the former algorithm was buggy
2016-01-21 21:34:08 +01:00
Sebastien Loriot
91dd3e6a1e
Merge pull request #369 from sloriot/AOS-removal_optimisation-efifogel_sloriot
...
Arr_2: removal optimisation
2015-10-22 08:49:46 +02:00
Sébastien Loriot
1fa107c8c4
deallocate is only called if the number of curves is not 0
2015-10-07 17:01:55 +02:00
Sébastien Loriot
cbbd23d7f3
remove extra typename
2015-10-06 15:17:07 +02:00
Sébastien Loriot
cddf8c3ab8
use pointer of simplices to be more consistant
2015-10-06 15:17:06 +02:00
Sébastien Loriot
adbd23fa23
use an integer flag in the halfedge instead of obscure functions
2015-10-06 15:17:00 +02:00
Sébastien Loriot
4517d99c1c
use an id instead of an internal handle
2015-10-06 10:55:21 +02:00
Efi Fogel
3662d9e0a2
Included CGAL/Union_find.h
2015-09-29 18:15:21 +03:00
Sébastien Loriot
d81b0b4545
update face type to give access to the ccb containers
2015-09-27 15:48:14 +02:00
Sébastien Loriot
e6c2511ef6
name get_base similarly to the static arrangement functions
2015-09-27 15:30:35 +02:00
Sébastien Loriot
9968192330
enrich Arr_accessor of some functions to allow dcel manipulations
2015-09-27 15:30:02 +02:00
Sébastien Loriot
752ddd3729
remove the alternative version that is now slower that the new edge removal
2015-09-27 13:39:27 +02:00
Sébastien Loriot
a273738e8a
force to keep the unbounded face, even if not the master of its set
2015-09-26 15:42:35 +02:00
Sébastien Loriot
e3f9788555
add an optimization in case the boolean operation result is empty
2015-09-26 15:42:35 +02:00