Commit Graph

646 Commits

Author SHA1 Message Date
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
Andreas Fabri 1f989622e7 replace \code with real examples 2015-02-09 10:54:24 +01:00
Andreas Fabri cc4192a628 Merge branch 'Surface_mesh-fixes-GF'
Approved by the release manager

Conflicts:
	STL_Extension/include/CGAL/Iterator_range.h
2015-01-26 16:54:03 +01:00
Andreas Fabri 8e801bbc80 no need to use boost::range_iterator 2015-01-19 09:00:21 +01:00
Andreas Fabri 06cc350143 include a boost header instead of a forward declaration as the number of template arguments changed 2015-01-16 09:54:34 +01:00
Laurent Rineau beda93fd8e The declaration of boost::range has changed
Use the header <boost/range.hpp>, instead of a forward declaration.
2015-01-13 15:34:02 +01:00
Andreas Fabri 8929fd43c1 Merge branch 'Triangulation_2-NewPolylineConstraint-GF'
Approved by the release manager
Conflicts:
	Documentation/resources/how_to_cite_cgal.bib.in
2015-01-12 11:44:32 +01:00
Andreas Fabri 6e36a853a9 Merge branch 'Surface_mesh-new_package-GF'
Approved by the release manager
Conflicts:
	Documentation/doc/Documentation/dependencies
	Documentation/resources/how_to_cite_cgal.bib.in
	Installation/changes.html
2015-01-12 11:27:35 +01:00
Laurent Rineau 040916239f That cast operator is useless
Intel Compiler even warns about that:

.../include/CGAL/Iterator_range.h(51): warning #597:
  ""CGAL::Iterator_range<I>::operator [...]" will not be called for
  implicit or explicit conversions
      operator Base() const
      ^
2014-12-31 12:49:09 +01:00
Sébastien Loriot d4f875782c use boost::tuple if using clang and libc++ 2014-12-30 12:18:14 +01:00
Jane Tournois 175c4b321e Merge branch 'releases/CGAL-4.5-branch'
Approved by the release manager
2014-12-19 11:31:32 +01:00
Laurent Rineau 4a7929c611 Fix license header: should be LGPLv3+ 2014-12-18 16:51:32 +01:00
Jane Tournois 90a74c1bb6 fix a bug that happens on vc10, because atomics are not initialized 2014-12-16 16:42:22 +01:00
Jane Tournois 88142b2997 fix compilation for TBB 4.3
this partial specialization was only used for testing, so it can be removed
The problem comes from the std::vector of mutex(s), which can't be copied
using the std::vector operator=
2014-12-16 13:02:39 +01:00
Clement Jamin 93a007616a Header-only CGAL_Core 2014-12-15 21:34:29 +01:00
Jane Tournois 3a5a65f264 update branch 2014-12-08 17:30:41 +01:00
Clement Jamin e18e59a72a Header-only for package Kinetic_data_structures 2014-12-02 20:41:19 +01:00
Andreas Fabri 59aab9ba49 two step renaming in order to capitalize 2014-11-26 17:17:56 +01:00
Andreas Fabri 8f54ee3fa2 two step renaming in order to capitalize 2014-11-26 17:17:43 +01:00
Andreas Fabri 4355794781 iterator_range moved the package 2014-11-12 14:40:51 +01:00
Guillaume Damiand e8fe29c79c Ok for the compilation version header only (only for the treated files). 2014-10-31 17:09:48 +01:00
Guillaume Damiand bc30ff8d98 Add assertions_impl 2014-10-30 18:51:45 +01:00
Guillaume Damiand 1182319f5d Redo all the modifs to remove all the cpp files from cgal.
First step where all the XXX.cpp are copied into XXX_impl.h files.
The macro CGAL_HEADER_ONLY allows to know if impl files need to be
included or not into header files; and allow to decide if functions are
in impl files are inline or not.

