Commit Graph

88 Commits

Author SHA1 Message Date
Sébastien Loriot 2277013d84 replace boost::mpl::and_ 2023-11-10 16:19:26 +01:00
Sébastien Loriot b039040f73 boost::is_convertible -> std::is_convertible 2023-04-23 22:37:07 +02:00
Sébastien Loriot fbe559adc9 Merge 'cgal/master' into PMP-decimation 2023-02-14 08:33:24 +01:00
albert-github c32b1f4127 spelling corrections
Some spelling corrections (Directories starting with `S` rest - `W`),
2022-11-16 13:22:39 +01:00
Sébastien Loriot 0cac6a9da8 Merge remote-tracking branch 'sloriot/PMP-decimation' into PMP-decimation 2022-10-25 14:55:57 +02:00
Sébastien Loriot 98e774241b update test 2022-10-21 14:28:12 +02:00
Andreas Fabri d3fca65ae5 CGAL: No longer per package assertions 2022-09-23 12:49:40 +01:00
Sébastien Loriot 4f5f8341cc use std::enable_if_t 2022-06-10 07:37:53 +02:00
Sébastien Loriot d1a323c730 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:24:14 +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
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
Andreas Fabri f7b7b9957f Merge remote-tracking branch 'cgal/master' into CGAL-null_ptr-GF 2019-06-05 14:47:11 +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 f354210be3 Add using statements 2019-05-21 14:32:03 +02:00
Andreas Fabri 85d9ec1ae1 Unify 2D 2019-05-20 17:30:31 +02:00
Sebastien Loriot 80cece608c
Merge pull request #3595 from MaelRL/T2-Remove_strict_conflict_zone_boolean-GF
Triangulation_2: revert small feature DT2_strict_and_weak_conflict_zone
2019-04-12 15:35:06 +02:00
Sébastien Loriot 99d842401a Merge remote-tracking branch 'cgal/releases/CGAL-4.12-branch' into HEAD 2019-01-31 11:24:50 +01:00
Mael Rouxel-Labbé 14150ef95c Revert commit b307771 ("bug fix for natural_neighbor_coordinates_2...
... using a small feature in the conflict zone functions of
Delaunay_triangulation_2")

See concerns raised in the (not-actually-approved) small feature:

https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/DT2_strict_and_weak_conflict_zone
2019-01-14 11:19:21 +01:00
Mael Rouxel-Labbé 502c28796d Clarify 'last' ==> 'top' 2019-01-11 13:56:06 +01:00
Mael Rouxel-Labbé 28ce2a5240 Fixed stack order in non recursive conflict walking
Edges must be output in a CCW order, which is achieved by walking ccw-ly first.
In the recursive function, we correctly call 'propagate(..., ccw(j))' first.
For the non-recursive version which uses a stack, then we must add 'ccw(j)'
last since the stack is a LIFO structure.
2019-01-11 12:32:43 +01:00
Mael Rouxel-Labbé a8e28b02c6 Specify default face base for DT2 2018-04-26 13:00:50 +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
Mael Rouxel-Labbé aaeaf35380 Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations 2017-08-23 16:18:05 +02:00
Mael Rouxel-Labbé 2dc4974871 Improved readability of Delaunay_triangulation_2.h (no real changes)
Only whitespace cleaning, indentation fixing, empty lines removal, etc.
2017-06-28 10:14:35 +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
Andreas Fabri 89242f2687 When the dimension is 0, we can only have 0 or 1 vertices 2016-10-17 13:45:42 +02:00
Laurent Rineau 51f5697d3d Add missing #include 2016-09-30 15:23:14 +02:00
Sébastien Loriot 7f3772a50b replace the usage of raw pointer as property map
It was deprecated in boost 1.55
http://www.boost.org/users/history/version_1_55_0.html
2016-07-13 13:53:00 +02:00
Andreas Fabri 4fec754ef8 put static into the macro and rename it 2015-12-02 20:40:15 +01:00
Andreas Fabri 37677ededc cleanup: reinsert the repetitive code that was temporarily in a repetitively included .h 2015-11-19 09:08:02 +01:00
Andreas Fabri 3d4a1be429 WIP with Clement 2015-10-01 09:47:47 +02:00
Andreas Fabri ea612e9645 Improved macros to avoid #if #else where we want to use TLS
The Residue.cpp file still needs simplification
2015-09-11 18:01:51 +02:00
Andreas Fabri a14cf913e9 WIP: In Lazy.h we now have a single macro for boost and c++11 thread 2015-09-11 14:54:11 +02:00
Andreas Fabri 220651bc88 Use CGAL_THREAD_LOCAL as thread_local only comes with VC201 2015-09-04 18:09:50 +02:00
Jane Tournois 4cf8655c00 move all the cdt.dual(v) code from Triangulation_2 to Mesh_2
we do not change the API of Triangulation_2 for now
maybe later, and this version should be easy to keep backward compatible
2015-05-19 08:54:33 +02:00
Jane Tournois 4cf43198e2 dual(v) returns an OutputIterator that collects rays and segments
to do so, use the Dispatch_output_iterator

- Constrained Voronoi diagram is now a class that has a pointer to a CDT
as member. We don't need an extra CDT anymore
- update examples
- also update the CDT 2 demo to see Voronoi cells, that are only valid when the
triangulation is Delaunay (constrained or not)
2014-10-07 15:03:41 +02:00
Jane Tournois 8d87ccf8c2 add a dual(vertex) function to DT2 and CDT2
- in DT2, it returns the Voronoi cell as a Polygon_2
- in CDT2, it returns the - possibly clipped - "bounded Voronoi cell"
see Seidel1988 or http://hal.inria.fr/docs/00/54/68/79/PDF/centroidal-vd.pdf

also add an example that computes the full BVD
2014-10-03 16:52:48 +02:00
Andreas Fabri 462ad57712 Remove a declaration without definition 2013-02-07 15:13:48 +01:00
Andreas Fabri b307771892 bug fix for natural_neighbor_coordinates_2 using a small feature in the conflict zone functions of Delaunay_triangulation_2 2013-01-08 12:34:37 +01:00
Sébastien Loriot 59f9e8a778 add constructor from range for 2D Delaunay and Regular triangulation 2012-12-19 17:10:57 +01:00
Sébastien Loriot 6ff851e791 macro renaming 2012-11-02 08:44:08 +00:00
Sébastien Loriot 6da5e9e84d unrecursive version of propagating_flip and propagate_conflicts
for CDT2 and DT2 using 100 recursive calls before switching to
a local stack in a function.
2012-10-30 13:16:52 +00:00
Sébastien Loriot cd165546fc Remove all alternatives to propagating_flip to keep one that allow to use the call
stack for at most 100 recursive calls and switch to a non-recursive function
that uses a local std::stack to emulate the call stack.

Benchmarks show the following results:

7 runs on 10,000,000 random in unit circle points

43.67074 : Old implementation
43.91474 : use stack for 100 first call then non-recursive with stack
44.07075 : use stack for 100 first call then non-recursive with vector
44.57079 : Local vector
45.0068 : Local stack
45.87886 : Local fixed size array
46.3829 : Local "home-made" small vector
53.41534 : Thread-local vector
2012-10-24 21:35:17 +00:00
Sébastien Loriot a7b02bd716 merge experimental-packages/Triangulation_2-unrecursive 2012-10-24 09:26:32 +00:00
Marc Glisse a758751485 Remove / comment out unused local typedefs. Fix one place where FT was used instead of RT (homogeneous coordinates, probably never compiled). 2012-07-28 06:21:06 +00:00
Sébastien Loriot 498c0a6e1e Make the insert-by-range function more permissive
The condition is now to be convertible to the point type, pair<point,info>,...
This was the behavior before the insert-by-range-with-info methods were
introduced.
2012-01-24 17:25:20 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00