Commit Graph
301 Commits
Author SHA1 Message Date
Sébastien Loriot 9486495f59 Merge remote-tracking branch 'cgal/main' into 'MaelRL/AW2-GF' 2026-03-05 18:29:53 +01:00
Sebastien Loriot 37e69750b4 Breakup and improve PMP's documentation (#9286)
## Summary of Changes

With the years and the additions to the package "Polygon Mesh
Processing" (PMP), the user and reference manuals have grown overly
large, making it difficult to find information.

This PR splits **the documentation** of PMP into four (three new)
packages:
- PMP (core): essential functions, ranging from simple geometric
functions to distance functions, feature detection etc.
- Boolean Operations on Meshes: Corefinement, autorefinement, clipping,
splitting, slicing, [upcoming kernel ?]
- Meshing and Remeshing of Polygon Meshes: combinatorial and geometric,
local and global meshing and remeshing.
- Polygon Mesh Repair: detection and treatment of defects in polygon
meshes

TODO:
- [x] Update usages of now deprecated PMP border.h (moved to BGL)
- [x] Test deprecated border.h
- [x] Fix "Topics" order
- [x] Dispatch functions and doc coming from:
    - [x] #9131
      - [ ] use the new make_hex in add_bbox
- [x] Move .h but keep include/CGAL/PMP

Tentative TODO:
- [ ] Update some package icons?

## Release Management

Integrate after :
- https://github.com/CGAL/cgal/pull/8935
- https://github.com/CGAL/cgal/pull/9131

* Affected package(s): `PMP`
* Issue(s) solved (if any): 
* Feature/Small Feature (if any):
[PMP_doc_breakup](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/PMP_doc_breakup)
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership: no change
2026-03-03 15:51:59 +01:00
Laurent Rineau 0293e235dd display number of spheres by category (in the infos if the item) 2026-03-01 23:32:50 +01:00
Laurent Rineau 03ac87abaf Merge 'cgal/main' to fix conflicts
Conflicts:
	Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
	Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h
