Commit Graph

111889 Commits

Author SHA1 Message Date
Sven Oesau e65e2a0950 deleting selection item in OpenMesh plugin when there is no selection 2025-04-07 09:10:00 +02:00
Sébastien Loriot cc77715588 Merge pull request #6849 from JulyCode/gsoc2022-isosurface
Isosurfacing_3 (new package)
2025-04-03 21:41:22 +02:00
Sébastien Loriot 6188aae5e5 Merge pull request #8259 from loic-dubois/Hyperbolic_surface_triangulation_2-dubois
Hyperbolic surface triangulation 2 (new package)
2025-04-03 19:18:58 +02:00
Sébastien Loriot 7ff41a8950 Merge pull request #7837 from hoskillua/gsoc2023
GSoC2023 - ACVD for Simplification & Remeshing
2025-04-03 18:00:57 +02:00
Mael Rouxel-Labbé 55962d76e3 Update CHANGES.md 2025-04-03 16:26:00 +02:00
Sébastien Loriot 09564a6d7b do not use result_type 2025-04-03 16:13:27 +02:00
Sébastien Loriot a4170b1fb9 Merge pull request #8586 from MaelRL/Kernel_23-Fix_dangling_ref_in_CC3-GF
Do not rely on result_type definitions in kernels
2025-04-03 16:12:09 +02:00
Sébastien Loriot b6719fc3be Merge remote-tracking branch 'cgal/6.0.x-branch' into cgal/master 2025-04-03 16:09:51 +02:00
Sébastien Loriot f516c12c5b Merge remote-tracking branch 'cgal/5.6.x-branch' into 6.0.x-branch 2025-04-03 16:09:15 +02:00
Sebastien Loriot ede0864914
BGL - add `CGAL::dijkstra_shortest_path(vs, vt, mesh)` (#8724)
## Summary of Changes

computes the shortest path between two vertices, using Dijkstra
algorithm

Todo
- [x] write doc and integrate to 
- [x] add np
- [x] add measure to define what "shortest" means
- [x] add to ref manual top page
- [x] use in demo code

## Release Management

* Affected package(s): BGL
* [Small
feature](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Add_CGAL::shortest_path(vs,_vt))
* Link to compiled documentation
[CGAL::shortest_path_between_two_vertices()](https://cgal.github.io/8724/v0/BGL/group__PkgBGLTraversal.html#ga5627dee8a6fe4d238cb5c91e123aa763)
* License and copyright ownership: unchanged
2025-04-03 16:07:02 +02:00
Sebastien Loriot c5a809ad30
Spelling correction (#8813)
Spelling correction
2025-04-03 16:05:14 +02:00
Sebastien Loriot 7b0c8bd405
Fix return type of point on plane constructions (#8803)
## Summary of Changes

The main issue is that the functions `point_on_plane()` and
`projection_plane()` return a `PointC3`, whereas you could have a kernel
that uses a custom point type with `PlaneC3` as its plane type. The
correct return type is thus the kernel's point.

I moved the code into PlaneC3, but the really clean fix would be to have
all of this into the function object `Construct_point_on_3`. However, a
lot of required changes immediately get pulled: `Construct_point_on_3`
does not have the Cartesian / Homogeneous split, other overloads do not
have a nice implementation and instead use directly the members in the
Rep, etc.

## Release Management

* Affected package(s): `Cartesian_kernel`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2025-04-03 15:57:17 +02:00
Sebastien Loriot b45c29edd4
Fix Compare_xy_2 for the generic 3D projection traits (#8810)
## Summary of Changes

The previous implementation defined `Compare_xy_2` as simply
`Compare_xyz_3`. This does define an order over the projected points,
but it has a strong downside: it ignores the direction of the normal, so
its order can be the opposite of the lexicographical order
would give. This new order is in conflict with the existing
`Compare_x_2` and `Compare_y_2`, which take the normal's direction into
account.

(Also with the `Less_x_2`, `Less_y_2`, and `Less_xy_2` family, which
also exist for the projection traits.)

## Release Management

* Affected package(s): `Kernel_23`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): - 
* License and copyright ownership: no change
2025-04-03 15:54:37 +02:00
Mael Rouxel-Labbé 19a0e6e2a7 Update CHANGES.md 2025-04-03 15:54:05 +02:00
Sebastien Loriot 913c8bf40f
missing include in boost + extra care for overload resolution (#8818)
Backward compatible fix for #8759

Thanks for the idea @mglisse
2025-04-03 15:53:41 +02:00
Mael Rouxel-Labbé f5f5727d50 Update CHANGES.md 2025-04-03 15:44:50 +02:00
Sébastien Loriot 60b4b19ba4 add more potentially missing include directives 2025-04-02 09:10:51 +02:00
Sébastien Loriot 2ccb0f7320 add missing include directive 2025-04-02 09:06:49 +02:00
Sébastien Loriot 32ac9f22a7 work around overload resolution with recent gcc 2025-04-01 15:43:43 +02:00
Sébastien Loriot 25f7014350 in some case with needle, some non-manifold faces can be created even with a decent nb of points 2025-04-01 14:42:46 +02:00
Sébastien Loriot 9ff2696011 split at the midpoint to avoid patterns leading to infinite loop 2025-03-31 20:27:27 +02:00
Sébastien Loriot 9c6452dfaf do not take references to points stored in an internal vector that could be resized!
also fix debug function
2025-03-31 17:41:13 +02:00
Sébastien Loriot 5ed3b0d266 Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2025-03-31 15:32:56 +02:00
Sébastien Loriot a838073ec7 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-03-31 15:31:19 +02:00
Sébastien Loriot 108d8671ab fix dependencies 2025-03-31 14:15:30 +02:00
Sebastien Loriot bcaeb64f54
Warning / compilation fixes for 5.6.x (#8798)
## Summary of Changes

Fixes warnings/errors. Quite a few are just cherry picking fixes that
were done in master.

## Release Management

* Affected package(s): Various
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2025-03-31 10:18:14 +02:00
Sébastien Loriot f8a3facc68 missing d 2025-03-31 09:42:52 +02:00
Sebastien Loriot 10ee028ee4
[KSP] inlining functions (#8806)
## Summary of Changes

inlining functions to prevent multiple definition

## Release Management

* Affected package(s): KSP
* Issue(s) solved (if any): fix #8804
2025-03-31 09:37:33 +02:00
Sebastien Loriot 4f35ad1d48
Solver_interface: Adapted to OSQP API changes (#8795)
## Summary of Changes

Adapted solver interface to changes in OSQP API.

## Release Management

* Affected package(s): Solver_Interface
2025-03-31 09:23:36 +02:00
Sven Oesau 6819eae559 Updating doc for osqp 2025-03-31 09:22:54 +02:00
Sven Oesau 0e34a2ef42 adapted solver interface to osqp api change 2025-03-31 09:22:54 +02:00
Sebastien Loriot 14dd2cb7be
Used std::vector instead of c-style arrays for point storage. (#8709)
Updated two CGAL examples to use ``std::vector`` instead of plain
C-style arrays for storing points.

Few more examples can be improved the same way to use ``std::vector``
and avoid usage of c-style arrays.
- Min_annulus_d
- Min_circle_2
- Min_ellipse
- Min_sphere_d
2025-03-31 09:04:00 +02:00
Sebastien Loriot f67a356d5e
Update detect_features.h (#8765)
## Summary of Changes

This commit addresses a bug in the `detect_vertex_incident_patches`
function of the Polygon Mesh Processing package (file:
`Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/detect_features.h`).
The original implementation only processed vertices that were incident
to feature edges, leaving non-feature vertices without any recorded
patch IDs. According to the documentation, every vertex should have a
property map entry listing the patch IDs of all incident faces.

To fix this, the conditional check that restricted processing to feature
vertices has been removed. Now, every vertex is examined, and its
incident patch IDs are correctly gathered.

## Release Management

* **Affected package(s):** Polygon Mesh Processing
* **Issue(s) solved:** fix #8730
* **Feature/Small Feature:** Bug fix for complete patch detection on all
vertices
* **Affected file:**
`Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/detect_features.h`
2025-03-31 09:02:22 +02:00
Sébastien Loriot 9285e5c230 add empty line 2025-03-31 09:01:38 +02:00
Sébastien Loriot adc4caa0f2 add missing include directive 2025-03-31 08:58:47 +02:00
Mael Rouxel-Labbé adf8e5ad6a it's > its 2025-03-28 21:18:55 +01:00
Mael Rouxel-Labbé 53f32aba4a than > then
+ freebie
2025-03-28 21:18:50 +01:00
Mael Rouxel-Labbé 6f875f6fa0 loose > lose 2025-03-28 21:04:58 +01:00
Mael Rouxel-Labbé 5ad86a0fb0 eg > e.g. 2025-03-28 21:04:49 +01:00
Mael Rouxel-Labbé 613e629524 ie > i.e. 2025-03-28 21:04:43 +01:00
Mael Rouxel-Labbé e38e29f279 dont > don't 2025-03-28 20:52:22 +01:00
Mael Rouxel-Labbé 7970fb99e7 later > latter 2025-03-28 20:41:37 +01:00
Mael Rouxel-Labbé e5dce8d04b More ouput > output 2025-03-28 20:37:48 +01:00
albert-github bf4d79b64b Spelling correction
Spelling correction
2025-03-28 18:41:36 +01:00
Sebastien Loriot 3483e40b10
Mesh_3 - add `surface_only()` named parameter (#8781)
## Summary of Changes

Add the option `surface_only()` to `make_mesh_3()`, to completely skip
the "refine_cells" part of Mesh_3, and cancel perturbation and
exudation.
@soesau and I noticed that scanning cells, even in the context of
"Surface mesher", takes a lot of useless time.


@soesau you can use this branch for your benchmark

@lrineau do you think `surface_only` should be a member of `Mesher_3` or
a parameter of `Mesher_3::refine_mesh()` (as done here)?

## Release Management

* Affected package(s): Mesh_3
* [Small
Feature](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Mesh_3_surface_only())
Pre-approved by
[User:Sloriot](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/User:Sloriot)
-- 2025/03/17
* Link to compiled documentation
[make_mesh_3()](https://cgal.github.io/8781/v0/Mesh_3/group__PkgMesh3Functions.html#gac8599a0c967075f740bf8e2e92c4770e)
and
[parameters::surface_only()](https://cgal.github.io/8781/v0/Mesh_3/group__PkgMesh3Parameters.html#gaa2618c09b6117d7caab12dccca16ee58)
* License and copyright ownership: unchanged
2025-03-28 18:23:22 +01:00
Sébastien Loriot 5a83d07e6d Merge remote-tracking branch 'cgal/6.0.x-branch' into master 2025-03-28 18:16:42 +01:00
Sébastien Loriot a3db73dc68 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-03-28 18:15:16 +01:00
Sebastien Loriot fc57e5208e
Installation: Removing FindEigen3.cmake (#8777)
## Summary of Changes

Removing FindEigen3.cmake as it is outdated and no longer required.
It lacks the definition of the target "Eigen3::Eigen" which is used by
the Ceres library.

## Release Management

* Affected package(s): Installation

> [!WARNING]
> Be careful during **the merge into `6.0.x-branch`**: this PR modifies
CMake files in the Polyhedron demo, that was renamed CGAL Lab for
CGAL-6.0.
2025-03-28 18:10:35 +01:00
Sebastien Loriot 3fa6e77002
Mesh_2: Make lloyd_optimize_mesh_2() deterministic (#8768)
## Summary of Changes

Replace a `std::set<Vertex_handle>` by a
`std::set<std::pair<std::size_t,Vertex_handle>>` to make traversing the
set deterministic.
At the same time, do not `erase()` a key, but an `iterator`. 

## Release Management

* Affected package(s): Mesh_2
* Issue(s) solved (if any): fix #8719
* License and copyright ownership: unchanged
2025-03-28 18:04:34 +01:00
Sébastien Loriot f3ff704eea Merge pull request #8554 from afabri/PMP-PoissonDiskSampling-GF
Add Weighted Sample Elimination
2025-03-28 18:03:36 +01:00