Commit Graph

180 Commits

Author SHA1 Message Date
Laurent Rineau 9db8b7f17b remove extra include 2024-04-26 16:41:01 +02:00
Laurent Rineau 0fa27bc857 Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau 2024-04-24 16:51:27 +02:00
Laurent Rineau aad04f71d3 fix CC time_stamper 2024-04-22 14:23:24 +02:00
Laurent Rineau b112f2db75 simpler timestamp system 2024-02-22 13:40:58 +01:00
Laurent Rineau 971082296c fix the timestamp system 2024-02-21 12:07:55 +01:00
Laurent Rineau 4bef1ac665 move With_point_and_info_tag to Compact_container.h 2024-02-13 13:04:13 +01:00
Laurent Rineau f984af0a6c fix a compilation error with C++<20 2024-01-22 23:03:53 +01:00
Laurent Rineau 73c5a2cf5f Add With_offset_tag 2024-01-16 15:27:48 +01:00
Laurent Rineau f753446633 oformat(x, tag) passed the tag value to the Output_rep
That allows to pass an integral offset to the displayed time stamps.

The goal is to set it to -1, to display vertices IDs that are identical to the input vertices indices of `the Surface_mesh`.
2024-01-15 09:45:25 +01:00
Sébastien Loriot 8700394122 boost::mpl::if_ -> std::conditional 2023-09-24 22:57:20 +02:00
Laurent Rineau fcc574c24c better debug messages 2023-06-29 17:03:16 +02:00
Laurent Rineau e03279ec13 Improve I/O
- `IO::oformat` can display triangulations vertex handles
  with point, using `With_point_tag{}` as second argument,

- improve the compatibility with C++20 `<format>`: now the precision
  can be specified in the format string.

Backport: master
2023-03-08 16:54:47 +01:00
Laurent Rineau cddb01ab68 Merge pull request #7253 from lrineau/Triangulation_2-improve-CDT_2_debugging-GF
STL_Extension/Triangulation_2: improve CDT_2 debug messages
2023-02-06 14:17:40 +01:00
Laurent Rineau e8d1095526 Use Output_rep to display debug info 2023-02-06 10:00:58 +01:00
Laurent Rineau 20c67be903 Merge pull request #7115 from MaelRL/T3-test_cleaning-GF
(Partial) Cleaning of Triangulation_3 tests

# Conflicts:
#	Kernel_23/include/CGAL/Kernel/interface_macros.h
2022-12-13 15:24:38 +01:00
Andreas Fabri 8ddf7848a0 forward call instead of duplicated code 2022-11-30 10:03:45 +00:00
Andreas Fabri 699454ae84 STL Extensions: Correct spelling 2022-11-29 13:22:00 +00:00
Laurent Rineau ac44c7138d Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau 2022-11-14 10:26:41 +01:00
Sébastien Loriot 4f5f8341cc use std::enable_if_t 2022-06-10 07:37:53 +02:00
Andreas Fabri 440a8dfb7b Fix file name 2022-02-03 08:41:04 +00:00
Andreas Fabri 735752bec9 Do the remaining changes after Laurent's check 2022-02-03 08:02:11 +00:00
Laurent Rineau e683686055 Merge pull request #6094 from sloriot/AOS_2-remove_fast_pool_allocator
Fix issues with new containers for arrangement cells