Next step: process with static variables for the header only version.
2014-10-30 16:05:22 +01:00
Andreas Fabri 34a9d85575 adress some remarks of the reviews 2014-10-06 12:44:24 +02:00
Andreas Fabri 1979820571 cleanup 2014-10-01 12:27:20 +02:00
Andreas Fabri 8e83b04cb5 move iterator_range.h from BGL to STL_Extension 2014-10-01 09:37:11 +02:00
Andreas Fabri 8dfbe2eba4 Remove class Range again, and put functionality into iterator_range 2014-10-01 09:36:10 +02:00
Andreas Fabri 5cee5c6348 Remove the typedefs for the iterators as we offer ranges
Remove the free functions for accessing properties
2014-09-30 11:28:45 +02:00
Andreas Fabri 08a033ffb4 Integrate remarks from the review by Michael and Guillaume.
Switch from pair of iterators to a range class
2014-09-26 16:53:37 +02:00
Andreas Fabri 43b8390a70 Merge branch 'Triangulation_2-NewPolylineConstraint-GF-old' into Triangulation_2-NewPolylineConstraint-GF 2014-08-08 12:47:15 +02:00
Laurent Rineau 333854f38a Fix the license of two files
Trivial fix for master.
2014-07-31 16:19:05 +02:00
Laurent Rineau 3deb8e7910 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Create an integration branch for 'Mesh_3-compare_index-GF': a new branch
created from 'master', where I merged the previous version of
'Mesh_3-compare_index-GF'.

There was a conflict with two features recently merged into 'master' for
CGAL-4.5:

- the move of two files from include/CGAL/Mesh_3/ to include/CGAL/. See
  the small feature:
    http://cgal.org/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper

- parallelism for Triangulation_3 and Mesh_3:
    http://cgal.org/wiki/Features/Parallel_Mesh_3

Conflicts:
	Combinatorial_map/include/CGAL/Cell_attribute.h
	Mesh_3/include/CGAL/Implicit_mesh_domain_3.h
	Mesh_3/include/CGAL/Labeled_image_mesh_domain_3.h
	Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
	Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron_with_features.cpp
	Polyhedron/demo/Polyhedron/Polyhedron_type.h
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp

I also modified the following files during the conflict resolution:

	Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h
	Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
2014-07-18 15:47:14 +02:00
Clement Jamin fbf824c711 Merge branch 'Mesh_3-parallel-cjamin'
This branch introduces parallel algorithms in Triangulation_3 and Mesh_3,
as well as a Concurrent_compact_container. The corresponding features are:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Parallel_triangulation_3
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Parallel_Mesh_3

Tested in CGAL-4.5-Ic-98.
Approved by the Release Manager.
2014-07-17 19:08:24 +02:00
Clement Jamin 2ae815910e Switch to LGPL 2014-07-17 18:36:21 +02:00
Andreas Fabri b1f4afbd33 Macros MUST be prefixed with CGAL_
-pedantic does not like extra semicolons

todo:  cleanup: The macro is there twice.
2014-07-09 15:41:08 +02:00
Sébastien Loriot 2aadba50d7 Merge branch 'BGL-redesign_final-GF'
Introduces a redesign of the CGAL extension of the BGL API

Successfully tested in CGAL-4.5-Ic-90
Approved by the Release Manager

Conflicts:
	Surface_mesh_segmentation/test/Surface_mesh_segmentation/test_compute_sdf_values_and_segment_exact_rational.cpp
2014-07-08 19:45:16 +02:00
Clement Jamin f742be081b Fix spaces 2014-07-08 15:40:29 +02:00
Clement Jamin f7396790ff Fix merge function
Fixes memory leaks, and maybe some other potential problems
2014-07-07 13:41:33 +02:00
Clement Jamin a9887cbe9f Remove a useless constructor that was causing an error 2014-07-04 11:56:02 +02:00
Sébastien Loriot fee85470c1 Merge branch 'Triangulation_3-determinism-gf' into to-be-tested/Triangulation_3-determinism-gf
Conflicts:
	.gitattributes
	Matrix_search/include/CGAL/rectangular_3_center_2.h
	Spatial_sorting/include/CGAL/spatial_sort.h