2026-02-25 14:48:01 +01:00
Laurent Rineau 96ac9efa30 fix a warning
```
In file included from /usr/include/c++/15/bits/stl_algobase.h:66,
                 from /usr/include/c++/15/algorithm:62,
                 from /usr/include/qt6/QtCore/qflags.h:10,
                 from /usr/include/qt6/QtCore/qglobal.h:49,
                 from /home/lrineau/Git/cgal-master/Lab/demo/Lab/Plugins/PMP/Selection_plugin.cpp:1:
In function ‘constexpr void std::__advance(_InputIterator&, _Distance, input_iterator_tag) [with _InputIterator = __detail::_Node_iterator<CGAL::SM_Vertex_index, true, true>; _Distance = long int]’,
    inlined from ‘constexpr void std::advance(_InputIterator&, _Distance) [with _InputIterator = __detail::_Node_iterator<CGAL::SM_Vertex_index, true, true>; _Distance = long int]’ at /usr/include/c++/15/bits/stl_iterator_base_funcs.h:226:21,
    inlined from ‘constexpr _InputIterator std::next(_InputIterator, typename iterator_traits<_Iter>::difference_type) [with _InputIterator = __detail::_Node_iterator<CGAL::SM_Vertex_index, true, true>]’ at /usr/include/c++/15/bits/stl_iterator_base_funcs.h:239:19,
    inlined from ‘Scene_polyhedron_selection_item::fg_face_descriptor Scene_polyhedron_selection_item::add_facet_from_selected_vertices()’ at /home/lrineau/Git/cgal-master/Lab/demo/Lab/./Scene_polyhedron_selection_item.h:795:26,
    inlined from ‘void CGAL_Lab_selection_plugin::on_validateButton_clicked()’ at /home/lrineau/Git/cgal-master/Lab/demo/Lab/Plugins/PMP/Selection_plugin.cpp:922:55:
/usr/include/c++/15/bits/stl_iterator_base_funcs.h:164:7: warning: iteration 9223372036854775809 invokes undefined behavior [-Waggressive-loop-optimizations]
  164 |       while (__n--)
      |       ^~~~~
/usr/include/c++/15/bits/stl_iterator_base_funcs.h:164:7: note: within this loop
```
2026-02-20 13:51:51 +01:00
Laurent Rineau b2f69057ac remove the useless macro CGAL_LAB_DEMO_NO_SURFACE_MESHER 2026-02-20 13:50:33 +01:00
Mael Rouxel-Labbé e5898f5ba7 Merge remote-tracking branch 'cgal/main' into PMP-schism 2026-02-17 16:03:31 +01:00
Sebastien Loriot f6014dcc26 Add functions to compute the kernel of a triangle mesh (#9131)
Add functions to compute the kernel of a mesh

## Release Management

* Affected package(s):  `PMP`, `BGL`
* Issue(s) solved (if any): 
* Feature/Small Feature (if any):
[Mesh_Kernel](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Mesh_Kernel)
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*]()
* License and copyright ownership: GF
2026-02-13 13:45:32 +01:00
Sebastien Loriot f60daf05e4 Mesh_2: fix degenerate cases (#9290)
## Summary of Changes

This PR fixes the error reported in issue #781. The main two changes
are:

- in `Refine_edges.h`: allow the refinement point of a constrained edge
to be an existing close encroaching vertex,
- in `Refine_faces.h`: skip tiny bad faces when their bbox are smaller
than a few ulp.

## Release Management

* Affected package(s): Triangulation_2, Mesh_2
* Issue(s) solved (if any): fix #781
* Feature/Small Feature (if any):
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership: maintenance by GeometryFactory, now
copyright change
2026-02-12 15:01:59 +01:00
Mael Rouxel-Labbé 6b4f02c649 Add an undocumented OBJ polyline writer 2026-02-05 15:32:01 +01:00
Laurent Rineau bf02fda158 CGAL Lab, OFF plugin: fix a memory leak
... and factorize the call to `Scene_item::set_name` into a lambda.
2026-02-05 12:16:45 +01:00
Mael Rouxel-Labbé 5786279cdd Fixes for surface_intersection / intersection_polylines 2026-02-05 11:18:48 +01:00
Mael Rouxel-Labbé 1d73fb0c40 Merge remote-tracking branch 'cgal/main' into PMP-schism 2026-02-05 10:34:28 +01:00
lvalque d2c0d5e93f Merge branch 'main' into PMP-kernel 2026-02-05 10:14:12 +01:00
Sebastien Loriot 0f2ef13e0e CGAL: Prefix macros with CGAL_ (#9279)
## Summary of Changes

Prefix macros. Some are include guards, some have relatively generic
names.
Remove several files from CGAL_ImageIO and put the code in the files
kept in `namespace CGAL`

## Release Management

* Affected package(s): several
* License and copyright ownership: unchanged
2026-02-03 14:21:53 +01:00
Mael Rouxel-Labbé 92a58dfe25 Add .obj polyline reading to CGALlab 2026-02-02 14:46:08 +00:00
Mael Rouxel-Labbé 95a4a85aa1 Fix & enhancements for basic generator plugin:
- Fix grid generation for x=constant
- Enable 2D point generation
- Fixes and enhancements for the UI
- General clean-up

Not fixed: the pyramid has a Y axis, that should be at Z for consistency,
or even be a parameter of the BGL function...
2026-01-29 11:33:08 +01:00
Sébastien Loriot d00965e205 interpret commas as spaces 2026-01-28 16:49:38 +01:00
Valque Léo 54b85f6f10 Move Kernel_plugin in PMP 2026-01-27 21:36:26 +01:00
Laurent Rineau 4df8b2429d Mesh_3 plugin: display the wal-clock time 2026-01-26 08:56:14 +01:00
Mael Rouxel-Labbé 84446565a6 Merge remote-tracking branch 'cgal/main' into PMP-schism 2026-01-24 00:47:25 +01:00
Mael Rouxel-Labbé ecdf421952 Fix oracle stacks with empty tops
How did that even work for AW3?...........
2026-01-23 12:58:05 +01:00
Valque Léo ae28ec5c11 Update Kernel_plugin of Lab 2026-01-22 20:51:22 +01:00
Laurent Rineau 158d5616e4 fix conflicts 2026-01-21 10:16:00 +01:00
Mael Rouxel-Labbé d25d98fce4 Update from deprecated PMP/border.h to BGL/border.h 2026-01-21 01:13:20 +01:00
Laurent Rineau ca07d1c553 cleaner code: use VTK enumerators instead of integers 2026-01-20 18:05:58 +01:00
Andreas Fabri 64d228acee Fix plugins 2026-01-15 13:27:47 +00:00
albert-github 76b79c3e10 Corrections to CMakeLists
Synchronizing all on "(or greater)" in CMakeLists.txt
2026-01-12 13:35:14 +01:00
Sébastien Loriot b9916cbb58 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2026-01-09 15:53:29 +01:00
Sebastien Loriot 66abfffb2d Improve Polygon Soup Statistics (#9254)
Fix # degenerate face reports + add self-intersect
2026-01-09 15:49:02 +01:00
Sébastien Loriot d293d7c773 degenerate face test is now a predicate and add does self intersect for triangle soup 2026-01-09 14:21:23 +01:00
Sébastien Loriot f495168770 backport warning fixes 2026-01-07 18:16:39 +01:00
Mael Rouxel-Labbé 40d9f17aab Merge remote-tracking branch 'mine/Polygon_repair-Fix_is_valid-GF' into AW2-GF 2025-12-23 12:39:07 +01:00
Sébastien Loriot 39e7fe5512 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-12-04 18:44:41 +01:00
Sebastien Loriot 163c35c53e Workaround API update of Qt6 (#9165)
Should fix errors
[here](https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.2-Ic-53/Lab_Demo/TestReport_gimeno_ArchLinux-clang-Release.gz)
2025-12-04 18:36:26 +01:00
Sébastien Loriot 26a5fc70e4 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-12-03 11:54:47 +01:00
Andreas Fabri f503ce9359 Lab: use results 2025-12-03 11:51:43 +01:00
Sébastien Loriot 65e7050131 workaround API update of Qt6 2025-12-03 11:24:53 +01:00
Mael Rouxel-Labbé 29f8c3a91c Add .obj polyline reading to CGALlab 2025-11-26 13:28:26 +01:00
Mael Rouxel-Labbé 08a140886d Mirror AW2 improvements into AW3 2025-11-25 23:45:01 +01:00
Sebastien Loriot 1673cd0f9e Fix OBJ loader crashing the demo on reading failure (#9128)
## Release Management

* Affected package(s): `Lab`
* Issue(s) solved (if any): a few entries in #6690 
* Feature/Small Feature (if any): n/a
* License and copyright ownership: no change
2025-11-13 09:40:07 +01:00
Sebastien Loriot dfc5fb5065 IO: write_PLY() for Epeck (#7874)
## Summary of Changes

As reported in #7868 the function `CGAL::IO::write_PLY()` used in binary
mode does not correctly write the coordinates if the points are from a
kernel with exact constructions.
~~This PR applies `to_double()" to the coordinates.~~

~~After a discussion with @MaelRL we decided that the user is in charge
to pass a `vertex_point_map` as named parameter that does the
conversion. This is straightforward as we offer the
[`Cartesian_converter_property_map`](https://doc.cgal.org/latest/Property_map/structCGAL_1_1Cartesian__converter__property__map.html).~~

Moving back to the previous proposal: hardcode some to_double and
to_float casts such that we meet the requirements of the file format,
whatever the input.

As the problem is the same for the vertex normals we add a named
parameter `vertex_normal_map`.

### Todo
- [x] Fix the generic function `write_polygon_mesh()`. Currently it is
fixed for `Surface_mesh`

## Release Management

* Affected package(s): Stream_support
* Issue(s) solved (if any): fix #7868 and fix
https://github.com/CGAL/cgal/issues/7327
* License and copyright ownership:  unchanged
* upcoming integration, update #9072 and test it
2025-11-13 09:38:55 +01:00
Mael Rouxel-Labbé cd787c84d1 Use verbose OBJ reader in Lab 2025-11-07 22:02:08 +01:00
Mael Rouxel-Labbé 0ac856dd41 Fix OBJ loader crahsing the demo on reading failure 2025-11-07 21:00:12 +01:00
Sébastien Loriot 3b0d95e0e5 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-11-06 10:07:15 +01:00
Sven Oesau ffda347171 adding support for Eigen3 5.0.0 (6.1 version)
moving the Eigen3 version check into CGAL_Eigen3_support.cmake
2025-11-06 10:06:29 +01:00
Sébastien Loriot a9b369650a Merge remote-tracking branch 'cgal/6.0.x-branch' into 'cgal/6.1.x-branch' 2025-11-06 10:04:46 +01:00
Sven Oesau 9e36c6744b adding support for Eigen3 5.0.0
moving the Eigen3 version check into CGAL_Eigen3_support.cmake
2025-11-06 10:01:01 +01:00
Sebastien Loriot 2007dd9e9e Fixing conversion warnings (#9095)
## Summary of Changes

Fixing some conversion warnings.

## Release Management

* Affected package(s): Kinetic Surface Reconstruction, Lab, PMP
2025-10-17 10:06:48 +02:00
Sven Oesau 1a07d25cc3 fixing some conversion warnings 2025-10-06 16:06:42 +02:00