Commit Graph

556 Commits

Author SHA1 Message Date
Laurent Rineau 07ed1e08a3 Merge pull request #2143 from afabri/Mesh_3-mesh_polyhedral_domain_with_surface_inside-GF
Mesh_3: Add an example (polyhedron inside a bouding polyhedron) in the User Manual
2017-06-16 12:07:13 +02:00
Laurent Rineau d1221a6eae Try to fix the segfault
See https://github.com/CGAL/cgal/pull/2072#issuecomment-304310586
2017-06-02 18:08:00 +02:00
Laurent Rineau 74640e8893 The time stamp of the default-constructed CC_iterator can not be 0
`0` is a valid time stamp: that is the time stamp of the first created
`Vertex` or `Cell` of the `TDS_3`. Use the maximal `size_t` instead.
2017-05-31 10:24:38 +02:00
Laurent Rineau 31f277dc93 Merge pull request #2072 from janetournois/Mesh_3-improvements-GF
Mesh 3 : small improvements
2017-05-22 10:59:48 +02:00
Laurent Rineau 81dccb7d22 Add a macro CGAL_COMPACT_CONTAINER_DEBUG_TIME_STAMP
That macro allows to store the time stamp in the `CC_iterator` (the type
of handle for the triangulation vertices and cells), and check that
handle and pointee have the same time stamp.
2017-05-18 10:57:13 +02:00
Laurent Rineau 6055d226b1 Add an assertion
The assertion checks that two vertex handles have the same time stamp if
and only if they have the same address.
2017-05-18 10:57:13 +02:00
Laurent Rineau e294cd8fe9 Fix new (recycled) time stamps when a TDS is copied 2017-05-18 10:57:13 +02:00
Laurent Rineau 0757cfaeb0 Re-use existing time stamps
When a `Vertex` or a `Cell` is recycled by the `Compact_container`,
re-use the existing time stamp instead of increment it. That will avoid
that the pointee of a handle has a changing timestamp.
2017-05-18 10:57:13 +02:00
Mael Rouxel-Labbé cd2a562ffa Fixed improper guards against the inclusion of deprecated headers 2017-05-16 10:17:41 +02:00
Laurent Rineau dce8bb77ba Merge pull request #2053 from cjamin/Mesh_3-code_improvements-cjamin
Mesh_3: code improvements + bug fix
2017-04-14 18:32:05 +02:00
Andreas Fabri 8cbbe0e165 Remove dependencies of Triangulation_3 on Triangulation_2 2017-04-06 11:08:37 +02:00
Simon Giraudot 025c4e9db1 Fix iterator range size type 2017-03-10 15:28:49 +01:00
Clement Jamin a160851e56 "thread_id" => "thread_priority" 2017-03-09 17:48:50 +01:00
Laurent Rineau 52a2242b60 Merge pull request #1929 from sgiraudot/Point_set_processing-Optimize_grid_simplify-GF
Optimizations for grid simplication
2017-03-02 16:55:08 +01:00
Laurent Rineau 366ddb9513 Merge pull request #1939 from lrineau/Mesh_3-fix_determinism-GF
Fix non-determinism!
2017-03-02 16:54:50 +01:00
Laurent Rineau cb5b3acf98 Class Compare_handles_with_or_without_timestamps to replace hacks
Previously, each file was using its own implementation of the "compare
handle" function object. This commits adds a new class
`Compare_handles_with_or_without_timestamps` that checks the presence of
`Has_timestamp` in the pointed type, and provides a different
`operator()` depending on that.
2017-03-01 12:08:52 +01:00
Simon Giraudot b351ec33da Remove useless backward compat cpp0x 2017-02-27 12:17:46 +01:00
Simon Giraudot 588c8634b9 Add CGAL::cpp11::unordered_set/map using boost or std 2017-02-27 09:56:54 +01:00
Laurent Rineau ff4da475e3 Merge pull request #1650 from afabri/STL_extensions-static-GF
STL_extension: error/warning behavior/handler is not thread safe
2016-11-18 10:58:10 +01:00
Andreas Fabri fe09323aa7 Make the allocator in CGAL::vector not static 2016-11-02 17:47:19 +01:00
Laurent Rineau d5e97c734c Protect another "max" 2016-10-28 14:01:26 +02:00
Jane Tournois fa72bc0f01 replace std::max by (std::max) for windows
same for min
2016-10-27 17:55:40 +02:00
Simon Giraudot bfcacf9312 Bugfix: typo on boost namespace 2016-10-21 10:28:41 +02:00
Simon Giraudot 2a8cd6b466 Fix boost demangle 2016-10-21 10:28:41 +02:00
Laurent Rineau b562718efa Merge pull request #1589 from sloriot/Kernel-boost_apply_visitor_workaround
Workaround a bug in boost 1.58 with c++14
2016-10-20 09:47:54 +02:00
Sébastien Loriot ba6c0758e7 workaround a bug in boost 1.58 with c++14
https://svn.boost.org/trac/boost/ticket/11285
2016-10-18 11:41:32 +02:00
Laurent Rineau 7a84cbceea Merge pull request #1509 from gdamiand/Compact_container-add_debug_function-gdamiand
Add index function in Compact container
2016-10-17 10:01:27 +02:00
Guillaume Damiand f034fe2a92 Move assert; it was at the wrong place. 2016-10-06 08:38:57 -04:00
Laurent Rineau 223c1cf5a4 Merge pull request #1530 from lrineau/Installation-compute_dependencies-GF
Compute and fix packages dependencies
2016-10-05 13:11:04 +02:00
Laurent Rineau 434cbcf0bb Add missing includes 2016-09-30 15:23:15 +02:00
Laurent Rineau 1aefb3b0f3 include <CGAL/config.h>, not <CGAL/basic.h> 2016-09-30 15:23:14 +02:00
Guillaume Damiand 0cf192cd44 Add index function in Compact container (usefull to debug) 2016-09-28 17:14:07 -04:00
Maxime Gimeno 8469c45336 Enhance Prevent_deref API and use it. 2016-09-28 10:48:07 +02:00
Maxime Gimeno 3eb1f4ca69 Clean-up
- Clean-up
- Moved Prevent_deref to CGAL/iterator.h
2016-09-28 10:45:46 +02:00
Laurent Rineau 331eac693a Merge pull request #1467 from lrineau/STL_Extension-fix_CGAL_static_assertion-lrineau
Always include <boost/static_assert.hpp>
2016-09-16 15:52:34 +02:00
Laurent Rineau 8fe3f26c6f Always include <boost/static_assert.hpp>
If C++11 `static_assert` cannot be used, `BOOST_STATIC_ASSERT` is used
instead *even with `CGAL_NO_ASSERTIONS`*.
2016-09-16 15:25:23 +02:00
Sébastien Loriot 25be975789 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch' 2016-09-16 13:42:24 +02:00
Sebastien Loriot efd30df215 add missing const 2016-09-15 15:49:02 +02:00
Laurent Rineau ae3285de1b Merge fixes from 'cgal/releases/CGAL-4.8-branch'
> 3466dee Merge pull request #1378 from sloriot/Polyline_simplification_2-handle_undefined_cost
> 7dd7f12 Merge pull request #1448 from afabri/BGL_graph_traits_OpenMesh-GF
2016-09-13 18:29:33 +02:00
Laurent Rineau b97b709a8d Merge pull request #1377 from afabri/BGL-OM_HAS_HASH-GF
hash_value is not defined inside an #ifdef OM_HAS_HASH
2016-09-13 18:11:17 +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 ad2ec90426 typo 2016-08-30 10:15:15 +02:00
Andreas Fabri 26de0fbb05 hash_value is not defined inside an #ifdef OM_HAS_HASH 2016-08-29 23:25:06 +02:00
Laurent Rineau be8b97eaeb Fix CGAL_NO_ASSERTIONS
- `CGAL_NO_ASSERTIONS` was used *before* it was potentially modified by
the `NDEBUG` macro.

