Commit Graph

222 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 35613b984f Deal with generic version 2025-10-30 11:45:28 +01:00
Andreas Fabri d9ba43a9ba Make it constexpr to avoid error in CI 2025-10-17 12:40:30 +01:00
Andreas Fabri 98a3051235 copy style 2025-10-17 10:48:26 +01:00
Sebastien Loriot d9262b1c46
Respected verbose (#9070)
## Summary of Changes

Added a small piece of code that generates an error message if verbose
is on and adding a face fails.
This fix is the bare minimum....
It would be nice to normalize all error messages and make them look
similar.

## Release Management

* Affected package(s): BGL
* Issue(s) solved (if any): fix #9034 partially. It partially fixes item
4. in the list of the bug report
* 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:
2025-10-13 09:32:12 +02:00
Sébastien Loriot 24024424ef use constexpr 2025-10-02 15:11:02 +02:00
Mael Rouxel-Labbé f697aa5237 Also dump can_add_face output when a face fails to be added 2025-10-02 13:35:48 +02:00
Andreas Fabri 39531baac8 Use has_vnormal 2025-10-02 07:23:22 +01:00
Andreas Fabri 737079e530 Fix warning 2025-10-01 09:15:54 +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 33bd58bbef fix doxygen warning 2025-09-30 06:47:14 +01:00
Andreas Fabri 5103fb4eb7 merge 2025-09-26 17:18:25 +01:00
Efi Fogel 22c7de1d6a Fixed check 2025-09-17 17:01:38 +03:00
Efi Fogel a5300e16f0 Respected verbose 2025-09-17 16:36:10 +03:00
Andreas Fabri edd1868f50 CGAL: Remove some deprecated functions 2025-08-05 16:13:44 +01:00
Jane Tournois c4760da918 in OpenMesh, the outgoing halfedge of a boundary vertex must be the boundary halfedge 2024-12-03 10:48:57 +01:00
Jane Tournois 7c156fa6cd use NP stream_precision 2024-11-15 14:59:21 +01:00
Jane Tournois 64acf21a1b read and write doubles instead of floats 2024-11-15 14:12:05 +01:00
Sebastien Loriot 74ea8b1f6c
Add CGAL::IO::read_OM() (#8427)
## Summary of Changes

Add a function to read an OpenMesh file ( `*.om` ) in CGALlab. This file
format stores also edges and vertices marked as features.
For the moment the function itself is not documented.

## Release Management

* License and copyright ownership: GeometryFactory
2024-11-14 14:12:26 +01:00
Jane Tournois 82e2e7a267 add missing const 2024-11-12 14:46:31 +01:00
Sébastien Loriot 13fcef62e0 missing const 2024-11-08 16:26:01 +01:00
Sébastien Loriot c8936698ac apply @MaelRL review 2024-11-08 16:22:47 +01:00
Sébastien Loriot 51b98e9cc2 add doc 2024-10-24 16:54:15 +02:00
Jane Tournois cddb3d5c56 move OM.h IO header to BGL package
adapt demo and examples
BGL example TriMesh.cpp does not compile
2024-10-23 11:58:02 +02:00
Andreas Fabri a69ff37004 Cleanup as suggested in Issue 8399 2024-09-17 09:51:55 +01:00
Andreas Fabri 5171477b26 Fix tests 2024-06-17 15:57:38 +01:00
Andreas Fabri 05014378d6 Add doxygen 2024-06-11 15:50:21 +01:00
Andreas Fabri 0e27e7632c cleanup 2024-06-11 15:36:07 +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 ba87b5c2e5 typename 2024-06-11 14:10:56 +01:00
Andreas Fabri a08388c4e3 Also write normals in the generic code 2024-06-11 14:02:31 +01:00
Andreas Fabri 969062e3df Add the possibility to pass a vertex normal map 2024-06-11 13:15:04 +01:00
Mael Rouxel-Labbé cfcc90d649 Add extra lines to clarify that the blocks aren't related 2024-06-10 14:01:24 +02:00
Andreas Fabri c58286d716 Add #include 2024-06-07 15:30:25 +01:00
Andreas Fabri 6cba601ff3 WIP just to get it working 2024-06-07 15:06:37 +01:00
Andreas Fabri caa8aaaa21 merge master 2024-04-03 14:09:39 +01:00
Mael Rouxel-Labbé 61ad28c80c Swap the contents of CGAL/IO/polygon_mesh_io.h and CGAL/BGL/IO/polygon_mesh_io.h 2023-12-13 09:58:06 +01:00
Mael Rouxel-Labbé 7f85651e82 Merge remote-tracking branch 'cgal/master' into PMP-Remove_degen_faces-no-clear-GF 2023-07-19 13:55:35 +02:00
Sébastien Loriot dfc386d65b Merge branch 'master' into HEAD 2023-06-22 14:05:45 +02:00
Sébastien Loriot 0ee31a5d4f remove extra parenthesis 2023-06-19 19:17:49 +02:00
Sébastien Loriot c8a88b9014 remove CGAL_static_assertion* 2023-06-15 10:42:10 +02:00
Mael Rouxel-Labbé 34a9756836 Use BGL API instead of assuming graph.clear() exists 2023-05-15 12:42:13 +02:00
Sébastien Loriot fc034c6a5d boost::unit -> std::uint 2023-04-23 18:40:39 +02:00
Andreas Fabri 2d203cae0c BGL: Document use_binary_mode 2023-03-06 21:27:04 +00:00
Andreas Fabri d3fca65ae5 CGAL: No longer per package assertions 2022-09-23 12:49:40 +01:00
Sébastien Loriot 9dd8235dc5 more workarounds for MSVC 2015
[skip ci]
2022-08-10 23:50:39 +02:00
Sébastien Loriot 6dc6373af8 is_Point_set_or_Range_or_Iterator<>::value -->
is_Point_set_or_Range_or_Iterator_v<>
2022-06-10 09:55:18 +02:00
Sébastien Loriot 4f5f8341cc use std::enable_if_t 2022-06-10 07:37:53 +02:00
Mael Rouxel-Labbé 477353d5eb Merge parameters::Is_default and parameters::is_default_parameter 2022-04-20 16:01:02 +02:00