# Conflicts:
#	Arrangement_on_surface_2/include/CGAL/Arr_dcel_base.h
2021-11-18 12:31:39 +01:00
Sébastien Loriot 9ad2991483 same change for CCC 2021-11-04 16:27:05 +01:00
Sébastien Loriot 4788732815 speed up begin() in case the container is empty but freelist is not 2021-11-04 15:16:22 +01:00
Andreas Fabri 15d788ef29 Remove commented code section which contains a call to memset() 2021-09-23 16:57:34 +02:00
Simon Giraudot 3448035fc6 Fix CC_iterator by making constructor from pointer explicit 2021-03-24 08:25:29 +01:00
Simon Giraudot 80e99153dc Use Compact Container in DCEL base instead of in place list 2021-01-28 10:30:55 +01:00
Laurent Rineau 871c97273a Merge pull request #4496 from lrineau/CGAL-move_semantic_for_triangulations-GF
Add move-semantic to Compact_container and Triangulations
2020-06-03 16:23:22 +02:00
Laurent Rineau 14b18f81ee Merge pull request #4735 from lrineau/Triangulation_2-fix_CDT_2_degenerate_case-GF
Fix a bug in <CGAL/Constrained_triangulation_2.h>
2020-05-27 16:33:21 +02:00
Laurent Rineau 0ea385712f Fix compatibility with C++03 2020-05-22 14:52:18 +02:00
Laurent Rineau dcc4fb1cc1 Merge remote-tracking branch 'cgal/master' into CGAL-move_semantic_for_triangulations-GF
# Conflicts:
#	STL_Extension/include/CGAL/Compact_container.h
2020-05-20 09:46:26 +02:00
Laurent Rineau fcc5ccca53 Merge pull request #4669 from gdamiand/CGAL_warning-gdamiand
Remove "unused-but-set-parameter" warnings
2020-05-18 12:24:44 +02:00
Sébastien Loriot c5af2b25f3 Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-04-22 13:27:29 +02:00
Sébastien Loriot 157bdbda08 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-04-22 13:26:52 +02:00
Guillaume Damiand 74d89220e2 Remove warnings 2020-04-20 15:25:40 +02:00
Jeff Trull 8b21a67508 Forward declare class template Instead of including a new header 2020-04-07 14:50:17 -07:00
Jeff Trull 905dabc3a2 Fix reference-to-null-pointer UB
Hash compact_container iterators directly from their underlying
pointers, rather than taking the address of their dereferenced objects
2020-04-07 14:47:58 -07:00
Laurent Rineau ebe9b68272 Merge branch 'CGAL-move_semantic_for_triangulations-GF' into Triangulation_3-CDT_3-lrineau 2020-03-10 16:40:57 +01:00
Laurent Rineau 1eba82246e Rule of zero for CC_iterator
This commit is the one fixing the mis-compilation by MSVC 2015.
2020-03-09 17:35:52 +01:00
Laurent Rineau 378554e5a7 Change the API of `for_compact_container`/`Compact_container_traits`
Now, we have a proper pair of getter/setter, and the `void` pointer is
get by a `reinterpret_cast`, instead of a union.

Cc: @mglisse
2020-03-09 17:19:58 +01:00
Laurent Rineau e3d7f7946d CC_iterator(CC_iterator&&) is now `= default`
That fixes a segmentation fault with Visual Studio in Skin Surface
Meshing.
2020-02-28 14:01:54 +01:00
Laurent Rineau af8049e45c Merge branch 'CGAL-move_semantic_for_triangulations-GF' into Triangulation_3-CDT_3-lrineau
# Conflicts:
#	STL_Extension/include/CGAL/Compact_container.h
#	Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h
#	Triangulation_3/benchmark/Triangulation_3/CMakeLists.txt
2020-02-24 15:32:36 +01:00
Laurent Rineau 0c40f7a458 "Fix" for dumb MSVC compilers
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-5.1-Ic-77/Triangulation_2/TestReport_afabri_x64_Cygwin-Windows10_MSVC2015-Debug-64bits.gz

My guess is that the compiler short-circuits `Const &&` when the
argument `Const` is `false`, and then the expression `Const &&
!OtherConst` is no-longer dependent on the argument `OtherConst`.

That "fix" just turn `Const &&  !OtherConst` to `!OtherConst && Const`.
2020-02-19 16:27:10 +01:00
Laurent Rineau e82ea5de96 Add move-semantic to Compact_container
That required a refactoring the timestamper feature. And the
explanation why is quite long... Let's do it.

The CGAL triangulations use the `Rebind_TDS` feature. During the
instanciation of `Compact_container<T>` it is important that `T` is
allowed to be incomplete, otherwise the circular dependencies between
TDS and Vertex/Cell cannot be resolved by the compiler. In previous
implementation of the timestamper, to allow `T` to be an incomplete
type, the compact container only carried a *point* to the time
stamper, allocated on the heap. A moved-from compact container would
only be valid if one recreated a time stamper for it on the head in
the move-constructor. As I want move operations to be `noexcept`, I
needed to change that implementation. Now the triangulation always
carries a time stamp counter (`std::size`), independently of the type
`T`, and the time stamper is an empty class, with static methods. That
allows `T` to be incomplete during the declaration of
`Compact_container<T>`.
2020-01-31 11:29:55 +01:00
Laurent Rineau 8282847686 Add code CGAL_DEBUG_CDT_3 2019-12-11 11:23:42 +01:00
Laurent Rineau 65cde3ce79
Merge branch 'master' into Faster_dd_spatial_searching-cjamin 2019-12-03 19:18:15 +01:00
Simon Giraudot c43c6ac2fa Merge remote-tracking branch 'clement/Faster_dd_spatial_searching-cjamin' into Faster_dd_spatial_searching-cjamin 2019-10-22 13:21:53 +02: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 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