Commit Graph

529 Commits

Author SHA1 Message Date
Sébastien Loriot 12795ba29c Merge remote-tracking branch 'cgal/5.4.x-branch' into HEAD 2022-07-12 18:21:16 +02:00
Sébastien Loriot 45b5fd43f8 fix more warnings 2022-07-12 18:18:34 +02:00
Sébastien Loriot 6462cac12e move back functions \o^o/ 2022-06-23 16:29:11 +02:00
Sébastien Loriot ccb0db385b make create_exterior_skeleton_and_offset_polygons_with_holes_2 ignore the offset of the outer frame 2022-06-23 14:00:16 +02:00
Sébastien Loriot f6680b793f move function in right header 2022-06-23 14:00:16 +02:00
Sébastien Loriot 79693c5674 add exterior offset parts of polygon with holes 2022-06-23 14:00:16 +02:00
Sébastien Loriot 1b5ad071ff move function in right header 2022-06-23 14:00:16 +02:00
Sébastien Loriot 3fa436459d BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Sébastien Loriot ac8b6d4731 boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Sébastien Loriot 4f5f8341cc use std::enable_if_t 2022-06-10 07:37:53 +02:00
Laurent Rineau 6e114b31ae Merge pull request #6107 from efifogel/Polygon-fixes-efif
Polygon fixes efif

