Commit Graph

268 Commits

Author SHA1 Message Date
Laurent Rineau 01e22be3b6 Merge pull request #7496 from lrineau/Triangulation_3-fix_regular_with_TBB-GF
Regular_triangulation_3: fix another race-condition
2023-06-07 17:36:41 +02:00
Laurent Rineau 8cd8bc7b06 another fix of a race-condition 2023-06-04 20:49:02 +02:00
Sebastien Loriot b1b02d64fe
P3M3: Non-cubic domains, fixes, improvements (#7062)
## Summary of Changes

- Add a dummy point generator that is agnostic to the periodic domain's
geometry, allowing P3M3 to handle non-cubic domain.
- Add an example of P3M3 running on polyhedral domains.
- Fix a few issues in SMDS_3's tet soup reading relating to
non-manifoldness + general IO code speed improvements.
- Fix a few issues in P3M3's medit output and always duplicate facets to
reduce the quantity of non-manifoldness occurences.
- Fix an issue with including Mesh_3 headers before P3M3's.
- Fix periodic point projection (for Mesh_3 optimizers) badly computing
the projection direction
- Robustify a handful of P3M3 functions that were using intermediate
constructions rather than the <Point, Offset> API (which uses filtered
predicates and thus yields proper robustness)
- Misc minor code cleaning / modernization

ToDo:
- [x] Check if some medit IO issues are fixed
- [x] Add non-manifoldness flag to read_MEDIT
- [x] Fix value of orthosphere_radius_threshold
- [x] Check calls of insert_dummy_points() (use generic)
- [x] Check doc of P3M3 about cubic domains requirement

Not done:
- [ ] Fix sharp features for periodic polyhedral domains (problems due
to changing weights creating cover change...). Code:
https://gist.github.com/MaelRL/357c52dc04e16a162f13a3c6860a1398; WIP
diff: https://gist.github.com/MaelRL/f98809964acffbacb6d3f42793e2654e

## Release Management

* Affected package(s): `Mesh_3`,  `P3M3`, `P3T3`, `SMDS3`
* Issue(s) solved (if any): Fix #6997, Fix #7214
* Feature/Small Feature (if any): TODO
* License and copyright ownership: no change
2023-05-30 19:13:45 +02:00
Laurent Rineau 2d324a2f09 Merge branch '5.5.x-branch' 2023-05-19 18:27:20 +02:00
Laurent Rineau 5a85381d4c remove a trailing whitespace
This time I think I managed to fix my VS Code  Insiders settings to fix that
issue permanently.
2023-05-16 16:13:05 +02:00
Laurent Rineau 97262bf0e9 Triangulation_3: fix a race-condition in regular
The race condition is in the batch insertion of a range
of points, with or without info.
2023-05-16 15:56:32 +02:00
Mael Rouxel-Labbé 06d272169f Fix sometimes creating holes in the C3T3
Example here: https://stackoverflow.com/questions/74403892/missing-elements-in-periodic-c3t3-mesh

See details in the comments (diff)
2022-12-06 11:37:41 +01:00
Mael Rouxel-Labbé b5c21e1f5d Http -> https + update some dead links 2022-11-23 18:54:37 +01: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 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Maxime Gimeno 9533a9fea8 remove CGAL/result_of.h and move its content to config.h 2021-05-07 12:51:07 +02:00
Sébastien Loriot 4bb0406240 do not include boost/bind.hpp (shouldn't be used anymore) + fix remaining bind
(nasty using namespace boost!)
2021-02-12 15:35:19 +01:00
Laurent Rineau 07eacf5231 Merge pull request #4795 from janetournois/Mesh_3-fix_optimisers_parallel-jtournois
Mesh_3 - fix parallel optimisers
2020-06-30 16:38:05 +02:00
Jane Tournois 3b8c06f836 fix adjacent_vertices_threadsafe
internal::Has_member_visited<Vertex> is not threadsafe
2020-06-19 13:31:52 +02:00
Jane Tournois ad9c357f33 add adjacent_vertices_threadsafe and use it in nearest_power_vertex() 2020-06-19 13:31:50 +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
Sébastien Loriot d1a323c730 extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:24:14 +01:00
Sébastien Loriot 9f2eafd06e extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:17:02 +01:00
Mael Rouxel-Labbé 100304667d Remove CGAL::internal::boost_::function_property_map
This file was duplicated from BOOST 1.64 because it appeared in a boost
release that was younger than the oldest boost release supported by CGAL
when the file was first required.

The minimum boost version (1.57) now required by CGAL is younger
than the version in which the file appeared in boost (1.51)
and it can thus be removed.
2020-03-12 20:58:44 +01:00
Laurent Rineau 24082a7114 Fix compilation errors, with a few compiler
```
include/CGAL/Triangulation_hierarchy_3.h:163:23: error: invalid use of 'this' at top level
     noexcept(noexcept(this->Tr_Base::swap(tr)))
                       ^~~~
```

That is actually the subject of a C++ Defect:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1207

Anyway, this was used only for the `noexcept` specification of `swap`
functions, and I no longer use `swap` for the move semantic. I can
remove those noexcept` specifications.
2020-02-12 16:30:26 +01:00
Laurent Rineau 4261d4635b Less use of swap 2020-02-04 10:12:29 +01:00
Laurent Rineau 2717864bd7 Fix warnings cppcoreguidelines-special-member-functions (clang-tidy)
- Remove trivial copy-constructors that prevents the compiler to
  generate the other special member functions.
2020-01-31 12:08:05 +01:00
Laurent Rineau b56cdcb743 Add move-semantic to CGAL (non-periodic) 3D triangulations
- For `Triangulation_3`, the rule-of-zero cannot be used, because of
  the infinite vertex. A special copy-constructor and copy-assignment
  operators are required. But one can `= default the move-constructor
  and move-assignment operator, as well as the destructor.
- For `Delaunay_triangulation_3`, the rule-of-zero is
  sufficient. Nothing to do.
- For `Regular_triangulation_3`, the `hidden_point_visitor` data
  member is a function that is constructed with the `this` pointer, so
  the rule-of-zero cannot be used. Probably the move-constructor
  and move-assignment operator could be explicitly defaulted.
2020-01-31 12:01:43 +01:00
Maxime Gimeno 85712ba28c WIP replacing tbb deprecated includes. 2020-01-14 15:03:20 +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 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +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
Andreas Fabri d067fb409a uncomment 2019-05-21 17:18:11 +02:00
Andreas Fabri 2d1c78fdd9 Unify T3 2019-05-20 18:23:08 +02:00
Laurent Rineau afc3de2894
Merge branch 'master' into Stream_support-Color-GF 2019-01-23 09:37:08 +01:00
Mael Rouxel-Labbé c4b82ba14b Added swap() and an assignement operator for RT3 2019-01-21 14:48:28 +01:00
Mael Rouxel-Labbé b6f6aeb844 Merge remote-tracking branch 'mine/T3-Fix_weighted_ranges_insertion_removal-GF' into T3-Fix_weighted_ranges_insertion_removal-GF 2018-12-18 13:20:58 +01:00
Mael Rouxel-Labbé 82e458da80 Replaced TDS template specialization with tag-based detection 2018-11-14 07:58:08 +01:00
Mael Rouxel-Labbé bb19c965f9 Moved helper struct outside of TBB macros to fix sequential compilation 2018-11-14 07:58:08 +01:00
Mael Rouxel-Labbé aa1e0acbee Replaced macro with a legal vertex handle validity checker 2018-10-10 13:08:14 +02:00
Laurent Rineau 4a70d8773e Re-add examples incorrectly disabled by PR #2835
... and then fix them.
2018-10-08 12:32:12 +02:00
Mael Rouxel-Labbé 8500add791 There is no 'try'! 2018-10-03 16:31:42 +02:00
Mael Rouxel-Labbé e1122cef5c Fixed deadlocks in parallel removal of a range of weighted points 2018-10-03 15:58:59 +02:00
Mael Rouxel-Labbé e2b0683030 Fixed not checking 'hint' validity in the parallel insertion of a range of WPs 2018-10-03 15:57:40 +02:00
Mael Rouxel-Labbé 7ea3a8044e Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-06-05 14:39:18 +02:00
Laurent Rineau c151778454 Merge pull request #3122 from MaelRL/T23-Fix_functor_return_type-GF
Triangulation_23: fix wrong return type in spatial_sort functor

# Conflicts:
#	Triangulation_3/test/Triangulation_3/test_regular_insert_range_with_info.cpp
2018-06-01 17:24:23 +02:00
Laurent Rineau 72d2c8e1ef Merge pull request #3122 from MaelRL/T23-Fix_functor_return_type-GF
Triangulation_23: fix wrong return type in spatial_sort functor

# Conflicts:
#	Triangulation_3/test/Triangulation_3/test_regular_insert_range_with_info.cpp
2018-06-01 17:21:44 +02:00
Mael Rouxel-Labbé e9d3b9767e Fixed taking a reference to a temporary (when using EPECK) 2018-05-28 15:43:45 +02:00
Mael Rouxel-Labbé bfdb89e595 Removed 'move_point()' from Triangulation_3 2018-05-24 14:50:40 +02:00
Mael Rouxel-Labbé 17d46e9211 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-04-26 11:55:17 +02:00