Commit Graph

36 Commits

Author SHA1 Message Date
Sébastien Loriot 1e364e5516 rename macros 2022-07-04 11:26:49 +02:00
Sébastien Loriot 968e9cf5a9 avoid duplicating properties for Polyhedron 2022-06-16 13:29:20 +02:00
Sébastien Loriot 9de38a13b8 move include directives to graph_traits file 2022-06-16 09:55:13 +02:00
Mael Rouxel-Labbé 8166579e55 Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_master-GF 2021-10-11 19:58:07 +02:00
Mael Rouxel-Labbé 590ddf8015 Various fixes for pmaps:
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
  a reference (to avoid `typename PM::reference r = get(m, k)`,
  which will take a ref to a temporary if the `reference`
  typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
  **mutable** property map: the `put()` is `map[k] = v`, which
  is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
  not a reference in `get(map, key)`. You can have a readable property map
  returning a reference through its `get(map, key)`, but if there is
  no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
  or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
  of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
  * `value_type& operator[](key&)`
  * `ref get(map, const key&)`
  * `put(map, const key&, const value_type&)`
  and non-mutable lvalue pmap:
  * `const value_type& operator[](const key&)`
  * `ref get(map, const key&)`
  but not everything fits properly...
2021-10-08 15:38:47 +02:00
Mael Rouxel-Labbé 084a1efe2d Merge remote-tracking branch 'cgal/master' into Distance_3-Add_Tri_Tri-GF 2021-06-23 22:30:03 +02:00
Sébastien Loriot 1faa0e2992 replace internal use of boost::shared_ptr by std::shared_ptr 2021-04-28 10:55:26 +02:00
Mael Rouxel-Labbé 7e62c02176 Re-organize into Distance_2/X_Y.h to align with Distance_3 2021-04-12 15:31:55 +02:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01: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
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
Sébastien Loriot a69b9e138c handle ambiguous overloads 2018-07-18 09:12:46 +02:00
Laurent Rineau 237735ab73 Merge pull request #2946 from afabri/CGAL-dependencies-GF
Move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh
2018-03-27 10:35:23 +02:00
Andreas Fabri b918ab4ba7 Move internal class from Polyhedron to BGL 2018-03-24 11:41:30 +01:00
Andreas Fabri 8c41669fb7 move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh 2018-03-22 16:37:37 +01:00
Maxime Gimeno c3215b9331 Move graph_has_property from namespace boost to namespace CGAL and provide some doc for it. 2018-01-22 12:43:29 +01:00
Andreas Fabri de166d8be7 Fix testsuite 2017-11-29 10:51:06 +00:00
Sébastien Loriot ff26773f7b remove include directive for checking GPL compliance in LGPL headers 2017-11-12 10:21:35 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Andreas Fabri 70b13af39c Do not pollute the boost namespace 2017-07-12 12:11:34 +02:00
Andreas Fabri 3ff34b4b23 cleanup 2017-07-11 20:32:23 +02:00
Andreas Fabri 886bd840cf Make the dynamic property map an implementation detail 2017-07-11 20:32:23 +02:00
Andreas Fabri c35a018135 Move add and remove of property maps in namespace internal (realizing that it is wrong to claim that it works for any FaceGraph 2017-07-11 20:31:34 +02:00
Andreas Fabri 1a91e52275 Remove unused parameter 2017-07-11 20:31:34 +02:00
Laurent Rineau a4a30648f7 Fix warnings 2017-07-11 20:31:34 +02:00
Jane Tournois 20c8e9a321 rename default to default_value
default is a c++ keyword
2017-07-11 20:31:33 +02:00
Jane Tournois 67cd206f20 Dynamic_polyhedron_property_map needs a default constructor,
and we specify remove() to avoid ambiguities
2017-07-11 20:31:33 +02:00
Andreas Fabri be45f81fc8 Add support for halfedges 2017-07-11 20:31:27 +02:00
Andreas Fabri 2f082f844b Add the same for edges and faces 2017-07-11 20:31:27 +02:00
Andreas Fabri 5e5a3d9e97 Add generic property map for Polyhedron_3 2017-07-11 20:31:27 +02:00
Maxime Gimeno 8b9eae7f44 Fix rebase 2017-05-29 13:22:35 +02:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Sébastien Loriot e3fec8035d put_get_helper expect pmap::reference as first template parameter 2017-01-11 15:32:26 +01:00
Sébastien Loriot c9bbc4e8d1 make polyhedron external index maps mutable lvalue 2017-01-10 15:05:16 +01:00
Andreas Fabri 40e9c6f735 Move specializations of graph_traits the packages that are concerned 2016-09-30 15:22:29 +02:00