# Conflicts:
#	Installation/CHANGES.md
2022-03-18 15:59:58 +01:00
Andreas Fabri 2a513a0195 Clean up Straight_skeleton as Unique_hash_map is not used at all 2022-03-09 13:23:07 +00: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 4dbf509f7c Fixed GeneralPolygonWithHoles_2 concept: requires now nested Polygon_2 type instead of General_polygon_2 2021-11-03 18:16:40 +02:00
Sébastien Loriot 74c029cc68 Merge remote-tracking branch 'sloriot/CGAL-restore_rounding_mode-5.3' 2021-09-09 11:44:36 +02:00
Sébastien Loriot 6bae0e3939 Merge remote-tracking branch 'sloriot/CGAL-restore_rounding_mode' 2021-09-09 11:09:16 +02:00
Sébastien Loriot c8624ee0b3 check that the rounding mode when doing exact computation is to-nearest 2021-09-09 11:01:03 +02:00
Sébastien Loriot 106645ec2e make sure the rounding mode is to nearest when doing exact computations
Thoses changes should have been done when the code was modified for
CGAL_CFG_FPU_ROUNDING_MODE_UNWINDING_VC_BUG
2021-09-09 09:55:16 +02:00
Maxime Gimeno a3d1765ab4 Merge remote-tracking branch 'cgal/master' into CGAL-Clean_up_boost_versions-maxGimeno 2021-07-19 14:18:40 +02:00
Laurent Rineau 2c4a5db3ce Merge pull request #5631 from GilesBathgate/STL_ext-fix_uncaught_exceptions_cleanup-GilesBathgate
Fix uncaught exceptions cleanup
2021-05-18 18:14:14 +02:00
Maxime Gimeno 393ae7dae6 Clean-up boost_version reqs 2021-05-12 15:03:53 +02:00
Sébastien Loriot cfc0fee1c4 add missing IO namespace 2021-05-04 14:58:55 +02:00
Sébastien Loriot fb6f703b55 IO namespace for files in IO directories 2021-05-04 14:36:06 +02:00
Giles Bathgate 5ecd85248a Fix capitalisation of macro name. 2021-04-28 21:03:45 +01:00
Giles Bathgate 0ef8127c71 The CGAL_NOEXCEPT macro is no longer needed 2021-04-28 21:03:00 +01:00
Sébastien Loriot 1e249afdb3 remove some boost::bind 2021-01-06 12:59:11 +01:00
Giles Bathgate a7abec0a42 Add noexcept to Ref_counted_base in Straight_skeleton_aux.h 2020-11-29 15:21:49 +00:00
Laurent Rineau 21755b1123 Merge pull request #5245 from GilesBathgate/create-assertions-fix
Allow -DNDEBUG and CGAL_nnn_assertions at the same time
2021-03-24 15:05:41 +01:00
Mael Rouxel-Labbé 5efa544734 Merge remote-tracking branch 'cgal/master' into SDG-Fix_doc-GF 2021-02-22 17:19:40 +01:00
Mael Rouxel-Labbé 1f45360d7a Merge remote-tracking branch 'cgal/master' into SDG-Fix_doc-GF 2021-01-26 09:05:24 +01:00
Mael Rouxel-Labbé 6b87fe393d Fix various grammar issues 2020-12-05 11:11:33 +01:00
Giles Bathgate 07120b82fa Add missing header includes 2020-12-04 19:42:21 +00:00
Giles Bathgate 5a36ff89b5 Drop NDEBUG it is already visible through CGAL_NO_ASSERTIONS 2020-12-04 19:42:21 +00:00
Mael Rouxel-Labbé b43e578322 Misc cleaning 2020-11-27 14:01:41 +01:00
Mael Rouxel-Labbé 7d311d3ad5 Fix taking the middle of the gap between e2 and e0 as seed of the bissector
See code for more information.
2020-11-27 13:56:17 +01:00
Mael Rouxel-Labbé c502e935f9 Misc minor improvements 2020-11-27 13:56:17 +01:00
Mael Rouxel-Labbé 7385ebb806 Refresh priority queues before calling top() if simultaneous events are present 2020-11-09 18:22:33 +01:00
Mael Rouxel-Labbé 9c8aeb0242 Fix strict ordering's asymmetry condition not being satisfied in Split Event PQ 2020-11-06 17:27:43 +01:00
Mael Rouxel-Labbé d609a9607e Fix Split Queue Comparer in edge case of two invalid pseudo-splits 2020-11-06 17:26:59 +01:00
Jane Tournois 29b6963b98 add missing include and namespace 2020-11-06 12:28:30 +01:00
Sébastien Loriot 314db57a38 disable polygon assertion
allow strictly simple polygons and epick construction issues
2020-11-06 12:03:15 +01:00
Sébastien Loriot e1dd96414d use non-protected interval type and use protector
guarantee that the same rounding mode will be used when approximating
the exact value to interval
2020-11-06 10:43:08 +01:00
Sébastien Loriot dd49cb6035 remove unused variable 2020-11-06 10:10:11 +01:00
Sébastien Loriot 3d6e976770 add extra checks to make sure we do not use intervals with the wrong rounding mode 2020-11-03 11:40:24 +01:00
Sébastien Loriot 1d2af01102 add missing protector 2020-11-03 11:09:15 +01:00
Sébastien Loriot d493dfce88 exclude speed harmonization at compile time 2020-11-03 11:09:15 +01:00
Mael Rouxel-Labbé 7fccb08191 Fix disabling harmonization for everything instead of just EPECK_w_SQRT 2020-11-02 18:47:41 +01:00
Sébastien Loriot 6221751bf1 fix warning 2020-11-02 15:27:39 +01:00
Mael Rouxel-Labbé 05e4c44216 Misc minor fixes 2020-10-16 14:38:11 +02:00
Mael c5326a4832
Commit fixes from @sloriot's review
Co-authored-by: Sebastien Loriot <sebastien.loriot@cgal.org>
2020-10-13 09:56:32 +02:00
Mael Rouxel-Labbé 3b57f6c4f5 Add missing header include 2020-10-12 11:01:10 +02:00
Mael Rouxel-Labbé 145f204517 Misc minor fixes 2020-10-09 18:36:53 +02:00
Mael Rouxel-Labbé 6601a5ec93 Extract CGAL::Trisegment_2 from _aux.h (needs to be documented for concepts) 2020-10-09 14:35:29 +02:00
Mael Rouxel-Labbé 9051fc1d23 Overhaul & enhance SLS's free functions to provide & complete the advertised API 2020-10-08 22:54:11 +02:00
Mael Rouxel-Labbé e9c3531145 Fix missing namespace 2020-10-08 22:36:36 +02:00
Mael Rouxel-Labbé 7309da88c1 Misc minor fixes 2020-10-07 19:36:32 +02:00
Mael Rouxel-Labbé 14644c4ae6 Fix false positive assertions in offset construction:
If the constructions are not exact, you might get a degenerate polygon
even if predicate-wise it is not a degenerate polygon (Hook inside).
Let's ignore degenerate polygons in that case.
2020-10-07 19:33:36 +02:00
Mael Rouxel-Labbé 13f19c4ff1 Template Trisegment_2 with the inner Segment type
Needed because it is now documented
2020-10-07 19:28:54 +02:00
Mael Rouxel-Labbé 6bba0da37f Various minor fixes 2020-10-06 17:54:24 +02:00
Mael Rouxel-Labbé 75137526b6 Misc tiny fixes 2020-10-05 18:35:08 +02:00
Mael Rouxel-Labbé b6333ed459 Harmonize speeds of collinear input segments + caching for non-filtered kernels 2020-10-05 18:29:34 +02:00
Mael Rouxel-Labbé 2930624d7f Prevent tangleness in multisplits using certified angle-based local queue sorts
The goal is to prevent multi splits that can cross each other without noticing.
such as a square with four square holes, and two diagonal splits
in the middle.

