Commit Graph

319 Commits

Author SHA1 Message Date
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
Sébastien Loriot 9db6cc2465 if more inner ccb are created by edge removal, then we create new in the dcel 2015-09-26 13:34:52 +02:00
Sébastien Loriot c354e37479 fix the flooding algorithm: the flooding should also go through outer_ccbs 2015-09-26 09:45:50 +02:00
Sébastien Loriot 621a134f3a add an alternative way to remove edges by remove all elements at the same time
Here is the output of benchmark program polygon_set_2_join.cpp on my machine

current version (polygon_set_2_join):
   Timer for join is 0.316
   Timer for remove_redundant_edges is 0.08799999999999997
   Timer for _reset_faces is 0
Time for 402 grid crossing polygons 0.404

   Timer for join is 1.512
   Timer for remove_redundant_edges is 0.008000000000000007
   Timer for _reset_faces is 0
Time for 1000 random polygons 1.52s

   Timer for join is 3.108
   Timer for remove_redundant_edges is 0
   Timer for _reset_faces is 0
Time for 100000 nested polygons 3.108s

   Timer for join is 6.103999999999999
   Timer for remove_redundant_edges is 0.01200000000000045
   Timer for _reset_faces is 0.003999999999999559
Time for 40000 disjoint polygons 6.119999999999999s

current version (polygon_set_2_join 2):
   Timer for join is 0.636
   Timer for remove_redundant_edges is 0.1719999999999999
   Timer for _reset_faces is 0
Time for 566 grid crossing polygons 0.8079999999999999

   Timer for join is 3.124000000000001
   Timer for remove_redundant_edges is 0.01199999999999868
   Timer for _reset_faces is 0
Time for 2000 random polygons 3.135999999999999s

   Timer for join is 6.892000000000001
   Timer for remove_redundant_edges is 0
   Timer for _reset_faces is 0
Time for 200000 nested polygons 6.892000000000001s

   Timer for join is 32.16799999999999
   Timer for remove_redundant_edges is 0.04800000000000182
   Timer for _reset_faces is 0.008000000000002672
Time for 160000 disjoint polygons 32.224s
2015-09-18 16:21:20 +02:00
Sébastien Loriot 000def03c7 create the arrangement from scratch only if there are many edges to remove
this update the CGAL_JOIN_CREATE_AN_ARRANGEMENT version.
The benchmark program polygon_set_2_join.cpp is now better
using the CGAL_JOIN_CREATE_AN_ARRANGEMENT version.
I've put 2 as weight parameter but it should be fine tune
to better match the cost of removing an edge
2015-09-04 18:44:00 +02:00
Sébastien Loriot b916dbaa36 variant for joining polygons protected by CGAL_JOIN_CREATE_AN_ARRANGEMENT
this code is faster when the input contains many hole to relocate
but is bit slower on disjoint polygon for example.

This is a temporary commit to start the work with Efi

Here is the output of benchmark program polygon_set_2_join.cpp on my machine

current version (polygon_set_2_join):
  Time for 402 grid crossing polygons 10.184
  Time for 1000 random polygons 1.1s
  Time for 100000 nested polygons 2.544s
  Time for 40000 disjoint polygons 5.18s
CGAL_JOIN_CREATE_AN_ARRANGEMENT version (polygon_set_2_join):
  Time for 402 grid crossing polygons 1.216
  Time for 1000 random polygons 1.108s
  Time for 100000 nested polygons 2.572s
  Time for 40000 disjoint polygons 5.891999999999999s

current version(polygon_set_2_join 2):
Time for 566 grid crossing polygons 44.416
Time for 2000 random polygons 2.263999999999996s
Time for 200000 nested polygons 5.82s
Time for 160000 disjoint polygons 28.86000000000001s

CGAL_JOIN_CREATE_AN_ARRANGEMENT version (polygon_set_2_join 2):
Time for 566 grid crossing polygons 2.28
Time for 2000 random polygons 2.248000000000001s
Time for 200000 nested polygons 5.68s
Time for 160000 disjoint polygons 32.036s
2015-09-04 15:08:20 +02:00
Laurent Rineau 91bca286d3 Fix warnings with CGAL_USE
All those variables were unused only if CGAL_NDEBUG was
defined. CGAL_USE can solve that.
2015-08-19 17:37:46 +02:00
Efi Fogel 0f7cb5c709 Merge branch 'MS_2-of_holes-efif-old' into MS_2-of_holes-efif
Conflicts:
	Arrangement_on_surface_2/include/CGAL/Arr_segment_traits_2.h
	Documentation/biblio/cgal_manual.bib
	Minkowski_sum_2/test/Minkowski_sum_2/test_Minkowski_sum.cpp
