Commit Graph

1015 Commits

Author SHA1 Message Date
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
Andreas Fabri da011b2abe No longer #if 0 2025-10-17 10:43:33 +01:00
Sebastien Loriot 878ba3fc53
suggestions from Mael
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2025-10-17 10:28:57 +02:00
Andreas Fabri 9a99df4a9d Comment static_assert 2025-10-01 09:38:38 +01:00
Andreas Fabri 0a743e6a1a Document named parameter verbose 2025-09-30 08:41:58 +01:00
Andreas Fabri 36b66946b8 after Mael's review 2025-09-30 08:30:55 +01:00
Andreas Fabri 89ba13f977 fix doxygen warning 2025-09-30 08:13:22 +01:00
Andreas Fabri e652a7976a fix doxygen warning 2025-09-29 16:21:33 +01:00
Andreas Fabri b97c4b78c3 Convert on the fly to double 2025-09-29 13:55:26 +01:00
Sébastien Loriot 70baa7f940 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-09-28 17:11:10 +02:00
Sébastien Loriot 1536d9db5d eof 2025-09-27 08:34:05 +02:00
Sebastien Loriot 9cdaacb7d0
warnings 2025-09-27 08:32:50 +02:00
Andreas Fabri 5103fb4eb7 merge 2025-09-26 17:18:25 +01:00
Andreas Fabri 4176a2a551 Surface_mesh: Fix collect_garbage in case mesh is not valid 2025-09-26 12:57:29 +01:00
Andreas Fabri c225dd0c34 Surface_mesh 2025-08-06 08:22:31 +01:00
Andreas Fabri 79f93a46df Surface_mesh 2025-08-06 07:51:26 +01:00
Laurent Rineau ed4901c484 simplify the code for MSVC 2019
See the ICE at https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.1-Ic-160/Constrained_triangulation_3/TestReport_Christo_MSVC-2019-Community-Release.gz
2025-05-22 18:55:16 +02:00
Laurent Rineau 4b029e69bd Merge branch 'CGAL:master' into Triangulation_3-CDT_3-lrineau 2025-05-13 17:14:39 +02:00
Laurent Rineau 1ac837d236 fix warnings about uninitialized default-constructed values 2025-05-12 18:51:01 +02:00
Laurent Rineau 010adccdec fix the mentions of CGAL_USE_BASIC_VIEWER_QT (with the Qt suffix) 2025-05-02 09:22:38 +02:00
Sébastien Loriot 05f479356e undo doc changes 2025-04-30 10:06:15 +02:00
Sébastien Loriot a9c8a49831 use CGAL_Basic_viewer target 2025-04-30 09:19:50 +02:00
Guillaume Damiand b9efd6983c replace macro CGAL_USE_BASIC_VIEWER by CGAL_USE_BASIC_VIEWER_QT 2025-04-17 17:45:10 +02:00
Guillaume Damiand 219ea871d7 copy the parts of gsoc2024-basic_viewer_glfw-tgrillon that concern only the qt basic viewer 2025-04-17 15:55:54 +02:00
Mael Rouxel-Labbé 691fd789f9 Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2025-03-24 21:34:55 +01:00
Sebastien Loriot 14b83f0d3e
boost::tie -> std::tie (#8715) 2025-02-12 19:36:19 +01:00
Laurent Rineau e5001d1a50 update our CMake version 3.18...3.31
That will suppress the warnings about `CMP0167` (from CMake 3.30):

```
CMake Warning (dev) at cmake/modules/display-third-party-libs-versions.cmake:37 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
```
2025-02-04 14:32:37 +01:00
Sébastien Loriot 107f3696dc boost::tie -> std::tie 2025-01-24 14:20:00 +01:00
Sébastien Loriot b32558b87e Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-12-16 11:47:34 +01:00
Laurent Rineau 96cd3e6f09 Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-17 00:25:24 +02:00
Sven Oesau a06002ab2b Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-10-14 14:42:46 +02:00
Andreas Fabri 9e75ab340d Use add_compile_definitions 2024-10-09 11:58:52 +01:00
Andreas Fabri 527569346e CGAL: Modernize CMakeLists.txt 2024-10-08 17:02:41 +01:00
albert-github dd02af92a2 issue #8515 Spelling mistakes found checking `en-GB` to `en-US`
Spelling corrections, `en-GB` -> `en-US`
2024-10-05 11:28:29 +02:00
Mael Rouxel-Labbé 67aba3fefe Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-06-20 10:18:49 +02:00
Andreas Fabri 5171477b26 Fix tests 2024-06-17 15:57:38 +01:00
Andreas Fabri 7ab9468594 typename 2024-06-11 14:24:03 +01:00
Andreas Fabri a316b67548 Merge remote-tracking branch 'cgal/master' into IO-read_PLY_Epeck-GF 2024-06-11 14:14:18 +01:00
Andreas Fabri 969062e3df Add the possibility to pass a vertex normal map 2024-06-11 13:15:04 +01:00
Laurent Rineau 3a223ebd1e cmake_minimum_required(VERSION 3.12...3.29) 2024-06-06 20:19:44 +02:00
albert-github 92a5cc9ea0 Spelling correction
instanciation -> instantiation
2024-05-27 13:01:46 +02:00
Sébastien Loriot 53267221d3 Merge remote-tracking branch 'cgal/5.6.x-branch' 2024-05-26 17:50:08 +02:00
Sébastien Loriot 5bb8ae63a1 add other surface mesh overloads 2024-05-24 14:34:32 +02:00
Andreas Fabri 9c2224620d Surface_mesh: Add exact_num_faces(const SM&) 2024-05-22 14:27:43 +01:00
Laurent Rineau 81357855d5
Using std::optional for Property_container::get<T> (#8035)
## Summary of Changes
Switching from `std::pair<Property_map<T>, bool>` to `std::optional` in
`Property_container::get<T>`

Introducing `Pair_optional_adaptor` for backward compatibility which
extends `std::optional<T>` to interface of `std::pair`

using `Pair_optional_adaptor` for `Surface_mesh` and `Point_set_3`

## Release Management

* Affected package(s): Point_set_3, Surface_mesh, STL_Extension
2024-05-22 12:12:56 +02:00
Sven Oesau 748b1ebb61 switching to auto 2024-05-16 15:05:24 +02:00
Sven Oesau fb99772ec4 fixing warnings and errors 2024-05-16 11:24:45 +02:00
Laurent Rineau 022b19d3ca Merge pull request #8057 from sloriot/AABB_tree-2d_and_3d
Updating the AABB-tree to work in both 2D and 3D
2024-05-15 16:12:19 +02:00
Sébastien Loriot 35b6164f6b fix warnings 2024-05-15 15:20:22 +02:00
Sven Oesau e468288cf1 added missing typename 2024-05-14 14:47:09 +02:00