2014-07-03 16:34:46 +02:00
Clement Jamin 6aeaf509cf Add line break at the end of the file 2014-07-02 09:03:21 +02:00
Clement Jamin e3abf7fc40 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-07-01 10:38:14 +02:00
Sébastien Loriot 675d26e884 add non-documented remove_const fcts to turn a const-iterator to an iterator 2014-06-24 16:35:10 +02:00
Clement Jamin 6ed794da5b Replace ">>" by "> >" 2014-06-19 19:09:31 +02:00
Clement Jamin c9c8335811 More code clean-up 2014-05-27 13:46:34 +02:00
Clement Jamin dfe800bc40 Clean-up debug code (global lock) 2014-05-27 12:16:29 +02:00
Clement Jamin de485dfc10 Use s_iterator_to and remove the constructor I had added temporarily 2014-05-23 17:17:16 +02:00
Sébastien Loriot c7df582fc2 Revert "add the time stamper mecanism into In_place_list"
This reverts commit 5e2ab7fddc.
2014-05-22 11:18:55 +02:00
Sébastien Loriot 2d14739716 additional fixes for Combinatorial map package 2014-05-21 18:47:33 +02:00
Sébastien Loriot 3fa09693a3 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Conflicts:
	Mesh_3/include/CGAL/Mesh_3/Detect_features_in_polyhedra.h
	Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h
	Mesh_3/include/CGAL/Mesh_polyhedron_3.h
	Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp
