Commit Graph

1170 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 7e303f421f Add 'Is_writable_property_map'
Note the following:

'lvalue_pmap_tag' is annoying, because the property map is allowed to be non-mutable,
but boost::lvalue_property_map_tag is !always! defined as:
  struct lvalue_property_map_tag : public read_write_property_map_tag
so we can't just check that 'writable_property_map_tag' is a base of the the pmap's category.

Instead, this struct checks if the reference is non-const, which is not completely correct:
map[key] returning a non-const reference doesn't mean that 'put(map, key, val)' exists,
which is what a writable property map must define.
2020-03-04 09:02:13 +01:00
Mael Rouxel-Labbé e94da7c669 Remove trailing whitespace 2020-03-02 14:00:11 +01:00
Mael Rouxel-Labbé 26463ded7a Update NPs using default constructed default values to new API
+ misc cleaning
2020-02-28 11:55:17 +01:00
Mael Rouxel-Labbé 338089b2a5 Add an overload of choose_parameter with a single parameter
The previous (and only) overload of choose_parameter required two parameters,
with the default parameter often being a default constructed object
of type the type of the object being passed in named parameter.
For example:

typedef typename CGAL::GetPointMap<PointRange, NamedParameters>::type Point_map;
Point_map pm = choose_parameter(get_parameter(np, internal_np::point_map),
				Point_map());

However, this can be unpleasant, for example when passing functors that have
an underlying lambda such (function_property_map, ...) because lambdas
cannot be default constructed.

With the new API:

typedef typename CGAL::GetPointMap<PointRange, NamedParameters>::type Point_map;
Point_map pm = choose_parameter<Point_map>(get_parameter(np, internal_np::point_map));

