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
Guillaume Damiand
b375202409
Add a function in compact container to test if a pointer is the first or last element of a block.
2017-03-29 12:45:28 -04: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
Andreas Fabri
7ce7a68cd0
Make Triple hashable
2016-04-15 20:49:54 +02:00
Laurent Rineau
a67bc9822e
Merge pull request #895 from afabri/CGAL-LGPL-GF
...
Move infrastructure files into infrastructure packages and change their license
2016-03-29 11:08:43 +02:00
Andreas Fabri
d12e511097
Change license to LGPL for files that were moved from point set processing to STL_extension and Property_map
2016-03-09 17:04:07 +01:00
Andreas Fabri
324daa0b78
move value_traits
2016-03-09 16:35:49 +01:00
Andreas Fabri
eb90e8e3e1
Include consistently <CGAL/property_map.h>
2016-02-24 12:09:36 +01:00
Simon Giraudot
c20bbba168
Work-around C++0x tuple bug with GCC4.4
2016-02-04 18:24:18 +01:00
Andreas Fabri
4f33354ace
Use CGAL_USE
2016-01-21 09:24:15 +01:00
Sebastien Loriot
4e9448cb9e
Merge pull request #451 from GilesBathgate/throwing-destructors
...
Introduces a CGAL_destructor_assertion macro.
2016-01-14 14:08:10 +01:00
Sébastien Loriot
0e64f5b1be
add missing `empty()` function and make_range overload for pair of iterators
2015-12-29 16:55:49 +01:00
Giles Bathgate
9645135ff5
Introduces a CGAL_destructor_assertion macro.
...
This macro can safely be called from a destructor, even when
the stack is currently unwinding, and thus prevents uncatchable
exceptions.
2015-11-23 16:47:59 +00:00
Laurent Rineau
330a0e75a2
Merge pull request #385 from cjamin/CGAL_headers_only-gdamiand_cjamin
...
CGAL headers only, step 0
2015-10-13 16:37:38 +02:00
Andreas Fabri
2b43a79e0a
Add hashing to the concurent compact container
2015-10-05 10:15:24 +02:00
Guillaume Damiand
cf1c0ea0ca
Merge branch 'CGAL_headers_only-gdamiand_cjamin-OLD' into CGAL_headers_only-gdamiand_cjamin
2015-10-01 09:12:55 +02:00
Andreas Fabri
a2f954ebf9
Merge branch 'Intersections_3-snippet2example-GF-old' into Intersections_3-snippet2example-GF
2015-09-18 12:56:29 +02:00
Laurent Rineau
a3187fd35e
Merge pull request #285 from janetournois/CGAL-support_msvc2015-GF
...
Initial support for MSVC 2015
2015-08-27 16:34:29 +02:00
Laurent Rineau
0fd6f2fa59
Merge pull request #288 from afabri/CGAL-add_hash-GF
...
No longer forward declare struct std:hash
Fixes issues #287 and #274 .
2015-08-27 15:41:50 +02:00
Andreas Fabri
4183f6ba69
fixed comment
2015-08-23 15:20:19 +02:00
Andreas Fabri
bf975ead95
No longer forward declare struct std:hash
2015-08-23 14:30:54 +02:00
Jane Tournois
d52bbfaef9
fix the iterator type in mutable_priority_queue,
...
boost 1.59 still contains this bug too
2015-08-17 15:51:19 +02:00
Laurent Rineau
08666dce25
Merge pull request #179 from afabri/CGAL-add_hash-GF
...
Add boost::hash and std::hash
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/hash
Conflicts:
Installation/changes.html
2015-07-17 15:39:18 +02:00
Sébastien Loriot
2668d83d4e
Merge pull request #150 from 'cjamin/Point_set_shape_detection_3-cjamin'
...
Add an algorithm to fit geometric primitives on a point set
Conflicts:
Installation/changes.html
Polyhedron/demo/Polyhedron/CMakeLists.txt
2015-07-17 14:32:09 +02:00
Sébastien Loriot
50595505c4
Merge branch 'Fix_warnings-GF'
...
Fixes warnings in various packages
Successfully tested in CGAL-4.7-Ic-87
Approved by the release Manager
2015-07-17 14:21:21 +02:00
Laurent Rineau
25df59411d
Merge branch 'releases/CGAL-4.6-branch'
...
Fix a miscompilation by clang-3.6.x
https://github.com/CGAL/cgal/pull/161
2015-07-15 17:02:02 +02:00
Sébastien Loriot
d26e112cf4
fix warnings
2015-07-15 16:57:38 +02:00
Laurent Rineau
17857e15d3
Same patch for <CGAL/Concurrent_compact_container.h>
...
Patch similar to the previous commit.
2015-07-15 11:33:51 +02:00
Laurent Rineau
c774546e1b
A better fix, using operator->()
2015-07-14 18:02:40 +02:00
Andreas Fabri
2dea6db3bb
Merge branch 'CGAL-add_hash-GF-old' into CGAL-add_hash-GF
...
Conflicts:
Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h
2015-07-06 10:51:23 +02:00
Laurent Rineau
2591e6cc7d
Fix a miscompilation by clang-3.6.x
...
Fix issue #139
2015-07-03 17:28:11 +02:00
Guillaume Damiand
d67542fb59
Add is_xxx_used in cmap for dart and attributes; add tests in CMap and LCC.
2015-06-22 16:50:56 +02:00
Guillaume Damiand
a0b569b83d
Remove asserts that avoir to increment/decrement iterators on removed elements.
2015-06-17 09:51:20 +02:00
Guillaume Damiand
a423368960
Add also is_used in Concurrent_compact_container to be consistent
2015-06-16 19:48:01 +02:00
Guillaume Damiand
25e28a9cf0
Add is_used function (in code and doc)
2015-06-16 12:29:59 +02:00
Clement Jamin
1097079153
Merge branch 'Point_set_shape_detection_3-cjamin-old' into Point_set_shape_detection_3-cjamin
2015-06-12 16:04:59 +02:00
Andreas Fabri
dadb129147
g++ needs a forward declaration for std::hash
2015-06-02 08:46:20 +02:00
Andreas Fabri
b6850d35c0
#include <functional> and suppress struct/class warning for VC10
2015-06-01 10:42:52 +02:00
Andreas Fabri
cf058cba9c
do not use hash of pointers so that our specializations for handles are injective
2015-05-27 17:02:00 +02:00
Andreas Fabri
425cdf0b0c
derive from unary_function; Add #define switch to hash underlying pointer
2015-05-27 12:19:55 +02:00
Andreas Fabri
8c20bd91c2
Replace CGAL::get() with CGAL::get_pointee_or_identity() and remove using get::
2015-05-13 16:18:31 +02:00
Andreas Fabri
b7f9849599
Replace CGAL::get() with CGAL::get_pointee_or_identity() and remove using get::
2015-04-30 11:31:21 +02:00
Sébastien Loriot
5006193a57
add missing size() function
2015-04-29 15:18:54 +02:00
Andreas Fabri
6f42513e58
divide by sizeof(pointee) for Compact_container
2015-04-27 13:44:18 +02:00
Andreas Fabri
79459e8fb8
remove free functions in Iterator_range
2015-04-21 11:57:45 +02:00
Andreas Fabri
d74567a177
WIP
2015-04-20 16:11:08 +02:00
Andreas Fabri
89b4f37411
divide by sizeof(pointee) in the hash
2015-04-20 14:32:52 +02:00
Andreas Fabri
0c2a568d73
better coverage of the combinations of mesh and map classes
2015-04-20 10:40:03 +02:00
Sébastien Loriot
d36593eb72
add missing const and remove debug output
2015-04-17 17:22:26 +02:00
Andreas Fabri
832208d815
simplifications
2015-04-17 15:49:21 +02:00
Andreas Fabri
205a594a77
add specializations of hash and add tests
2015-04-17 10:21:14 +02:00
Clement Jamin
ed3113f89d
Code clean-up
2015-03-16 17:01:49 +01:00
Clement Jamin
8bd1fd196c
Revert "Temporary CGAL_EXPORT redef"
...
This reverts commit 5aaa7e8f4f .
It was already there!
2015-03-16 15:13:02 +01:00
Clement Jamin
5aaa7e8f4f
Temporary CGAL_EXPORT redef
2015-03-16 14:51:32 +01:00
Guillaume Damiand
9c78897ba5
Merge branch 'CGAL_headers_only-gdamiand_cjamin-old' into CGAL_headers_only-gdamiand_cjamin
2015-03-16 14:00:43 +01:00
Andreas Fabri
962ef07812
Add hash_value for Compact_container, Inplace_list, Index
2015-03-12 16:21:56 +01:00