2015-05-03 11:41:36 +03:00
Sébastien Loriot 5b9be0f8c7 workaround ambiguous call in kernel intersection functions when including BSO_2 2014-12-11 16:33:29 +01:00
Efi Fogel 90c16905b1 Made all traits const. Pass traits as const reference 2014-10-25 00:37:54 +03:00
Efi Fogel 7af4a1e05a Added destructor 2013-12-06 16:09:38 +02:00
Efi Fogel d92ba7cb5b removed unnecessary new (resolved leak). 2013-12-06 12:42:36 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Efi Fogel 57101ce35d Integrated with a recent version master 2013-07-14 14:40:09 +03:00
Andreas Fabri b6dfb6c41f virtual function of derived class must match the API of the base class 2013-02-26 07:10:26 +01:00
Andreas Fabri be1e1738c2 static_casts and int -> size_t in Arrangement and Boolean Set Operations 2013-02-14 13:01:58 +01:00
Andreas Fabri 99968b0461 Add static_cast<int> 2013-02-08 13:01:19 +01:00
Laurent Rineau d19578725b Fix warnings 2013-02-07 18:15:23 +01:00
Andreas Fabri c029f702a3 use more types 2013-02-07 11:02:14 +01:00
Andreas Fabri 61afcbbd9b replace define 2013-02-06 20:09:12 +01:00
Philipp Möller 71ea8e6e22 Minimal boost includes
Replace type_traits.hpp and utility.hpp with the respective
fine-grained includes.
2012-12-14 18:13:59 +01:00
Eric Berberich 1102c1994e Internal _insert_xyz function get a more intuitive signature
This change is motivated by other internal function that have a
similar signature already. Example: prev1->cv<-prev2+cmp is now 
he_to->cv,cv_dir->he_away
2012-10-23 12:55:25 +00:00
Eric Berberich 13f17350f5 adaptions to new signatures of internal insertion functions
question open: Do we have to care about swapping of predecessors
halfedges, or do we have to disallow it?
2012-08-06 12:53:40 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Michael Hemmer d93ed35b8b added missing Multiplicity 2011-08-18 09:08:58 +00:00
Efi Fogel b4084a7765 cleanup 2011-06-22 14:09:56 +00:00
Eric Berberich a7a06c4e2b replaced Arr_..._side_category with :.._side_category 2011-05-31 18:08:54 +00:00
Marc Glisse 154a2dd729 Revert last commit, sorry 2011-03-13 11:42:28 +00:00
Marc Glisse fab4d9c26c add missing operator 2011-03-12 09:59:43 +00:00
Sébastien Loriot 0ebdccfa4e update URL and Id tag 2011-03-02 14:59:51 +00:00
Laurent Rineau 7106e69e7a Fix keyword $URL$ and $Id$: "$URL: " and "$Id: " are not correct Subversion keywords 2010-06-29 12:47:18 +00:00
Ophir Setter 7dd0870ee0 fix compiliation in test_bop 2010-06-21 21:11:44 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Efi Fogel 538c021a16 added missing category 2010-05-04 08:38:00 +00:00
Efi Fogel 3f8ff1a993 Eliminated a traits local variable 2010-04-13 10:43:55 +00:00
Eric Berberich 99aca56a46 refactored validation tests 2010-04-02 15:05:13 +00:00
Eric Berberich 7669478fb9 fixed variable name 2010-04-01 12:35:54 +00:00
Efi Fogel 2925887c93 cleanup 2010-03-02 22:06:14 +00:00
Efi Fogel 68700cdf01 Added default arg. k used to trigger the switch from divide-and-conquer to sweep-line algorithm 2010-03-02 14:14:56 +00:00
Efi Fogel bd6cbe7b43 cleanup 2010-03-02 14:13:11 +00:00
Efi Fogel 963381cbe7 Added oriented_side() 2010-03-01 15:57:02 +00:00
Efi Fogel f8b36b92b8 added bbox() 2010-03-01 15:43:04 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Efi Fogel 651f9a37e9 fixed arrangement() 2009-12-07 10:26:37 +00:00
Efi Fogel a002561f15 1st revision 2009-11-01 10:57:26 +00:00
Efi Fogel 56193af780 fixed public and protected declaration 2009-10-29 15:14:38 +00:00
Efi Fogel a88d1427d2 cleanup 2009-10-29 15:14:06 +00:00
Laurent Rineau 83912b2952 Massive fix of svn:keywords properties, and $URL$ keyword. 2009-10-20 08:59:26 +00:00
Efi Fogel 93a07c88b0 replaced Arr_blah_side_tag with Arr_blah_side_category 2009-09-21 10:54:53 +00:00
Efi Fogel 8a79f14518 added missing return statement in after_handle_event 2009-08-25 22:27:46 +00:00
Efi Fogel 4e6caeb0b9 Enhanced warnings 2009-08-11 13:53:42 +00:00
Efi Fogel c91fdee343 cleanup 2009-07-08 06:58:48 +00:00
Efi Fogel 6bf2e1271a Fixed Arrangement_2 construction bug - made the geometry traits const 2009-07-05 14:44:48 +00:00
Efi Fogel 4d94f715b9 Fixed Arrangement_2 construction bug - made the geometry traits const 2009-07-05 13:14:14 +00:00
Eric Berberich 4cd55ba23f changed precondition 2009-06-09 00:14:50 +00:00
Eric Berberich e9566239ae added missing signatures in Parameter space functors
added TODO for future
2009-06-07 19:31:08 +00:00
Eric Berberich 08e8c4eea7 added TODO 2009-06-07 19:21:39 +00:00
Eric Berberich f655f96e53 use unbounded helper for non-oblivious sides 2009-06-07 19:20:53 +00:00
Eric Berberich e0482a9e04 inherit side tags from base + boost mpl asserts 2009-06-07 19:20:21 +00:00
Eric Berberich 2de6d739bc use Traits_adaptor_2 instead of Geom_traits_2 2009-06-07 19:19:48 +00:00
Eric Berberich b0e748d552 added (some) missing boundary-specific functors 2009-06-07 19:16:31 +00:00
Eric Berberich 7c88f8ef66 sides must be oblivious (right now)
correct init of Intersect_2
2009-06-07 14:20:47 +00:00
Eric Berberich 4514a54cbb new tags in Aos_2 package 2009-06-04 09:17:15 +00:00
Sylvain Pion 23f1b98350 typos and related. 2009-04-08 11:40:21 +00:00