- I have also added a macro `CGAL_DEBUG` that allows to disable `assert`
  but not CGAL assertions, using:

      -DNDEBUG -DCGAL_DEBUG
2016-08-29 19:25:50 +02:00
Laurent Rineau 0c690014b7 Remove all usage of CGAL_LEDA_VERSION
Now, LEDA version >= 6.0 is required if `CGAL_USE_LEDA` is toggled.
2016-08-25 14:38:16 +02:00
Sebastien Loriot 3204aeedf6 simplify empty() 2016-07-06 17:25:57 +02:00
Andreas Fabri 4c78fb44bc Add specializations for the OM handle classes 2016-06-08 10:42:45 +02:00
Andreas Fabri d84be563f8 Add hash_value and specialization of hash for OpenMesh 2016-06-06 19:10:58 +02:00
Andreas Fabri ca6a306815 Rename TimeStamper::key() to hash_value() and let it return a size_t 2016-04-19 17:03:52 +02:00
Laurent Rineau 9176624834 Restore the determinism of Mesh_3
Note that, by default, `Triangulation_3::remove` is not deterministic:
it iterates on a `std::map` (or a `boost::unordered_map`) where the key
type is a triple of vertex handles: the order of that iteration depends
on the comparison (or hashing) of pointers.
2016-04-19 13:56:07 +02:00