Commit Graph

278 Commits

Author SHA1 Message Date
Laurent Rineau 67466144bb Merge pull request #8139 from janetournois/Mesh_3-revert_encroachment_loop-jtournois
Mesh_3 - revert encroachment rule modification, and fix infinite refinement
2024-04-22 14:53:50 +02:00
Jane Tournois a8debb0d2d Revert "Fix sometimes creating holes in the C3T3"
This reverts commit 06d272169f.

There may be an inconsistency between exact and inexact computations,
in the facet encroachment rule

This code was leading to a local infinite refinement loop during cells refinement
2024-04-11 14:16:41 +02:00
Sebastien Loriot caecbe29c7
Replace boost::mpl (#7813)
- `boost::mpl::if_` --> `std::conditional`
- `boost::enable_if` -> `std::enable_if`
- `boost::mpl::and_` -> `&&`
- `boost::mpl::or_` -> `||`
- `boost::constant::bool_` -> `std::bool_constant`
- ...
2023-12-26 17:33:36 +01:00
Sébastien Loriot 16de47d1e6 more fixes 2023-11-23 14:55:30 +01:00
Sébastien Loriot 2277013d84 replace boost::mpl::and_ 2023-11-10 16:19:26 +01:00
Sébastien Loriot ca0f9acbe0 Merge remote-tracking branch 'cgal/5.6.x-branch' 2023-10-25 17:43:16 +02:00
Sébastien Loriot 9cefb1a481 fix out-of-bound warnings 2023-10-19 11:40:35 +02:00
Sébastien Loriot 8700394122 boost::mpl::if_ -> std::conditional 2023-09-24 22:57:20 +02:00
Sébastien Loriot f936680600 Merge remote-tracking branch 'cgal/master' into HEAD 2023-06-15 18:48:39 +02:00
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
Sébastien Loriot b039040f73 boost::is_convertible -> std::is_convertible 2023-04-23 22:37:07 +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