Commit Graph

529 Commits

Author SHA1 Message Date
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
Sylvain Pion d8ad82e66b Remove obsolete SunPRO workaround, and workaround warning. 2008-01-20 22:41:10 +00:00
Sylvain Pion 50ed4bb632 Use <cstdlib> and <cstdio> consistently instead of <stdio.h> and <stdlib.h>. 2008-01-18 20:33:57 +00:00
Sylvain Pion 08888b27f0 Add missing include file 2008-01-15 20:40:50 +00:00
Sylvain Pion 39f6a3b405 Include missing <boost/shared_ptr.hpp> header. 2008-01-14 17:37:40 +00:00
Fernando Cacciola 64bcb5a240 svn properties fixed 2008-01-14 13:44:13 +00:00
Fernando Cacciola 16fbeb0885 Permissions fixed (again) 2008-01-14 12:59:56 +00:00
Fernando Cacciola 639cac2dc4 Local fixes 2008-01-11 15:49:10 +00:00
Fernando Cacciola 9f60e34b3e Permissions fixed 2008-01-11 15:46:07 +00:00
Sylvain Pion 360d29f72a Rename CGAL_CIRC_NULL to CGAL_NULL. 2007-12-28 15:40:36 +00:00
Sylvain Pion d49e006c53 Remove default argument "0" to calls to assertion_fail() et al,
as the default is now the empty string "".
It should fix the problem that we have lost the assertion messages
(seeing "what():  basic_string::_S_construct NULL not valid" instead),
for packages that use package-specific assertion macros.
2007-12-21 21:58:27 +00:00
Fernando Cacciola 7a4dce2610 Fixed some test-suite failures 2007-12-03 17:26:51 +00:00
Fernando Cacciola 010ff53cbc Simplified API documentation 2007-11-27 22:06:55 +00:00
Fernando Cacciola 93a5a979c7 Simplified API documentation 2007-11-26 17:59:20 +00:00
Fernando Cacciola 6187ff621b Simplified API and polygon offset arrangement 2007-11-23 22:35:44 +00:00
Fernando Cacciola 34166f5342 Simplified API added 2007-11-21 15:55:09 +00:00
Fernando Cacciola 25bd25e59b Documentation updates 2007-11-20 17:24:23 +00:00
Fernando Cacciola bcf644e5bf Skeleton converted added and documentation/examples updated 2007-11-19 16:33:25 +00:00
Fernando Cacciola 2409987df8 Skeleton Converter added 2007-11-19 12:57:13 +00:00
Fernando Cacciola 639fb21a71 Re-applied renaming of EK and FK to Exact_kernel and Approximate_kernel 2007-09-25 14:38:46 +00:00
Fernando Cacciola dc66f9363d Added missing files 2007-09-18 12:41:17 +00:00
Fernando Cacciola 60cc71c58a Bug fixes 2007-09-10 14:07:00 +00:00
Sylvain Pion 8b2801c25b Update following renaming EK -> Exact_kernel and FK -> Approximate_kernel. 2007-09-07 09:55:51 +00:00
Sylvain Pion f2a1b260a4 Remove obsolete config flags
CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG and
CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2.
2007-08-08 14:50:01 +00:00
Andreas Fabri a892df2927 removed unused parameters 2007-03-17 09:24:49 +00:00
Andreas Fabri da71ad1971 removed/commented unused parameters 2007-03-16 08:17:51 +00:00
Michael Hemmer ce6e4e8ea7 include proper BigFloat support file 2007-03-15 10:38:21 +00:00
Joachim Reichel 4f47903a25 moved src/Core to src/CGALCore
moved include/CORE to include/CGAL/CORE
moved include/OpenNL to include/CGAL/OpenNL
renamed libcore++ to libCGALcore++
2007-03-13 18:10:39 +00:00
Sylvain Pion deeb6c3841 Move to QPL and remove INRIA from the list, it is not worth a license mix 2007-03-07 11:43:11 +00:00
Andreas Fabri 88bc3b74ea commented unused parameters in order to suppress warning 2007-03-06 15:33:01 +00:00
Sylvain Pion 6b74710305 Add missing namespace qualifications for g++ 4.3 2007-03-05 16:42:00 +00:00
Sylvain Pion 47f0b5f4d2 - Move certainly() to Uncertain.h
- Add possibly().
2007-03-01 18:29:19 +00:00
Fernando Cacciola d9a9bb50ce Merged back latest fixes from local copy (for GF customer) 2007-02-27 18:19:42 +00:00
Sylvain Pion 2bdfec6cc0 Removal of remaining protect macros : those protecting other CGAL include files.
Done using the script Scripts/developer_scripts/cgal_conditional_include_remove.
2007-01-24 18:00:30 +00:00
Fernando Cacciola 248703de4d Fixed bug in offset along inner bisector between collinear edges 2006-10-06 18:07:05 +00:00
Andreas Fabri 3ed22763f2 suppress VC++ warning 2006-09-14 08:00:19 +00:00
Fernando Cacciola cfe91f2e34 Minor fixes 2006-08-14 13:25:49 +00:00
Fernando Cacciola 4ebde31d17 seed tracking added for correct handling of degenerate vertices 2006-08-04 19:11:49 +00:00
Andreas Fabri e18de313b7 fix min/max problem 2006-08-03 03:32:49 +00:00
Fernando Cacciola cad534b0fc fixed bug in the computation of nodes from collinear but not consecutive edges 2006-07-28 10:17:28 +00:00
Fernando Cacciola 862aa141b7 fixed new coincident nodes merging code 2006-07-25 18:33:31 +00:00
Fernando Cacciola 3c4ffa0220 Fixes in the optimized "coincident nodes" merging code 2006-07-24 22:31:02 +00:00
Fernando Cacciola 57f41219ce Fixes to the dll 2006-07-20 17:38:54 +00:00
Fernando Cacciola ae293d3eee fixed orientation detection in tests and demos 2006-07-20 16:14:03 +00:00
Fernando Cacciola 4448135473 Added an eager filter for impossible split events, to speed up (a factor of almost 2 gained) 2006-07-20 14:24:38 +00:00
Fernando Cacciola edb65e39af Fixed bug in pseudo-split event handling 2006-07-19 16:25:49 +00:00
Fernando Cacciola a86d3fb9dc Visitor enhanced. Demo now uses visitor to draw progress real-time 2006-07-18 15:58:01 +00:00
Fernando Cacciola 65fdc4de76 Fixed typo and merge conflicts 2006-07-17 16:51:54 +00:00
Fernando Cacciola 5348bea246 Visitor added for progress indication 2006-07-15 17:14:39 +00:00
Fernando Cacciola 9588005a05 Fixed a bug in the detection of events at time zero (which ought to be ignored) 2006-07-14 14:13:45 +00:00
Fernando Cacciola e7cbc8a398 Skeleton node coordinates now calculated correctly even for near degenerate vertices 2006-07-07 18:35:41 +00:00
Fernando Cacciola ea7962413c Degenerate vertices now internally handled correctly rather than filtered out 2006-07-05 22:47:43 +00:00
Fernando Cacciola 8317cf47a6 Split-events clustered outside the main PQ to speed up processing.
Degenerate vertices now filtered out instead of being internally handled
2006-07-05 01:15:49 +00:00
Fernando Cacciola 1bed08613b Fixed bug in offseting test driver. Manual profiling code added. 2006-06-21 18:57:11 +00:00
Fernando Cacciola a94d37a274 BUG FIX: Vertex-events replaced by Pseudo-split events 2006-06-20 18:20:05 +00:00
Fernando Cacciola 21b33bca39 fixed wrong #include 2006-06-02 12:51:18 +00:00
Fernando Cacciola 6ef682ab12 switch from .C to _impl.h 2006-05-29 14:09:38 +00:00
Fernando Cacciola ab5126c83b switch from .C to _impl.h 2006-05-29 14:09:22 +00:00
Fernando Cacciola 2d044b3e3a switch from .C to _impl.h 2006-05-29 14:08:59 +00:00
Fernando Cacciola 69610dff80 impl files moved to subdir 2006-05-29 13:30:31 +00:00
Fernando Cacciola 2cdbb04329 nomsg 2006-05-29 13:29:29 +00:00
Laurent Saboret 87d65f75e3 Fixed svn properties of ASCII files (as defined by Maintenance/svn_client/config) 2006-04-18 12:42:52 +00:00
Laurent Saboret 312353dd51 Global fix of svn:executable property in trunk 2006-04-14 15:07:17 +00:00
Fernando Cacciola 417891f528 More VC8 fixes 2006-03-26 16:16:40 +00:00
Fernando Cacciola 18c356954c VC8 fixes 2006-03-23 21:46:21 +00:00
Fernando Cacciola 1dc6f764df Coincident-nodes merging added 2006-03-20 21:25:42 +00:00
Fernando Cacciola 73dc922516 consecutive coincidentpoints filter and overflow handling added, 2006-03-16 22:02:49 +00:00
Marc Glisse 186139c583 CGAL_SLS_i -> CGAL_SS_i in the sunpro fix. 2006-03-13 11:00:42 +00:00
Fernando Cacciola f2232527c6 Exterior skeletons/offset support added.
Doc Improvements
2006-03-13 08:06:37 +00:00
Marc Glisse 9240d225b1 Replace:
typedef B<T> B;
by:
typedef A::B<T> B;
to make sunpro happy.
2006-03-11 18:34:06 +00:00
Fernando Cacciola fa0a146e27 Doc improvements. 2006-03-11 15:54:42 +00:00
Fernando Cacciola 176f4b23e3 More bugs fixed. Additional test cases added 2006-03-09 17:02:27 +00:00
Fernando Cacciola 611100f4f9 Switched to gcc4.0.2
Bugs fixed
2006-03-02 17:28:43 +00:00
Fernando Cacciola 6e770f47ec Bugs fixed 2006-02-27 23:52:22 +00:00
Fernando Cacciola 25f243ac2c Pictures added to the docs. Validity check added to the demo and test. Test extended to load, try and check a set of samples. 2006-02-26 02:09:29 +00:00
Fernando Cacciola 701b2ea7ee Missing MP_Float sqrt() workaround. Missing tex sources added. 2006-02-17 16:13:05 +00:00
Fernando Cacciola f99b9ccc26 Bug fixes and debug enhancements. 2006-02-16 16:07:03 +00:00
Fernando Cacciola 1124e66512 nomsg 2006-02-15 18:53:39 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret 78d913fc1a Move packages to trunk root 2006-02-14 08:58:19 +00:00