Commit Graph

74 Commits

Author SHA1 Message Date
Sébastien Loriot c61fdb831b remove the handle
it is not needed as the id map is used to store handles
2021-11-30 13:49:39 +01:00
Sébastien Loriot b7e688cc94 remove TWS 2021-10-12 09:05:42 +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
Andreas Fabri 53cb7cd664 Simplify the code 2021-02-16 13:41:28 +00:00
Andreas Fabri 27d5293797 bug fix so that it compiles 2021-02-16 13:33:55 +00:00
Andreas Fabri a5f7516f60 Merge remote-tracking branch 'cgal/master' into Polyline_simplification-simplify_overlaps-GF 2021-02-01 13:04:03 +00:00
Andreas Fabri f339c25635 Use unordered_map 2021-02-01 13:03:58 +00:00
Andreas Fabri 7a91d9f1a5 With a subsequence p-q-p we do not simplify q 2021-02-01 12:36:34 +00:00
Andreas Fabri 105b93b35a Now it should work with overlapping polylines 2021-01-14 08:51:39 +00:00
Andreas Fabri 44260a88fc Store vertex handles in the MPQ and have a map from Vertex_handle to Vertices_in_constaint_iterator 2021-01-13 20:56:34 +00:00
Mael Rouxel-Labbé 444531b80e Fix broken `Kernel` links 2020-10-14 19:22:46 +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 254d60f642 First pass on removing license notice in header for GPL files 2019-10-19 15:23:19 +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 3dc3659273 fix warnings 2018-11-05 13:29:17 +01:00
Maxime Gimeno 84f6dedc09 Fix simplify. 2018-05-15 16:10:53 +02:00
Andreas Fabri cf86475a67 Use WKT in the polyline simplification examples 2018-05-15 10:04:24 +02:00
Andreas Fabri 09f3236d38 Polyline_simplification 2018-01-17 22:08:12 +00:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01: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
Andreas Fabri 85d4431c0c Fix package Polyline_simplification: include headers 2016-09-30 15:23:14 +02:00
Andreas Fabri 147ebae4d6 Fix bug in polyline simplification:
We had hardwired that we use Exact_predicates_tag which is slow for EPEC
in particular with Quotient<MP_float> or leda::real

We determine the appropriate tag using Algebraic_structure_traits<FT>::Is_exact
2016-09-14 16:16:28 +02:00
Sébastien Loriot 9aaa3a81e6 insert in the queue if the cost become computable 2016-08-30 11:34:43 +02:00
Sébastien Loriot 3b583dfc3f if the cost is undefined, remove the element from the queue 2016-08-30 11:34:43 +02:00
Andreas Fabri a630f21ce5 fix Polyline simplification 2016-02-01 17:26:02 +01:00
Andreas Fabri eb8d2f5752 fixed three documentation typos 2015-09-22 09:26:10 +02:00
Andreas Fabri dcbab4e0d4 use CGAL_assert and assertion_code 2015-08-20 22:28:49 +02:00
Andreas Fabri 23af7d6d8d polish manual 2014-12-22 13:42:50 +01:00
Andreas Fabri 4924a7ef3f remove unused variables
they are really no longer needed, as they are now computed inside the cost fct
2014-12-13 08:51:20 +01:00
Andreas Fabri 136523b2d3 Make changes after Laurent's review 2014-12-08 09:27:08 +01:00
Sébastien Loriot 3b6cf0eb13 fix signature of functor 2014-11-14 15:10:58 +01:00
Sébastien Loriot d8d2152513 remove unused variable 2014-11-14 10:41:13 +01:00
Laurent Rineau 685a43f854 Fix a bug in Scaled_squared_distance_cost 2014-11-07 18:19:12 +01:00
Laurent Rineau 80c0a72682 Fix warnings 2014-11-07 17:57:38 +01:00
Laurent Rineau 112ef5c86c fix compilation errors 2014-11-07 17:45:27 +01:00
Andreas Fabri 93ce24993b changes after Laurent's review: double-free, and PolylineSimplificationTraits_2 added 2014-11-07 14:29:36 +01:00
Laurent Rineau 15ce20092d Minor improvements 2014-11-07 10:47:08 +01:00
Andreas Fabri 0e535324f0 cleanup 2014-11-06 15:50:05 +01:00
Andreas Fabri 45d24aed03 Complete the list of \param, as only documenting one gives a warning 2014-11-05 10:33:31 +01:00
Jane Tournois 225b174b80 fix typos 2014-11-04 19:43:24 +01:00
Jane Tournois 299391c770 minor fixes 2014-11-04 19:41:31 +01:00
Andreas Fabri 9b85ad7d97 typos 2014-11-04 12:34:24 +01:00
Andreas Fabri 42d04ea13f take into account Jane's review 2014-11-04 12:24:12 +01:00
Andreas Fabri 42b954e224 fixes in examples and the demo 2014-10-30 16:47:43 +01:00
Andreas Fabri 0bf0d13087 second pass after Jane's review 2014-10-30 16:23:41 +01:00
Andreas Fabri ad5fa2d93f first pass after Jane's review 2014-10-30 15:24:40 +01:00
Andreas Fabri 17e5d01052 Add a function that allows to simplify an iterator range of points 2014-08-25 16:27:19 +02:00