Commit Graph

108178 Commits

Author SHA1 Message Date
Laurent Rineau 05d1cfa9b3 speed-up is_edge with function_output_iterator. 2024-04-26 16:10:23 +02:00
Laurent Rineau 1ee8152353 patch to speed up `incident_cells` in 3D 2024-04-26 16:10:23 +02:00
Laurent Rineau ad30644ed5 add CGAL::Scope_exit
Example of use:

```c++
    Scope_exit guard{[&] {
      for(auto v : region_vertices) {
        v->clear_mark(Vertex_marker::REGION_BORDER);
        v->clear_mark(Vertex_marker::REGION_INSIDE);
      }
    }};
```

with CTAD, or:

```c++
    auto cleanup_tds_data = make_scope_exit([&] {
      for(auto c : cells) {
        c->tds_data().clear();
      }
    });
```
2024-04-26 16:10:23 +02:00
Laurent Rineau 5c636823ba TDS::is_valid add a check of number_of_cells() 2024-04-26 15:08:05 +02:00
Laurent Rineau ed26ee0ab1 fix missing include of <cstdint.h> 2024-04-26 14:52:22 +02:00
Laurent Rineau ca90296877 macros to support C++20 concepts conditionally
(used in CDT_3 only, for the moment)
2024-04-26 14:48:19 +02:00
Laurent Rineau ac47f30cd8 experiment adding tuple-like support for Segment_3 2024-04-26 14:44:37 +02:00
Laurent Rineau cb933b1391 make Unique_hash_map movable 2024-04-26 14:42:36 +02:00
Laurent Rineau 3148e8a6fe make Circulator_from_container somewhat compatible with C++20 ranges 2024-04-26 14:41:48 +02:00
Laurent Rineau cfb8722861 add comments on Compare_angle_3 2024-04-26 14:37:21 +02:00
Laurent Rineau 4adf7e786b fix Compare_angle_3 with six points 2024-04-26 14:37:21 +02:00
Laurent Rineau 15d4d788e6 add Compare_angle_3 with 6 points 2024-04-26 14:37:04 +02:00
Laurent Rineau f53e169baf fix include of <cstdint> 2024-04-26 14:09:41 +02:00
Laurent Rineau ee07b44d67 add a missing include 2024-04-26 14:05:33 +02:00
Laurent Rineau f39b90670b Fix CMake warning: remove usage of VTK_USE_FILE
Backport: master, 5.5.x, 5.4.x
2024-04-26 13:54:44 +02:00
Laurent Rineau bc76d8cbda add CGAL_CAN_USE_CXX20_FORMAT macro for <format> support (C++20) 2024-04-26 13:44:57 +02:00
Laurent Rineau 877e8322d2 fix oformat 2024-04-26 13:42:48 +02:00
Laurent Rineau 4c75012cca 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-04-26 13:29:31 +02:00
Laurent Rineau c2fe3273ff fix the std::formatter for Output_rep 2024-04-26 13:26:50 +02:00
Laurent Rineau 6096748402 Allow to compile with Epeck 2024-04-26 13:23:51 +02:00
Laurent Rineau 1ca6c17a2a use boost::unordered_flat_map to optimize Polyline_constraint_hierarchy_2 2024-04-26 13:13:04 +02:00
Laurent Rineau f219cdff53 minor tweak with constexpr in CT_2 2024-04-26 13:13:04 +02:00
Laurent Rineau 8e1744fbc1 fix constness 2024-04-26 13:12:05 +02:00
Laurent Rineau 952d34c6ea cosmetic changes (indent, spaces, naming) 2024-04-26 13:09:05 +02:00
Andreas Fabri 53b438eeeb STL_extension: Add parameter for value type to Prevent_deref 2024-04-26 13:08:06 +02:00
Laurent Rineau e313fdc697 Add Compare_xy_2 to TriangulationTraits_2
This enables customization of projection traits for CDT_2s and
facilitates unification with the predicates utilized in
3D triangulations.
2024-04-26 12:13:35 +02:00
Laurent Rineau 98f1e53020 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
2024-04-26 12:05:08 +02:00
Laurent Rineau 0f8e3eb955 add contexts_range(T va, T vb
a range for `contexts_begin` and `contexts_end` functions.
2024-04-26 12:02:21 +02:00
Laurent Rineau 94d45552bc Merge pull request #7678 from efifogel/gsoc2023-aos_sphere_demo-denizdiktas
Gsoc2023, stand-alone interactive program that demonstrates 2D arrangements embedded on the sphere
2024-04-25 12:04:54 +02:00
Laurent Rineau d9a8aa26c5 Merge pull request #8131 from afabri/Aos_2-brief_doc-GF
Boolean Set Operations: Fix brief descriptions
2024-04-25 12:04:52 +02:00
Laurent Rineau 3545f004ea Merge pull request #8143 from afabri/Polygon_repair-less_copies-GF
Polygon_repair:: Use move semantics; Add Polygon_2::reserve()
2024-04-25 12:04:50 +02:00
Laurent Rineau 1084b8b524 Merge pull request #8155 from nh2/ply-fix-unused-OutputIteratorValueType
IO: Fix `OutputIteratorValueType` being ignored
2024-04-25 12:04:46 +02:00
Laurent Rineau d2ba8e2f56 Merge pull request #8156 from nh2/kd-tree-shrink-to-fit
kd-tree: Deallocate Point pointer vector after build().
2024-04-25 12:04:44 +02:00
Laurent Rineau 07eb230ed8 Merge pull request #8149 from lrineau/cgallab-cont
Rename Polyhedron demo to CGAL Lab everywhere
2024-04-25 11:30:08 +02:00
Laurent Rineau 2a2031df3b Rename cgallab to CGALlab
@janetournois (see https://github.com/CGAL/cgal/pull/8149#issuecomment-2066444180
2024-04-23 15:09:51 +02:00
Laurent Rineau c4165fe5f9 Merge pull request #7439 from MaelRL/PMP-Remove_degen_faces-no-clear-GF
Introduce remove_all_elements(Graph)
2024-04-22 14:54:18 +02:00
Laurent Rineau 1f999bf8fd Merge pull request #7848 from sxntxn/OBJ_read_arbitrary_whitespace
CGAL::IO::Internal::read_OBJ(): allow arbitrary whitespace in "f" lines
2024-04-22 14:54:14 +02:00
Laurent Rineau af1d76e855 Merge pull request #8113 from mbartelsm/patch-1
Update wlop_simplify_and_regularize_point_set.h documentation
2024-04-22 14:54:10 +02:00
Laurent Rineau 3e3eed7f05 Merge pull request #8129 from sloriot/PMP-deterministic_triangulate_faces
Make triangulate_faces deterministic
2024-04-22 14:54:08 +02:00
Laurent Rineau a391e067f7 Merge pull request #8135 from sloriot/Orthtree-const_property_access
Access to property maps is const
2024-04-22 14:54:04 +02:00
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
Sébastien Loriot 3a32338ccf do not use abbreviation 2024-04-22 09:31:19 +02:00
Niklas Hambüchen 3b6a821105 kd-tree: Deallocate Point pointer vector after build().
This

    vector<const Point_d*> data;

is no longer needed after being `.clear()`ed at the end of `build()`.
This can save a good amount of memory, a `Point_d*` on a 64-bit system
is 8 bytes; almost as large as a typical 3-float `Point_d`.

There's no point keeping its capacity, since any call to `build()`
will efficiently `.reserve()` it anyway.
2024-04-22 01:32:16 +02:00
Niklas Hambüchen de41155aaa IO: Fix OutputIteratorValueType being ignored.
The template typename `OutputIteratorValueType` was unused.

This made specifying it (as suggested by the docs) ineffective,
and forbade to use PLY functions e.g. with `boost::function_output_iterator`,
or any other output iterator whose `value_type` is `void`.
2024-04-21 23:55:58 +02:00
Andreas Fabri dfa0a124cd
Update Polygon/include/CGAL/Multipolygon_with_holes_2.h 2024-04-19 11:29:19 +02:00
Andreas Fabri 31018d0a50 Apply the rule of five 2024-04-19 10:13:40 +01:00
Andreas Fabri 29c6a7905f Add is_empty() 2024-04-19 08:10:46 +01:00
Sébastien Loriot ec186667a1 fix warnings 2024-04-19 09:10:06 +02:00
Laurent Rineau 6c04cbd3e2 prepare precompiled demo cgallab.zip 2024-04-18 16:39:34 +02:00
Laurent Rineau 621859b526 Rename Polyhedron demo to CGAL Lab
And announce it in the `CHANGES.md`.
2024-04-18 12:39:30 +02:00