Local split queues are sorted to give  priority to the smallest angle among possible split
events, we forbid diagonal splits and thus a later split cannot have
a triedge with two different subparts of the polygon.

The exact criterion for sorting is the angle within a triedge,
between the bisector and the supporting line of e2 (possibly swapped
in case of pseudo-splits, see code).
2020-09-29 20:02:06 +02:00
Mael Rouxel-Labbé 4d85f845e7 Enhance debug output 2020-09-29 20:00:55 +02:00
Mael Rouxel-Labbé e3679d1441 Print vertex and halfedge IDs in the basic drawers 2020-09-25 09:08:15 +02:00
Mael Rouxel-Labbé a7af1ab048 Add some more debug dumps 2020-09-25 09:07:52 +02:00
Mael Rouxel-Labbé 3b584d1167 Add a convenience function to get the other collinear edge 2020-09-25 09:06:57 +02:00
Mael Rouxel-Labbé 9c80bf709c Check for non-degenerate edges in the skeleton's validity functions 2020-09-25 09:06:10 +02:00
Mael Rouxel-Labbé 250b0628e8 Fix some bisectors sometimes being left marked as visited 2020-09-16 19:21:12 +02:00
Mael Rouxel-Labbé 7fb8cd8b80 Always exit faces ASAP when constructing offset to handle nm configurations 2020-09-16 19:19:49 +02:00
Mael Rouxel-Labbé 9e2085e030 Fix offset time conversions missing an intermediate conversion 2020-09-16 12:56:11 +02:00
Mael Rouxel-Labbé 2a10bdb3d6 Fix taking an extra prev() 2020-09-15 17:37:58 +02:00
Mael Rouxel-Labbé 9a90397c6c Another fix for offset construction in degenerate configurations 2020-09-14 17:57:18 +02:00
Mael Rouxel-Labbé f66d026cb3 Also draw points in basic drawing + add colors depending on vertex type 2020-09-11 20:08:45 +02:00
Mael Rouxel-Labbé 1fc41573e7 Fix a number of issues in the API of create_interior/exterior_skeleton
- Calls are broken with Polygon_with_holes and ranges
- is_simple() is not callable for anything else than Polygon_2
- Missing API for exterior
2020-09-11 20:07:37 +02:00
Mael Rouxel-Labbé c8006669f5 Use proper namespaces 2020-09-11 19:20:36 +02:00
Mael Rouxel-Labbé 655d4275f6 Add missing header includes in SS2 2020-09-11 15:00:27 +02:00
Mael Rouxel-Labbé dce8f123ea Enforce (strictly) positive offset times 2020-09-11 14:12:15 +02:00
Mael Rouxel-Labbé 88e4be548d Fix Straight_skeleton_2::is_valid tolerating fictitious vertices in complete SS 2020-09-11 14:01:10 +02:00
Mael Rouxel-Labbé efc333f34a Fix SLS offset functions (circular calls, doc/code inconsistencies, conversion)
WIP
2020-09-10 19:30:52 +02:00
Mael Rouxel-Labbé 8950cdef40 Fix conversion issues when computing the outer frame margin
Similar to d8d6935
2020-09-10 19:29:10 +02:00
Mael Rouxel-Labbé bcd7cd2cfc Draw skeleton's bisector edges in red (contour in black) 2020-09-10 15:44:45 +02:00
Mael Rouxel-Labbé e26fa8a1f7 Enhance debug dumps 2020-09-10 15:43:51 +02:00
Mael Rouxel-Labbé 85295a0072 Change debug verbose level 2020-09-07 19:03:20 +02:00
Mael Rouxel-Labbé d2cbbfed28 Fix offset construction issues when offset edges include skeleton bisectors
See comment in the code for an explanation.
2020-09-07 18:58:19 +02:00
Mael Rouxel-Labbé d8d6935559 Fix MaxTime conversion when FT is not convertible to K1::FT
Although the documentation does say that it is required
to be implicitely convertible. In practice, this wasn't
checked and failed silently: the FT in the template parameter
is not necessarily Input_kernel::FT, but could be e.g. double.
Then the call to Cartesian_converter meant that it actually used the overload:
bool operator()(bool) { ... }
if FT was not convertible to K1::FT (e.g. FT=double and
K1=EPECK_w/_SQRT). Thus this returned... 1.