2014-05-21 18:24:17 +02:00
Sébastien Loriot 5e2ab7fddc add the time stamper mecanism into In_place_list 2014-05-21 16:33:54 +02:00
Sébastien Loriot 1bffc44ed4 factorize the mecanism to define the time stamper in a container 2014-05-21 16:30:32 +02:00
Sébastien Loriot c6fa3f4a3a add missing namespace 2014-05-21 12:51:20 +02:00
Sébastien Loriot 82f9a83e2d move the Time stamper into a separate file 2014-05-21 12:20:50 +02:00
Sébastien Loriot cbd50574e4 clean up comments, include and copyright 2014-05-21 12:08:12 +02:00
Andreas Fabri 2f967ba6e4 the testsuite for the new version of the Constrained_triangulation_plus_2 passes 2014-05-19 15:57:24 +02:00
Andreas Fabri 85b29aed5f treat merge conflicts 2014-05-15 16:09:24 +02:00
Clement Jamin f3c00442fd Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-05-14 19:05:40 +02:00
Marc Glisse 897f585f12 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Need the Interval_nt/long interoperability for Eigen.
2014-05-07 18:41:17 +02:00
Marc Glisse 24d396afb2 Micro-optimization: do the opaque call first so it does not hinder optimizers.
(don't expect to measure the difference)
2014-05-05 19:13:31 +02:00
Laurent Rineau bcdfdf5335 Cleanup trailing spaces 2014-04-16 15:42:46 +02:00
Clement Jamin 239b6d0932 Merge branch 'STL_extension-Compact_container_as_vector-cjamin-old' into STL_extension-Compact_container_as_vector-cjamin 2014-04-16 14:14:24 +01:00
Laurent Rineau a2ef3c10f0 Change the name of timestamp policies 2014-04-16 12:36:40 +02:00
Laurent Rineau 1396d65b48 Test the time stamper policy in the testsuite 2014-04-16 12:34:30 +02:00
Laurent Rineau 28e60a5460 Cosmetic changes 2014-04-16 12:33:57 +02:00
Laurent Rineau 36e61bf091 Fix the implementation of CC_ts_impl_aux
CC_ts_impl_aux is the new name of CC_ts_impl_impl
2014-04-16 12:24:14 +02:00
Laurent Rineau cf3eee72ae Add comments 2014-04-16 12:22:49 +02:00
Laurent Rineau 75c61a687d New implementation of Has_timestamp 2014-04-15 18:07:23 +02:00
Jane Tournois 993541644c move Has_timestamp to STL_extension/include/CGAL directory
to avoid that Compact_container depends on Mesh_3
2014-03-27 13:57:47 +01:00
Laurent Rineau 458dcbf96d Add a comment that says why a warning must be disabled 2014-03-26 17:36:19 +01:00
Andreas Fabri fa9d5b7f93 Suppress a warning issued by VC12 2014-03-26 09:16:02 +01:00
Laurent Rineau b54be0ee3c Update the copyright header 2014-03-25 16:42:23 +01:00
Marc Glisse 3168c851a1 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Conflicts:
	Kernel_d/doc_tex/Kernel_d/kernel_representation_d.tex
	Kernel_d/doc_tex/Kernel_d_ref/Homogeneous_d.tex
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
	Kernel_d/doc_tex/Kernel_d_ref/main.tex

Resolved by dropping those files.
2014-03-12 12:38:08 +01:00
Clement Jamin 157cd0465f Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
Conflicts:
	Mesh_3/demo/Mesh_3/Mesh_3_optimization_plugin_cgal_code.cpp
	Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h
	Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
	Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h
	Mesh_3/include/CGAL/Mesh_3/Mesh_global_optimizer.h
	Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
	Mesh_3/include/CGAL/Mesh_3/Slivers_exuder.h
	Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h
	Mesh_3/include/CGAL/Mesh_3/config.h
	Mesh_3/include/CGAL/Mesh_3/vertex_perturbation.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
	Mesh_3/include/CGAL/exude_mesh_3.h
	Mesh_3/test/Mesh_3/test_meshing_utilities.h
	Triangulation_3/include/CGAL/Triangulation_cell_base_with_circumcenter_3.h
2014-03-10 17:01:03 +01:00
Jane Tournois 6af720cde8 remove useless typename(s) 2014-02-21 17:14:13 +01:00
Jane Tournois 9d19ac0f96 add a "less" function to CGAL_time_stamper
and handle null pointers given to comparison
it is necessary for example in Triangulation_3::remove_3D
2014-02-21 14:41:41 +01:00
Jane Tournois 22153ac273 make private the time_stamp_ variable
and add time_stamp() and set_time_stamp() methods everywhere
2014-02-20 16:18:49 +01:00
Jane Tournois 0740b3652f add class Has_timestamp not to modify the API of Compact_container
- use the Has_timestamp operator in Compact_container
- add partial specialization to classes that need the time stamp (i.e.
Mesh_vertex_base, Compact_mesh_cell_base_3 and Mesh_cell_base_3)
- remove "ts" from classes where they were actually needed for compilation
purpose only (i.e. Kd_tree_node and Triangulation_ds_cell_base_3)
- rename "ts" to time_stamp_
2014-02-20 15:53:36 +01:00
Jane Tournois b3eccc5905 determinism : add a template parameter to Compact_container
we add a template parameter to Compact_container that is able to
set and get the "time stamps" stored in Vertex_handle, Cell_handle etc.
We previously made sure that these pointers are always compared using
the operator< of CC_iterator, inside Compact_container.h
2014-02-18 17:25:50 +01:00
Jane Tournois 6db28ed43d move ts from Tds to Compact_container
Tds now is back to its original version (not different from master)
2014-02-14 17:15:33 +01:00
Andreas Fabri 83546c53b1 Add a time stamp in vertices and cells of triangulations and polyhedra
and use this for operator< of handles in order to make mesh generation
 deterministic
2014-02-13 19:46:34 +01:00
Laurent Rineau da3d641efe Add comments to #ifndef/endif 2014-01-31 16:50:20 +01:00
Laurent Rineau 3ed92e1c1a Merge branch 'STL_Extension-Boolean_tag_Boost_Integral_Constant-lrineau'
Small feature:
  cgal.org/wiki/Features/Small_Features/Boolean_tag_is_a_Boost_Integral_Constant

Now CGAL::Boolean_tag<true> and CGAL::Boolean_tag<true> are model of the
Boost concept "Integral Constant".

Tested in CGAL-4.4-Ic-84.
2014-01-09 17:54:28 +01:00
Clement Jamin c81531bc80 Oops, I removed a line by mistake 2013-12-20 15:11:36 +01:00
Clement Jamin 28c5fde142 Add an increment policy to the Compact_container, and an operator[] 2013-12-20 15:03:37 +01:00
Sébastien Loriot 59f476b5b4 Merge branch 'STL_Extension-fix_make_sorted_pair-local'
Bug-fix when using make_sorted_pair on different types

  Successfully tested in CGAL-4.4-Ic-62
  Approved by the release manager
2013-12-20 08:44:23 +01:00
Sébastien Loriot 3adb58e046 better support of heterogeneous but compatible types 2013-12-17 20:37:19 +01:00
Clement Jamin 5d1eacf16f rename get_erase_counter => erase_counter
And add it to the concept ObjectWithEraseCounter
2013-12-12 07:23:07 +01:00
Laurent Rineau dc6c20cfdb merge branch origin/Fix_leak-STL_Extension-GF
Remove memory leaks detected by AddressSanitizer.
Tested in CGAL-4.4-Ic-54 and CGAL-4.4-Ic-55.
Approved by the release manager.
2013-12-11 13:42:31 +01:00
Marc Glisse 8ddf8255d5 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Hopefully the doc will be easier to build this way.
2013-11-23 12:34:18 +01:00
Clement Jamin ec8e949d21 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2013-11-21 10:50:55 +01:00
Marc Glisse b319b31825 Assume refcount>0 when copying.
Hopefully it will help compilers understand that destructing a copy
can't bring the counter to 0.
2013-11-16 12:14:44 +01:00
Andreas Fabri d8da1137cc Fix a memory leak in Handle_with_policy:
A rep that points to another rep is like a handle
So if such a rep gets deleted the reference counter must be decremented
2013-11-15 16:20:01 +01:00
Andreas Fabri 61298d3925 Fix memory leak in Compact_container::merge()
We forgot to merge all_items
2013-11-08 13:55:40 +01:00
Sébastien Loriot fd0e7756d5 add missing include
trivial bugfix
2013-10-29 13:05:44 +01:00
Sébastien Loriot 5f9ab81512 add the function make_sorted_pair 2013-10-18 10:44:54 -07:00
Sébastien Loriot 6a30252a82 remove not needed include directive 2013-10-18 09:22:14 -07:00
Clement Jamin 6b65ad71da Changes in the "lock data structure" concept and models
The concept is now much more generic (SurjectiveLockDataStructure).
The names have been changed accordingly.
2013-10-16 12:17:56 +02:00
Clement Jamin 29525dfcb7 Back-quotes for could_lock_zone and true + minor fixes + replace 0 by NULL 2013-10-15 10:27:35 +02:00
Clement Jamin a199ec9332 Rename params 2013-10-14 18:07:50 +02:00
Clement Jamin e03b9aa762 get_cc_iterator => cc_iterator 2013-10-14 17:50:37 +02:00
Clement Jamin 5ff923bcfb Bug fix: use the right namespace (CCC_internal) 2013-10-02 10:48:59 +02:00
Clement Jamin 2706cbfeff Compact_container: erase counter strategy is now automatically deduced from T.
If the T::increment_erase_counter() function exists, then the erase counter
value will be updated by the Compact_container.
2013-09-30 18:25:41 +02:00
Clement Jamin 41929ed520 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
Conflicts:
	Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h
	Mesh_3/dont_submit
	Triangulation_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h
	Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h
	Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_3.h
	Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h
	Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h
	Triangulation_3/doc/Triangulation_3/PackageDescription.txt
2013-09-25 11:47:43 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Andreas Fabri 4a9be1f608 put the 'deprecated' macro at the right spot and add a testsiuite 2013-09-10 11:37:08 +02:00
Laurent Rineau 224a54303a Make Tag_true and Tag_false be models of the Boost Integral Constant model
http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html
2013-08-27 17:07:24 +02:00
Marc Glisse 7c574d3dd8 Rename Filtered_predicate since it isn't compatible with the old version. 2013-07-22 14:23:08 +02:00
Marc Glisse dafdb45786 Move is_iterator changes back to the original file. 2013-07-19 21:55:34 +02:00
Clement Jamin 838439b038 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin
Conflicts:
	Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h
	Installation/cmake/modules/FindTBB.cmake
	Installation/cmake/modules/UseTBB.cmake
	Mesh_3/doc/Mesh_3/CGAL/Mesh_triangulation_3.h
	Mesh_3/doc/Mesh_3/Mesh_3.txt
	Mesh_3/include/CGAL/Mesh_triangulation_3.h
	Surface_mesher/doc/Surface_mesher/Surface_mesher.txt
2013-07-11 09:58:51 +02:00
Clement Jamin 8b0edee1f4 Merge branch 'concurrency_in_cgal-cjamin-old' into concurrency_in_cgal-cjamin 2013-07-03 17:17:34 +02:00
Clement Jamin 206b20bc15 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2013-07-02 17:37:50 +02:00
Clement Jamin 119675c970 Keep a copy of the bbox 2013-07-02 12:53:34 +02:00
Clement Jamin 44355c9f11 Rename get_cc_handle => get_cc_iterator 2013-06-27 17:00:00 +02:00
Clement Jamin c8afb5e76a Use of an std::vector instead of a dynamic array 2013-06-27 14:01:52 +02:00
Sébastien Loriot c09ec2beaa Merge branch 'Kernel-replace_object-pmoeller'
Successfully tested in CGAL-4.3-Ic-59
Approved by the release manager

Conflicts:
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_d/doc/Kernel_d/Kernel_d.txt
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-06-14 14:26:05 +02:00
Sébastien Loriot b30d3daa2b do not use exception in Object::assign. g++3.4 produces a segfault with -O2 2013-06-12 17:39:31 +02:00
Clement Jamin bc360c8b13 Changes for GCC compilation + removed some trailing spaces 2013-06-07 17:40:53 +02:00
Clement Jamin 0e51e92656 Introduces a new CC_safe_handle class
Helper class which embed a `Compact_container` (or `Concurrent_compact_container`) iterator and is able to know if the pointee has been erased since the creation of the `CC_safe_handle` instance.
2013-06-06 16:49:23 +02:00
Sébastien Loriot 0c9656f553 add missing overload of operator= if EDG is defined 2013-06-04 16:53:05 +02:00
Sébastien Loriot 2997e8ae08 Dispatch_(or_drop_)output_iterator<V,O> now accepts a tuple V put in it ...
...and makes the correct dispatch to the output iterators in O
2013-05-31 17:20:47 +02:00
Clement Jamin bbb5fec836 The Parallel_tag inherits Sequential_tag 2013-05-31 10:44:41 +02:00
Clement Jamin 81f9c675c5 P3::x/y/z() functions can now be any model of the concept of RealEmbeddable 2013-05-30 13:38:58 +02:00
Clement Jamin f5fae5ab23 Smaller tag names + removed "Tag_non_blocking_with_mutexes" from documentation 2013-05-28 15:38:20 +02:00
Clement Jamin 127926aa14 Proof-reading + minor changes
Renamed unlock_all_tls_locked_locations => unlock_all_points_locked_by_this_thread
2013-05-28 15:07:20 +02:00
Clement Jamin 4a3a43d0e6 Minor fix + output 2013-05-23 17:48:32 +02:00
Clement Jamin 3a4caaaa1c Changed the place of the erase counters.
Changed Compact_container_strategy_XXX::Uses_erase_counter type + moved the erase counters from Triangulation_ds_xxx_base_3 to Mesh_xxx_base_3.
2013-04-16 15:31:36 +02:00
Clement Jamin 2c2e1e3d7d Code factorization + "manual" min/max for slightly better performance 2013-03-29 17:14:50 +01:00
Clement Jamin 1d3205942a It's a bit faster not to use min/max to compute grid cell coords 2013-03-27 17:49:24 +01:00
Andreas Fabri 8a45fcea5a Merge branch 'OLD' into Triangulation_2-NewPolylineConstraint-GF
Conflicts:
	Triangulation_2/doc/Triangulation_2/Triangulation_2.txt
2013-03-21 13:41:53 +01:00
Sébastien Loriot d6905c61be Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	AABB_tree/include/CGAL/AABB_tree.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Intersections_3/include/CGAL/Intersections_3/intersection_3_1_impl.h
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-03-14 10:29:31 +01:00
Clement Jamin b12a5e3c59 Implemented the "merge" function in the Concurrent_compact_container 2013-03-12 17:00:54 +01:00
Clement Jamin 6616582b14 Replaced tabs with spaces 2013-03-12 15:40:25 +01:00
Clement Jamin 8e800fdece Replaced tabs with spaces 2013-03-12 15:39:25 +01:00
Clement Jamin cad7496099 Removed "merge" and "reserve" since they are not implemented 2013-03-11 18:43:10 +01:00
Clement Jamin 1f0e994a00 Renamed a few functions + tabs to spaces conversion + benchmark output + minor changes 2013-03-11 15:46:27 +01:00
Clement Jamin a7cfd06598 Replaced the unused pair<bool,int> returned by try_lock by a simple bool. 2013-03-08 16:47:37 +01:00
Clement Jamin 2796e63b86 Minor fix: "Base" doesn't need to be public. 2013-03-08 16:38:16 +01:00
Clement Jamin 3eae2927e7 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2013-03-04 15:50:57 +01:00
Clement Jamin 2263fdf765 Clean-up 2013-02-28 15:05:35 +01:00
Clement Jamin ab25d848b1 Moved the "no_spin" function parameter to a template parameter. 2013-02-22 15:47:32 +01:00
Clement Jamin 64a624c168 Removed some useless "virtual" + bugfix for the non-blocking specialization classes. 2013-02-22 13:42:18 +01:00
Laurent Rineau 2d8da664a3 Merge branch 'CGAL-fix_warnings-gdamiand'
Conflicts:
	.gitignore
	Skin_surface_3/examples/Skin_surface_3/CMakeLists.txt
2013-02-22 13:02:37 +01:00
Laurent Rineau 3f894697bc New macros CGAL_assume(EX) and CGAL_assume_code(CODE)
CGAL_assume(EX) is like CGAL_assertion, but is not disabled in release
mode. In debug mode, it is similar to CGAL_assertion(). In release mode, it
uses builtins of the compilateur, like the MSVC __assume or the g++/clang
__builtin_unreachable to give an hint to the compiler that some situation
in the code cannot happen.
2013-02-20 18:34:15 +01:00
Clement Jamin dac0e1c104 Moved Spatial_grid_lock_data_structure_3.h to STL_Extension 2013-02-18 16:44:00 +01:00
Clement Jamin bce43fbb8e Improved the way parallelism is handle in Mesh_3/Triangulation_3
Added a better support for parallelism in Triangulation_3.
Simplified how to enable/disable concurrency in Mesh_3.
Moved the Compact_container stategies to a new file.
2013-02-15 18:07:43 +01:00
Laurent Rineau d19578725b Fix warnings 2013-02-07 18:15:23 +01:00
Laurent Rineau 29c05b900b Mark BOOST_STATIC_ASSERT with 'CGAL_UNUSED'
In order to fix such a warning from g++-4.8:
  warning: typedef ‘boost_static_assert_typedef_241’ locally defined but
  not used [-Wunused-local-typedefs]
then:
  - create one macro CGAL_UNUSED that is "__attribute__ ((__unused__))"
    with g++ or empty otherwise,
  - use it after BOOST_STATIC_ASSERT in the definition of
    CGAL_static_assertion.
2013-02-07 18:15:23 +01:00
Clement Jamin cd83c4680a Tags for concurrency 2013-02-06 18:15:25 +01:00
Sébastien Loriot 93df4bd3d5 typo while replacing boost::result_of to cpp11::result_of 2013-02-04 19:53:56 +01:00
Sébastien Loriot f0f34d45fa workaround to force the usage of the tr1 implementation of result_of from boost
see http://www.boost.org/doc/libs/1_52_0/libs/utility/utility.htm#result_of
2013-02-04 11:30:28 +01:00
Andreas Fabri f9cd5ec08a Merge remote-tracking branch 'origin/Triangulation_2-NewPolylineConstraint-GF' into Triangulation_2-NewPolylineConstraint-GF
Conflicts:
	.gitattributes
2013-01-21 14:33:33 +01:00
Philipp Möller 0f34f2a89e Merge branch 'Maintenance-include-less-boost-pmoeller' 2012-12-21 09:44:18 +01:00
Sébastien Loriot 82b2ebc865 apply the cpp0x namespace renaming in all files 2012-12-19 11:33:17 +01:00
Philipp Möller 71ea8e6e22 Minimal boost includes
Replace type_traits.hpp and utility.hpp with the respective
fine-grained includes.
2012-12-14 18:13:59 +01:00
Philipp Möller a9cdb27b78 Remove tautological precondition 2012-12-12 11:28:57 +01:00
Philipp Möller 728cfaa456 Remove CGAL::Overload
Equivalent and better functionality is provided by
http://www.boost.org/libs//functional/overloaded_function/doc/html/index.html
2012-12-07 18:00:46 +01:00
Philipp Möller d198458ca7 Merge branch 'origin-gsoc2011-boost_object-pmoeller' into Kernel-replace_object-pmoeller
Conflicts:
	.gitattributes
	AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_trapezoid_ric_point_location.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/intro.tex
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_generator_base.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_random_generator.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_trapezoid_ric_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_walk_along_line_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_trapezoid_ric_point_location.h
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/point_location.cpp
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_circular_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h
	Filtered_kernel/include/CGAL/Lazy.h
	Filtered_kernel/include/CGAL/Lazy_kernel.h
	Intersections_2/include/CGAL/Triangle_2_Iso_rectangle_2_intersection.h
	Intersections_2/test/Intersections_2/test_intersections_2.cpp
	Intersections_3/test/Intersections_3/test_intersections_3.cpp
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_23/include/CGAL/Kernel/Type_mapper.h
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
2012-12-04 17:57:53 +01:00