all is well.
2020-02-28 11:48:41 +01:00
Maxime Gimeno 79c390eb6d fix warning 2020-02-26 16:17:17 +01:00
Maxime Gimeno 9a454ca7e2 Changes after review 2020-02-21 11:43:08 +01:00
Maxime Gimeno 077a129216 Merge remote-tracking branch 'cgal/master' into PMP-Default_pmap-maxGimeno 2020-02-21 10:34:14 +01:00
Maxime Gimeno 195d43bc5e Fix conversion warning 2020-02-20 16:49:54 +01:00
Mael Rouxel-Labbé bcd4f9600f Make GetPointMap work with only a PointRange template 2020-02-20 11:11:51 +01:00
Mael Rouxel-Labbé 3a968a3433 Move GetPointMap to CGAL:: namespace (from CGAL::PSP_3)
Since it'll also be used in PMP
2020-02-19 17:47:43 +01:00
Maxime Gimeno c999ce144f Add the missing spe for Seam_mesh and dynamic_property_map 2020-02-19 10:07:53 +01:00
Maxime Gimeno 928f2bd2bb Remove unused typedef 2020-02-19 09:16:55 +01:00
Maxime Gimeno cf6fec2bbb move using 2020-02-18 16:36:05 +01:00
Maxime Gimeno aeb44510f1 Fix doc about boost/CGAL property tags 2020-02-18 15:27:34 +01:00
Maxime Gimeno 7ec84ae69c replace the functor by overloads of a free function 2020-02-18 14:42:53 +01:00
Maxime Gimeno 7d11c830e4 add some typedefs to get_ndi_map 2020-02-18 11:38:08 +01:00
Maxime Gimeno 9459df666d fix after review 2020-02-18 11:26:09 +01:00
Sébastien Loriot e759011cb5 handle cases when the traversed faces is split by a border
a non-manifold vertex might be created in this case
2020-02-17 19:11:13 +01:00
Maxime Gimeno b9a8d50b66 add missing include 2020-02-17 11:18:42 +01:00
Maxime Gimeno 5538786eff Merge remote-tracking branch 'cgal/master' into PMP-Default_pmap-maxGimeno 2020-02-14 15:00:54 +01:00
Laurent Rineau d872e134b2 Merge pull request #4508 from MaelRL/BGL-Fix_graph_has_property_doc-GF
BGL: fix doc of graph_has_property
2020-02-14 14:46:29 +01:00
Laurent Rineau 141eed441c Merge pull request #4508 from MaelRL/BGL-Fix_graph_has_property_doc-GF
BGL: fix doc of graph_has_property
2020-02-14 14:39:16 +01:00
Maxime Gimeno 249eb85060 fixes 2020-02-14 14:25:28 +01:00
Maxime Gimeno 002a3ac218 refines the Is_pmap_writable to take the reference constness into account 2020-02-14 13:40:57 +01:00
Mael Rouxel-Labbé 754cf35342 Fix graph_has_property not showing up in documentation
Consequence of the doc being split between doc/CGAL and include/CGAL...
2020-02-07 16:11:22 +01:00
Mael Rouxel-Labbé 3bfbb3c805 Add missing 'typename' 2020-01-29 11:58:17 +01:00
Mael Rouxel-Labbé 7f6bf9b3cb Add skeletons for CGAL::read_PS, CGAL::read_PM, PMP::read_PM 2020-01-29 11:44:03 +01:00
Mael Rouxel-Labbé ae1c28c885 Move 3MF FaceGraph reading from SS to BGL 2020-01-29 11:34:32 +01:00
Mael Rouxel-Labbé 9de1e305cd Move a facegraph ply reader to where it belongs (SS --> BGL) 2020-01-29 11:33:20 +01:00
Mael Rouxel-Labbé 624cf89863 Some const correctness 2020-01-29 11:32:43 +01:00
Mael Rouxel-Labbé 1623a0886d Don't set stream precision 2020-01-29 10:12:33 +01:00
Mael Rouxel-Labbé 41271b67f6 Improvements to CGAL i/o across the board 2020-01-29 10:00:07 +01:00
Mael Rouxel-Labbé b1da380064 Rework Surface_mesh IO 2020-01-28 18:36:30 +01:00
Mael Rouxel-Labbé adb8410266 Fix output precision 2020-01-28 12:10:59 +01:00
Mael Rouxel-Labbé 39ca37bd4e Remove extra ; 2020-01-28 12:10:59 +01:00
Mael Rouxel-Labbé 4058da8ce1 Restore name/color reading from GOCAD 2020-01-28 12:10:59 +01:00
Mael Rouxel-Labbé 88e9727717 Introduce NPs for polygon soup reading
Enable filling pmaps of surface mesh on reading