This commit changes the requirement to be only constructible rather
than convertible, and explicitely creates a K1::FT.
2020-09-04 17:59:48 +02:00
Mael Rouxel-Labbé a0ed2280b8 Do not explore null nodes 2020-09-04 10:49:50 +02:00
Mael Rouxel-Labbé 36f3946fef Fix some typos 2020-09-03 15:49:48 +02:00
Mael Rouxel-Labbé 0d2db9068c Add a missing std::setprecision() in SS2 trace code 2020-09-02 18:20:00 +02:00
Mael Rouxel-Labbé 79378f6871 Do multiple passes to remove multi nodes
Fix for https://github.com/CGAL/cgal/issues/4533

In a configuration like in Issue 4533, there are a lot of faces
with multi-nodes, with all degenerate halfedges being
the same vertex (the origin). Because of locks in the current implementation,
it is not possible to (combinatorially) collapse all degenerate halfedges
at once.

With this fix, the algorithm attempts to collapse multiple times, until
nothing can be done.

A better fix would be to rewrite the way halfedges are collapsed,
but this is a lot of work, so this quick fix will be used for now.

In theoretical degenerate cases, the complexity could be quadratic,
but it should never happen in real life (the norway data set
or example does not even have multi-nodes)
2020-09-02 18:15:02 +02:00
Andreas Fabri bbf9363742 Add draw(Straight_skeleton_2) 2020-08-26 13:03:44 +01:00
Sébastien Loriot 4724e9c211 fix caching for offset traits
do not use cache
2020-08-19 17:56:45 +02:00
Sébastien Loriot 587d402452 use local lists instead of a global one for lookup on SLAV 2020-08-19 17:20:19 +02:00
Andreas Fabri 89d834932d Use overload of angle() for 4 points 2020-08-18 15:06:22 +01:00
Andreas Fabri 08e026a6e9 Test for equal endpoints before calling collinear 2020-08-18 14:48:29 +01:00
Sébastien Loriot c30f674bbc Add caching mechanism for time of trisegments 2020-08-10 16:35:08 +02:00
Sébastien Loriot 060e6a3905 variadic constructor 2020-08-10 16:23:15 +02:00
Jane Tournois d9892c23e0 fix compilation for msvc
in boost.hpp, the macro BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
opens namespace boost { namespace mpl {
before defining struct bool_
2020-08-10 11:40:55 +02:00
Sébastien Loriot 72925b8a03 add missing include directive 2020-08-10 10:39:01 +02:00
Sébastien Loriot 1423ef92b5 use kernel predicate in non filtered constructions
otherwise we don't have certified predicates with epick
2020-08-07 10:52:54 +02:00
Sébastien Loriot 5601a5508e remove deprecated comment 2020-08-07 08:59:59 +02:00
Sébastien Loriot 3dfbec87ea cannot divide the bound by 2 as it depends on the speed on the segments involved 2020-08-06 10:19:12 +02:00
Sébastien Loriot d82027fb48 add missing protector 2020-08-06 10:13:21 +02:00
Sébastien Loriot 648a0b3df7 qualify calls 2020-08-06 10:12:57 +02:00
Sébastien Loriot a2e19b2f98 Use the exact value to approximate the square root 2020-08-06 09:07:58 +02:00
Sébastien Loriot 8de9d1dda2 Re-enable the usage of filtered construction that allows to control the error on constructions
only for point (skeleton+offset points) and time
2020-08-06 09:00:02 +02:00
Sébastien Loriot 4767539cb7 fix sqrt value so that it is compatible with the value provided in case
a filtered Kernel is used.

Core sqrt value is not guaranteed to be in the interval computed
from input double value (in the case of EPICK). It does not matter
for EPECK
2020-07-31 15:11:14 +02:00
Sébastien Loriot 7ca248e566 add a filter to limit the number of split events in reflex vertex priority queues
the rational is that we consider all polygon segments that are intersected
by the reflex vertex bisector that are oriented so that they are on the
left side of the reflex vertex. The time at which the bisector intersect
that segment is a bound for the split event to be selected
2020-07-31 15:10:56 +02:00
Sébastien Loriot c99b3f5eba clean up 2020-07-31 14:56:39 +02:00
Laurent Rineau 3d78df1749 Merge pull request #4789 from sloriot/SS-copy_cst
Make straight_skeleton copy_constructible
2020-06-23 18:49:55 +02:00
Sébastien Loriot 2fe78166ea make Straight_skeleton class copy-constructible as documented 2020-06-16 11:40:52 +02:00
Maxime Gimeno 50766d9d03 Fixes for min/max 2020-04-21 11:52:56 +02:00
Maxime Gimeno e9d41d7b7d Fixes for min/max 2020-04-21 11:38:37 +02: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
Sebastien Loriot 6b2b1e8470
Merge pull request #4238 from sloriot/sloriot/CGAL-Variadics
use Variadic templates
2020-03-17 18:21:56 +01:00
Ahmed Essam 613eedb77b Fix perfect forwarding 2020-03-02 07:37:36 +01:00
Mael Rouxel-Labbé 3c7eb2c6b9 Use CGAL_PI instead of hardcoding it 2020-01-07 15:31:07 +01:00
Arjan van de Ven 08ef100083 Straight_skeleton_builder_2_impl.h: Get more precision for free.
Fixes issue #4445

The compute speed of double precision does not depend on the number of decimals,
so it's free and better to use more than 5 or 6 decimals for PI.
2020-01-07 15:05:57 +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
Sebastien Loriot dc7c2958b9
Fix forward
Co-Authored-By: Laurent Rineau <Laurent.Rineau@cgal.org>
2019-10-10 11:32:33 +02:00
Sébastien Loriot 6368c5b393 use perfect forwarding 2019-10-10 06:54:51 +02:00
Sébastien Loriot 1b00fd3f54 use Variadic templates 2019-09-19 23:11:04 +02:00
Sebastien Loriot e4adb62011
Merge pull request #4078 from maxGimeno/Fix_some_warnings-GF
Fix warnings
2019-07-18 16:35:51 +02:00
Maxime Gimeno 64253458aa Fix warnings 2019-07-12 10:49:10 +02:00
Sébastien Loriot 983645a51a match @{ and @} 2019-07-05 21:49:46 +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
Mael Rouxel-Labbé 2848158354 Fix typos 2019-05-20 08:54:04 +02:00
Sébastien Loriot 5a7576524c change return type to avoid raising a precondition
also add an extra (optional) parameter to read it in a calling function
2019-04-24 16:06:49 +02:00
Simon Giraudot d314711eaf Merge remote-tracking branch 'mine/Stream_support-Enhance_color-GF' into Stream_support-Enhance_color-GF 2019-04-09 15:00:56 +02:00
Andreas Fabri 70d9faaa32 fix Straight_skeleton 2019-04-03 11:51:30 +02:00
Sébastien Loriot ce126b87c6 remove cpp11::copy_n, cpp11::prev, and cpp11::next and use std instead 2019-03-29 13:28:32 +01:00
Mael Rouxel-Labbé 26c857a431 Moved unary/binary_function to CGAL::cpp98 2018-06-13 15:58:19 +02:00
Laurent Rineau 182239d6b6
Merge branch 'master' into CGAL-remove_SCL_SECURE_NO_DEPRECATE-GF 2018-03-06 16:49:30 +01:00
Andreas Fabri f7ba8ff4df Fix Box_intersection_d, Minkowski_sum_2, Nef_3, Surface_mesh, Straight_skeleton, Triangulation_3 2018-02-23 11:35:58 +00:00
Sébastien Loriot 483f69728e Refresh branch 2018-02-12 22:21:38 +01:00
Laurent Rineau 204033d78a Merge pull request #2777 from MaelRL/IO-Fix_dxf_reader-GF
Circular_kernel_2: Fix the circle reading in the `.dxf ` file reader
2018-02-02 16:07:44 +01:00
Mael Rouxel-Labbé 558465d2a6 Fixed dxf circle reader (in .dxf, the radius is not squared)
Removed dead link
2018-02-01 12:27:43 +01:00
Andreas Fabri 599e2019df SLS 2018-01-18 14:08:08 +00:00
Sébastien Loriot ff26773f7b remove include directive for checking GPL compliance in LGPL headers 2017-11-12 10:21:35 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau 2b35bddfb2 Replace all std::binary_function by CGAL::binary_function 2017-10-04 16:36:32 +02:00
Maxime Gimeno 96f7b0f138 Fix catch value warnings 2017-07-21 11:27:14 +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
Laurent Rineau 51f5697d3d Add missing #include 2016-09-30 15:23:14 +02:00
Andreas Fabri fa353f59e7 Fix package Straight_skeleton_2: include headers 2016-09-30 15:22:28 +02:00
Laurent Rineau 844d824f89 Fix a warning, with recent clang
The warning was:

```
/mnt/testsuite/include/CGAL/Straight_skeleton_converter_2.h:177:10: warning: variable 'hit' is incremented both in the loop header and in the loop body [-Wfor-loop-analysis]
      ++ hit ;
         ^
```
2016-06-13 12:53:27 +02:00
Sébastien Loriot 83f10ef30c fix for boost 1.60 2016-01-26 18:56:49 +01:00
Andreas Fabri 311d4d9120 fix order of template arguments, and document parameter C 2015-09-03 14:31:26 +02:00
Andreas Fabri a4351336d2 integrate Laurent's comments 2015-08-28 15:09:37 +02:00
Andreas Fabri 86dd2f7111 VC2015 needs the container template argument for Polygon_2 and Polygon_with_holes 2015-08-28 14:36:37 +02:00
Laurent Rineau e965b6293e Fix compilation errors with C++11 and Boost-1.56
Use *explicit* conversions to `bool`, for boost::shared_ptr and
boost::optional.
2015-01-14 14:47:29 +01:00
Andreas Fabri f9d5c8c274 clang warns about boost::shared_ptr<> == NULL 2014-07-03 14:33:56 +02:00
Andreas Fabri fca86f8bea another shared_ptr to fix 2013-09-27 06:36:04 +02:00
Andreas Fabri f906a5934f fix the same problem for shared_ptr 2013-09-26 14:54:04 +02:00
Andreas Fabri e96dd75d15 fix for clang: assertions do not work on intrusive_ptr 2013-09-25 13:02:28 +02:00
Sébastien Loriot 62f7e53b13 make Construct_offset_point public
add a benchmark file using it to avoid building the complete exterior skeleton.
2013-03-29 11:23:33 +01:00
Sébastien Loriot 1830251e10 add missing include 2013-03-21 10:53:07 +01:00
Andreas Fabri 0a42dc95ca turn a static function into an inlined one 2013-03-05 11:04:54 +01:00
Andreas Fabri c9e15507a5 remove unused variable 2013-02-27 14:01:18 +01:00
Andreas Fabri 813b5df1f5 Comment an unused file static function 2013-02-27 13:59:15 +01:00
Sébastien Loriot 82b2ebc865 apply the cpp0x namespace renaming in all files 2012-12-19 11:33:17 +01:00
Sébastien Loriot 9f08f92ee9 BUGFIX in offset computation
while computing the offset of a polygon, it might happen that a candidate polygonal
component is discarded (if it's not a valid polygon but a polyline for example).
In that case, some halfedges are marked as visited, but among them some could be
needed by another component. In this patch, we collect all halfedges marked as visited
and unmark them in case the polygon is incomplete.

The test added was not correctly working before the patch.
2012-10-03 08:33:54 +00:00
Laurent Rineau db194534c7 First big patch to fix -Wunused-local-typedefs
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
 by -Wall since gcc-4.8 (not yet released).

The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
2012-08-01 13:29:16 +00:00
Sébastien Loriot 147ca74939 add precondition to ensure the polygon is simple 2012-04-18 12:37:23 +00:00
Laurent Rineau f4a19f0a0b Remove unused variables 2012-01-23 08:03:33 +00:00
Andreas Fabri 98e48ff177 Fix for Windows 'min/max' bug 2012-01-18 12:03:01 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Philipp Möller 8eb30ef805 Replaced all uses of predecessor/successor with prev/next. 2011-06-07 16:21:58 +00:00
Sébastien Loriot 8ce2048aea add #include<CGAL/config.h> before any directive CGAL_USE_* 2011-03-02 18:52:57 +00:00
Sébastien Loriot e5a96255ba *remove warnings.
In particular remove UNTESTED_XXXXXXXXXXX unused variable that possibly hide true warnings. 
In those cases, the string printed while executed now starts with "NOTE: ".
*CGAL internal code no longer rely on depecrated features
2011-02-28 15:28:28 +00:00
Laurent Rineau 2e171a51ab Remove extra ';' 2010-12-21 10:05:03 +00:00
Laurent Rineau a48bfdc0f5 Fix a forward declaration. It seems Andreas added in trunk a forward
declaration for a function that exists only in the code of the weighted
straight skeleton. Compilers were confused by it.
2010-12-20 10:32:53 +00:00
Laurent Rineau fdfa1a3077 Typo in a comment (could break the use of sed scripts to one day). 2010-12-20 10:17:18 +00:00
Andreas Fabri efee20b566 Add forward declaration 2010-12-12 20:30:46 +00:00
Laurent Rineau 7fea74cad6 Replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE in Straight_skeleton_2
(that had been reverted a few months ago, after the massive changes of all
CGAL_BEGIN_NAMESPACE in the CGAL repository).
2010-11-23 11:20:03 +00:00
Andreas Fabri 0cffef2237 Add missing #include 2010-11-22 08:31:43 +00:00
Andreas Fabri ac7cb03aa6 rR in the if block shadowed rR in the outer block 2010-11-22 08:28:18 +00:00
Andreas Fabri 6b61b50b4b Remove extra ';' 2010-11-22 08:09:25 +00:00
Marc Glisse f806191a0e If this breaks anything, introduce a CGAL_CFG_ macro.
Note: the revert on this package reverted a number of things that should be reapplied.
2010-11-11 15:23:35 +00:00
Fernando Cacciola 789bb0d83d Fixed UB 2010-10-12 15:57:07 +00:00
Fernando Cacciola 72ed56006a Reverting to release 3.6 2010-08-19 05:06:11 +00:00
Fernando Cacciola 412b3fb135 Fixed location of helper function to draw unbounded bisectors 2010-08-05 21:53:30 +00:00
Fernando Cacciola 8de4373414 Fixed drawing helpers for unbounded bisectors (to consider weights as well) 2010-07-30 18:14:03 +00:00
Sébastien Loriot 4030bc9fa9 typo 2010-07-28 07:14:09 +00:00
Fernando Cacciola c4ef2c709e Added drawing helpers for unbounded bisectors 2010-07-27 15:51:36 +00:00
Fernando Cacciola 03ca20e331 Fixed bug in simplified API 2010-07-23 20:20:45 +00:00
Fernando Cacciola 73da9f96ca Misc code fixes/cleaning up, plus documentation updates 2010-06-24 15:54:55 +00:00
Fernando Cacciola 20b7f183ee Misc compiler fixes and doc updates 2010-06-16 20:00:43 +00:00
Fernando Cacciola d6d94eff84 Simplified API testsuite 2010-06-11 16:49:25 +00:00
Fernando Cacciola bbf18925e7 Simplified API testsuite 2010-06-11 05:10:04 +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
Fernando Cacciola aff0c71a68 Simplified API testsuite 2010-06-08 20:47:41 +00:00
Laurent Rineau 67928706cf C++ conformance: calls to member templates of dependent names must be
qualified with the "template" keyword.

Example:
  template <typenam T>
  void f(T foobar) {
    foobar.get<0>().foobar(); // error
  }
must be written:

  foobar.template get<0>().foobar();
2010-05-16 16:50:24 +00:00
Fernando Cacciola 7196d6ce51 Shut warning 2010-05-06 02:51:10 +00:00
Andreas Fabri 5f8097fffd Work around min/max macro problem for VC++ 2010-05-05 17:38:01 +00:00
Fernando Cacciola b6d93bfad7 Fixed examples and tests 2010-05-05 17:14:56 +00:00
Andreas Fabri bc90f2fd2b Work around min/max macro problem for VC++ 2010-05-05 17:06:20 +00:00
Fernando Cacciola de48d61720 Weighted straight skeleton API update 2010-05-03 18:25:25 +00:00
Fernando Cacciola dafa6c5e7c Weighted straight skeleton API update 2010-04-30 19:01:58 +00:00
Fernando Cacciola 60b038972e Weighted straight skeleton API update 2010-04-27 16:57:58 +00:00
Sébastien Loriot 72ef527fc6 remove extra ; 2010-04-26 09:00:17 +00:00
Fernando Cacciola 91c0cb5e76 Fixed weights handling 2010-04-15 22:17:21 +00:00
Fernando Cacciola 3dd317796d Fixed warnings 2010-03-01 13:44:00 +00:00
Fernando Cacciola 6853d2d68d Fixed examples 2010-02-24 22:18:06 +00:00
Fernando Cacciola fef1031474 Working test suite 2010-02-02 17:57:16 +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
Sébastien Loriot 95d83d7e79 remove warnings 2010-01-21 11:13:31 +00:00
Fernando Cacciola c9c10cdb3c SS weighted version 2010-01-17 15:13:08 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Fernando Cacciola d07ab269c6 Robust skeleton node construction fixes 2009-07-24 17:20:12 +00:00
Fernando Cacciola fbbefdde2a Fixed proper specialization of Polygon_2 with a non-default container (used by the Polygon demo) 2009-07-08 16:04:50 +00:00
Fernando Cacciola 82bbf38081 Fixed iterator requirements (use != instead of <) 2009-07-07 14:31:18 +00:00
Andreas Fabri c226ac52df one more capitalization 2008-10-28 13:35:18 +00:00
Andreas Fabri cc40126f67 More capitalization of header file names 2008-10-27 16:30:51 +00:00
Andreas Fabri e69f082718 Capitalized file names 2008-10-25 13:48:37 +00:00
Fernando Cacciola 06659b888f Fixed capitalization of header files containing functions 2008-10-21 19:44:23 +00:00
Fernando Cacciola d4ee790bb1 Added work-around for VC8 ICE in crate_offset_polygons_2 2008-10-21 18:43:20 +00:00
Fernando Cacciola 8608064198 Fixed numerical handling problem 2008-10-14 15:08:59 +00:00
Fernando Cacciola 5c56a54aeb Fixed inexact_sqrt problem due to change of number type 2008-09-22 20:23:41 +00:00
Sylvain Pion 74514a0fc7 Deverbosification :) 2008-08-12 09:04:37 +00:00
Sylvain Pion a8e8ecfdcf Replace Interval_nt_advanced::unsafe_comparison by Uncertain_conversion_exception.
(it was alrady the same type, but now the filtering code can be independent on Interval_nt_advanced
(think other interval types, or other types of filters).
2008-07-31 13:31:26 +00:00
Sylvain Pion fbc04e5b3e Remove some totally useless calls to make_uncertain() (the remaining ones do not seem that useful either...) 2008-07-30 13:13:26 +00:00
Sylvain Pion 97929b6bd2 Replace is_indeterminate() by !is_certain() 2008-07-30 12:40:57 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Sylvain Pion 2eb0d8f9e9 certainly() -> possibly(). 2008-07-14 11:16:41 +00:00
Sylvain Pion eff6efd3af CGAL_NULL and CGAL_NULL_TYPE are now constant macros, so replace them by:
- CGAL_NULL -> NULL
- CGAL_NULL_TYPE -> CGAL::Nullptr_t (typedef to const void *)
2008-07-12 21:58:52 +00:00
Sylvain Pion 9d7a609ff2 Make assertions trigger an error only for *certain* conditions (using CGAL::certainly()).
This is useful for interval arithmetic code.
(replay of r44002 with the header order hopefully fixed)
2008-07-10 21:49:17 +00:00
Sylvain Pion 2b4ebf01f7 Undo r44002 as it's buggy 2008-07-06 20:47:29 +00:00
Sylvain Pion 514a17ad4f Improve the interaction of assertions and interval computations.
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
  ((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
  (CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
2008-07-06 17:05:47 +00:00
Sylvain Pion 7dfd4237cc Rename SS and CS to avoid name clashes with macros on x86/solaris (/usr/include/sys/regset.h). 2008-06-15 16:21:29 +00:00
Fernando Cacciola 4a5689b69b Improved full and partial skeleton creation testing 2008-05-08 22:29:36 +00:00
Fernando Cacciola a07d5da761 Fixed partial-skeleton-related bug detected by test-suite.
Removed unused variabe warning
2008-05-08 16:18:58 +00:00
Fernando Cacciola 8adbf35a68 Miscelaneous SLS fixes 2008-05-07 16:01:29 +00:00
Fernando Cacciola 2f2220d9b0 Two more examples added 2008-04-30 15:57:06 +00:00
Fernando Cacciola d12124c350 Partial skeletons for faster offsetting 2008-04-28 17:03:23 +00:00
Sylvain Pion d194bf8b53 Add missing CGAL:: qualification 2008-04-10 08:46:24 +00:00
Fernando Cacciola e9bc3893a0 Merged removal of unnecessary cast for SunPro 2008-04-08 19:40:54 +00:00
Fernando Cacciola ac82708815 General compilation fixes for VC++ 2008-04-08 19:33:11 +00:00
Sylvain Pion 1d47b96e3c Remove more useless enum_cast<>. 2008-03-20 16:46:25 +00:00
Sylvain Pion 167e077dd8 Forgot to update the comment in last change 2008-01-20 22:43:17 +00:00