Also can write pmaps (off / obj)
2020-01-28 09:03:50 +01:00
Mael Rouxel-Labbé b4862c2361 Fix typo 2020-01-27 09:46:24 +01:00
Mael Rouxel-Labbé 9e2289c63d Clean code 2020-01-25 18:18:31 +01:00
Mael Rouxel-Labbé 944df2c1ae Add generic facegraph printer 2020-01-25 13:02:27 +01:00
Mael Rouxel-Labbé d8053f8198 Use file writer for WRL output 2020-01-25 13:00:43 +01:00
Mael Rouxel-Labbé 128009fd57 Only check for structure validity, not manifoldness 2020-01-25 12:59:56 +01:00
Mael Rouxel-Labbé 97eddd9135 Fix some I/O returns 2020-01-24 23:28:04 +01:00
Mael Rouxel-Labbé 135595ca92 Misc cleaning 2020-01-24 23:17:33 +01:00
Mael Rouxel-Labbé 7bb2788d6f Use polygon soup OFF reader in polygon mesh OFF reader 2020-01-24 18:13:09 +01:00
Mael Rouxel-Labbé 423ae6ec84 Re-organize and improve BGL IO 2020-01-24 17:48:02 +01:00
Mael Rouxel-Labbé 6a5972cc3b Continue reorganization of CGAL I/O 2020-01-23 16:33:23 +01:00
Mael Rouxel-Labbé e317c689aa Misc compilation fixes 2020-01-17 18:28:57 +01:00
Mael Rouxel-Labbé 828e47f61e Fix some header includes 2020-01-17 17:55:53 +01:00
Mael Rouxel-Labbé d620198049 Merge branch 'CGAL_IO-maxGimeno-old' into CGAL_IO-maxGimeno 2020-01-17 12:34:08 +01:00
Simon Giraudot 3cd8207f51 Merge remote-tracking branch 'necip/gsoc2019-pointmatcher_icp_wrapper-necipfazil' into gsoc2019-pointmatcher_icp_wrapper-necipfazil 2020-01-16 12:03:49 +01:00
Mael Rouxel-Labbé 57a86afc3b Merge branch 'PMP-Snapping_improvements-GF-old' into PMP-Snapping_improvements-GF 2020-01-15 18:18:24 +01:00
Laurent Rineau 3b660310ee Merge pull request #4428 from sloriot/BGL-selection_border_case
Handle "border" case
2020-01-15 17:31:55 +01:00
Laurent Rineau ed4cf46ee0 Merge pull request #4065 from MaelRL/PMP-New_vertex_normal_computations-GF
PMP: add a new way to compute vertex normals
2020-01-15 17:24:02 +01:00
Laurent Rineau 631e383e20 Merge pull request #4132 from MaelRL/PMP-Remove_small_CCs
PMP: remove small connected components
2020-01-15 17:24:00 +01:00
Laurent Rineau f37e107523 Merge pull request #4428 from sloriot/BGL-selection_border_case
Handle "border" case
2020-01-15 17:19:30 +01:00
Mael Rouxel-Labbé a1115c2ef1 Merge branch 'PMP-Snapping_improvements-GF-old' into PMP-Snapping_improvements-GF 2020-01-15 10:44:49 +01:00
Simon Giraudot 5beaa0c164 Merge remote-tracking branch 'necip/gsoc2019-pointmatcher_icp_wrapper-necipfazil' into gsoc2019-pointmatcher_icp_wrapper-necipfazil 2020-01-15 10:28:10 +01:00
Mael 0f4986f82b Merge branch 'master' into PMP-New_vertex_normal_computations-GF 2019-12-26 19:37:59 +01:00
Sébastien Loriot e80f869147 Merge remote-tracking branch 'cgal/master' 2019-12-20 09:35:45 +01:00
Sébastien Loriot 056ce68477 handle "border" case
hard to put in a test because it depends on the starting
point of the iteration
2019-12-20 09:06:55 +01:00
Simon Giraudot e657cd72f7 Add named parameter for max normal deviation 2019-12-11 12:50:44 +01:00
Mael 7db5153f6d
Merge branch 'master' into PMP-Remove_small_CCs 2019-12-05 12:19:31 +01:00
Mael Rouxel-Labbé 8b37309690 Add two new (undocumented for now) named parameters for PMP::Snap 2019-11-28 15:43:14 +01:00
Mael Rouxel-Labbé 8bbd34168e Add a default template parameter to getVPM for convenience 2019-11-28 15:38:50 +01:00
Laurent Rineau 416cbbcf47 Merge pull request #4277 from MaelRL/PMP-Locate_rework_traits-GF
PMP: Replace `Location_traits` by a simpler API
2019-10-29 15:23:41 +01:00
Mael ab65cc9800
Merge branch 'master' into PMP-Remove_small_CCs 2019-10-28 09:07:45 +01:00
Mael fe681a2edb
Merge branch 'master' into PMP-New_vertex_normal_computations-GF 2019-10-28 08:52:52 +01:00
Mael Rouxel-Labbé ff09c5d0c8 Merge branch 'SMS-Add_GH_simplification-GF-old' into SMS-Add_GH_simplification-GF 2019-10-25 16:35:53 +02:00
Sébastien Loriot 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Mael Rouxel-Labbé 09bd731ff9 Finish documentation 2019-10-18 23:09:21 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Mael Rouxel-Labbé 0f7de56d76 Move a number of Named Parameter type extractor from CGAL::PMP:: to PMP::
These are used in a number of pacakges other than PMP and the code
is also already in /BGL. None are documented.
2019-10-17 12:41:30 +02:00
Mael Rouxel-Labbé 79026c255e Fix documentation of CGAL::make_grid (bad line break, bad links) 2019-10-08 15:35:29 +02:00
Maxime Gimeno 1a429d03e4 Add dry_run to keep_large_components() and remove_connected_components_of_negligible_size9) 2019-10-01 09:47:00 +02:00
Maxime Gimeno 546be7aff7 Add a `dry_run` parameter to `keep_large_connected_components()` 2019-09-30 15:49:36 +02:00
Maxime Gimeno fe78af0029 Update comment 2019-09-27 08:52:59 +02:00
Maxime Gimeno 97a3390457 Wrap the mechanism in 3 functions with 3 types to reduce the number of template parameters to 2. 2019-09-26 16:31:38 +02:00
Maxime Gimeno bf0e52cf6e Incorporate the initialization of the map to the helpers. 2019-09-24 16:36:57 +02:00
Maxime Gimeno e8ae9c36eb more doc 2019-09-24 15:37:36 +02:00
Maxime Gimeno 0372d7713e bglize the OBJ I/O 2019-09-24 15:07:24 +02:00
Maxime Gimeno d18191db46 rename helper and add detect if map is writable (need_init is true in that case) 2019-09-24 14:15:01 +02:00
Maxime Gimeno 01c7259d0d Fixing read_OBJ() 2019-09-24 13:42:38 +02:00
Maxime Gimeno c022bb2faf WIP tables and missing formats 2019-09-19 15:59:15 +02:00
Maxime Gimeno c8c46d6f00 Finished the `Supported file formats` page 2019-09-19 13:27:06 +02:00
Laurent Rineau 166213806d Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-09-09 14:42:52 +02:00
Sébastien Loriot 17df9b5484 available only if c++11 is available 2019-09-09 10:48:05 +02:00
Laurent Rineau 5075a895f7 Merge branch 'releases/CGAL-4.14-branch' 2019-09-06 14:14:29 +02:00
Laurent Rineau 73500e8d3c Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-09-06 14:14:13 +02:00
Sébastien Loriot 67ce5dd976 add code to prevent silent bad usage of boost::get_param 2019-09-04 15:59:44 +02:00
Maxime Gimeno d285d4aae2 Fix mechanism and adapt cc test for polyhedron with no id 2019-09-04 14:00:08 +02:00
Simon Giraudot 851a5f8566 Add undocumented named parameter to read a pointmatcher config file 2019-09-02 09:47:23 +02:00
Simon Giraudot fff368c351 Merge remote-tracking branch 'necip/gsoc2019-pointmatcher_icp_wrapper-necipfazil' into gsoc2019-pointmatcher_icp_wrapper-necipfazil 2019-09-02 09:46:54 +02:00
Mael Rouxel-Labbé 14e33d62ec Add a convenience default template parameter 2019-08-26 13:01:10 +02:00
Mael Rouxel-Labbé 68419d1e65 Remove_negligible_CCs now take two new NP: area and volume thresholds
If no treshold is provided, a default value is computed based on the length
of the diagonal of the bbox.
2019-08-23 09:24:17 +02:00
Maxime Gimeno a8bccc6e41 restore the bool parameter and use ittogether with the `init_XXX_indices` helper functions. 2019-08-19 12:55:17 +02:00
Maxime Gimeno 4f0d883b27 WIP map_getter helper 2019-08-16 16:01:26 +02:00
Maxime Gimeno 6638d51fe8 - Unify the Facegraph builders (GOCAD and STL for now)
- Make a BGL STL_reader
- Add a test for it.
2019-08-09 13:53:33 +02:00
Maxime Gimeno 6dbf2d3d78 Move STL bgl writer into BGL, and replace it by a soup writer in Stream_support.
Write a SS test for read and write soups in STL
2019-08-09 12:09:20 +02:00