Commit Graph

418 Commits

Author SHA1 Message Date
Clement Jamin 05efa677a1 Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
Conflicts:
	NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h
	NewKernel_d/test/NewKernel_d/Epick_d.cpp
2014-05-28 14:53:26 +02:00
Clement Jamin c9c8335811 More code clean-up 2014-05-27 13:46:34 +02:00
Clement Jamin ce17a717c7 Restore some profiling code and remove some 2014-05-27 13:33:33 +02:00
Clement Jamin 2f78d27bd3 Code clean-up 2014-05-27 13:21:16 +02:00
Clement Jamin dfe800bc40 Clean-up debug code (global lock) 2014-05-27 12:16:29 +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
Clement Jamin f3c00442fd Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-05-14 19:05:40 +02:00
Clement Jamin db3a642de4 Missing include 2014-05-14 17:35:16 +02:00
Andreas Fabri 7e00af50f5 Merge branch 'Triangulation_3-faster_incident_edges-GF'
Approved by the release manager
2014-05-14 17:03:41 +02:00
Jane Tournois e97506adb7 Merge branch 'Triangulation_3-regular_cell_base_with_circumcenter-GF'
Resolve conflicts in Mesh_3/include/CGAL/Mesh_3/config.h

This branch implements the small feature described here :
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/circumcenter%28%29_in_RT3_cell_base

It makes consistent implementations of dual(cell) in RT3 and DT3 :
they both return cell->circumcenter(gt) now

Approved by the release manager
2014-05-13 14:52:13 +02:00
Jane Tournois 8bc6e6136d fix a warning from clang. Actually highlighted a real error : gt was missing 2014-05-12 14:55:11 +02:00
Andreas Fabri 3d0e6f2a4f boost::unorerdered_set::reserve() was only introduced with Boost 1.50 2014-05-09 11:08:38 +02:00
Andreas Fabri 1ff9694206 int -> std::size_t 2014-05-08 13:41:33 +02:00
Andreas Fabri 3cc64eb19e Call unordered_set::reserve() 2014-05-07 11:51:25 +02:00
Andreas Fabri 2ed094d23c cleanup 2014-05-07 11:14:36 +02:00
Andreas Fabri d1a6046fcd Vertex_extractor gets a partial specialisation for Vertex::Has_visited 2014-05-07 11:00:05 +02:00
Andreas Fabri 09876e23fa Add bool visited to the Vertex in order to avoid a map 2014-04-29 14:04:27 +02:00
Andreas Fabri 3812e53d64 Add flat_set 2014-04-29 06:47:32 +02:00
Andreas Fabri d74653ece0 Replace std::map by boost::unordered_map in TDS_3::incident_edges 2014-04-28 16:18:13 +02:00
Clement Jamin e07baefb17 Change the way we compute the exact circumcenter when needed
In some rare cases, we need to switch to exact computation for the circumcenter.
Some code for this computation is now moved from RT3 to Refine_facets.
2014-04-15 18:54:12 +02:00
Andreas Fabri a45ed40f5d Do not use the call stack for a recursive function as it may overflow 2014-03-25 16:01:27 +01:00
Andreas Fabri 18e85a1cea Switch on a workaround using a CGAL_CFG ... 2014-03-24 17:52:31 +01:00
Andreas Fabri 24f78ce6de Hack for the new problem with 'using' for VC12
We have to find out where the real problem is.
2014-03-20 16:47:25 +01:00
Clement Jamin 89d2d6a612 Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus 2014-03-19 13:00:57 +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 bf03d6964d remove useless diff with integration 2014-02-24 14:37:20 +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 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
Jane Tournois ffc3bdfc2f there is no need to compare "ts". Comparing Vertex_handle's is enough 2014-02-14 15:22:54 +01:00
Jane Tournois 8d7ec0ef19 use time stamps in make_canonical(vertex_triple) 2014-02-14 12:55:29 +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
Jane Tournois 75771bacb3 rename Regular_triangulation_cell_base_with_circumcenter_3
to Regular_triangulation_cell_base_with_weighted_circumcenter_3
2014-02-06 15:50:38 +01:00
Jane Tournois 88666391da introduce weighted_circumcenter() for RegularTriangulationCellBase_3
weighted_circumcenter() replaces circumcenter() in the regular framework,
which is not a member of TriangulationCellBase_3 anymore.

Triangulation_cell_base_with_circumcenter_3 is deprecated and replaced by:
Delaunay_triangulation_cell_base_with_circumcenter_3
and
Regular_triangulation_cell_base_with_circumcenter_3.

Implement the changes in documentation, Triangulation_3 code and Mesh_3 code.
2014-01-16 16:55:19 +01:00
Jane Tournois 7b55c30ba5 fix the use of Triangulation_cell_base_with_circumcenter
Triangulation_cell_base_with_circumcenter should not be responsible for
computing the circumcenter value. It is only responsible for its caching.
The Cell_base used as second template parameter should make the construction,
in the circumcenter() function.

Also fix the order of derivation in Mesh_cell_base_3
2014-01-10 14:31:02 +01:00
Jane Tournois bf9e964f0e remove macro CGAL_REGULAR_TRIANGULATION_3_USE_CIRCUMCENTER_CACHE
has been checked and is always activated
2014-01-09 12:05:50 +01:00
Jane Tournois 88eddc7e8b Merge branch 'Triangulation_3-regular_cell_base_with_circumcenter-GF-old' into Triangulation_3-regular_cell_base_with_circumcenter-GF 2014-01-03 18:03:01 +01:00
Olivier Devillers d8197fb718 merge master and Triangulation 2013-11-29 13:40:14 +01: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 5101c3d2e7 Added my name in a few places + implementation history 2013-10-15 11:14:58 +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
Laurent Rineau 240385d011 Add expensive assertions to check the circumcenter cache 2013-10-14 17:12:54 +02:00
Clement Jamin 88ed4cc924 Removed strategies in T3 benchmark and Dummy TDS 2013-10-01 17:27:21 +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 2944261214 Merge branch 'Mesh_3-parallel-cjamin' of ssh://scm.cgal.org/var/git/cgal into Mesh_3-parallel-cjamin 2013-09-25 10:50:46 +01: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
Clement Jamin a173372321 Fixes for GCC + removed trailing spaces 2013-09-25 11:18:18 +02:00
Andreas Fabri 5c454cec64 add missing includes 2013-09-13 12:43:01 +02:00
Sébastien Loriot ded66799a6 make the insertion of a range of points with info working with hierarchy 2013-08-05 15:03:46 +02:00
Clement Jamin 18895e6f42 Use the TBB's scalable allocator in a few places
=> better scalability of the parallel remove
2013-07-23 17:51:06 +02:00
Clement Jamin fc10668b31 Spelling mistake + minor change 2013-07-23 17:17:38 +02:00
Marc Glisse 530f20179c Finish Philipp's patch on initializing arrays. 2013-07-23 15:58:04 +02:00
Clement Jamin 8aaee67985 Removed some "p_" prefixes in variable names 2013-07-12 15:49:45 +02:00
Clement Jamin 09d75308fb Untabify 2013-07-02 18:16:22 +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 fcdf906f06 Option to add temporary points on a far sphere before insertion
Helps to reduce contention on the infinite vertex
But removing those points in the end takes time
so it's only worth it when points lie on a surface.
2013-07-02 12:57:26 +02:00
Clement Jamin 8181587ed7 Fix tabs + better profiling 2013-07-02 11:37:32 +02:00
Clement Jamin 2dc6c405b8 Drop the use of the TBB malloc proxy, use TBB allocators manually instead
The TBB's "malloc proxy", which allows to replace all calls to the standard
allocators by calls to the TBB scalable allocator, is not available on MacOS.
Instead, we use the TBB allocators manually, where relevant.
2013-06-27 15:29:47 +02:00
Jane Tournois 404f2e0e3c merge 2013-06-21 10:01:19 +01:00
Clement Jamin bc360c8b13 Changes for GCC compilation + removed some trailing spaces 2013-06-07 17:40:53 +02:00
Clement Jamin 440a654a58 Added a concurrency-safe version of DT3::find_conflicts + better doc 2013-06-05 17:23:19 +02:00
Clement Jamin b43f28c6ab Renamed p_could_lock_zone + use NULL instead of 0 + CGAL_TRIANGULATION_3_PROFILING 2013-06-05 13:44:34 +02:00
Clement Jamin dbe1c9c597 Reversed the "facet_not_in_its_cz" variables by removing the "not" 2013-05-28 15:56:22 +02:00
Clement Jamin eeeb6cc841 Smaller tag names (continued) 2013-05-28 15:42:39 +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 9aefdbe939 Replaced is_base_of by is_convertible. 2013-05-23 17:49:24 +02:00
Clement Jamin c471fb442d Untabify + removed useless spaces 2013-05-21 11:13:36 +02:00
Sébastien Loriot 8d602ed8c2 Merge branch 'triangulation_3-copy_tds-sloriot'
Approved by the release manager

Conflicts:
	Alpha_shapes_3/test/Alpha_shapes_3/copy_tds.h
	Triangulation_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h

it introduces a more general copy_tds that allows to copy tds with different types of simplices.
2013-04-29 11:09:01 +02:00
Laurent Rineau 76da6cf570 Add missing #include
That fixes the compilation when no <CGAL/Gmp*.h> header is included.
2013-04-24 12:57:57 +02:00
Sébastien Loriot 0beb1a8861 add an extra overload to please MSVC 2013-04-19 08:38:56 +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
Sébastien Loriot 498492e770 add set_infinite_vertex to Triangulation_3 and use it with copy_tds
the 2D version already exists
2013-04-12 16:04:59 +02:00
Sébastien Loriot f9e0c97aac for convenience add a default to simple converter
it is useful if you want to copy the tds of a familly
alpha-shape into a fixed one
2013-04-11 20:03:32 +02:00
Jane Tournois 7a530ea7d8 remove just_incident_cells.
The bench I made did not show that it provided any computation time improvement.
2013-04-11 12:48:04 +02:00
Clement Jamin 2a7c402c07 Regular_triangulation_3 is now parallel (insert/remove) 2013-04-10 18:08:53 +02:00
Clement Jamin 6a85889a1e New constructor + minor changes 2013-04-10 18:07:14 +02:00
Clement Jamin ef756afafd Missing "dummy function" for the sequential case 2013-04-03 17:35:24 +02:00
Clement Jamin 1cc98e9abd Updated doc + code clean-up 2013-04-03 17:34:21 +02:00
Clement Jamin e6b33376bb Avoid multiple calls to tbb::enumerable_thread_specific::local() 2013-03-29 17:16:26 +01:00
Clement Jamin 4399f8218b Untabify (missed some of them last time) 2013-03-28 10:13:32 +01:00
Clement Jamin 8c19195bcb Untabify 2013-03-27 15:32:10 +01:00
Clement Jamin cc9dde002e Untabify 2013-03-27 15:30:46 +01:00
Clement Jamin c3e9699887 Clean-up + better "profiling" 2013-03-27 14:39:10 +01:00
Clement Jamin de1f43e30b The remove is now fully parallel.
The remove operations are done in parallel as long as the dimension stays = 3, then the few remaining points are removed sequentially.
2013-03-27 13:47:40 +01:00
Clement Jamin 57d84ecb24 New constructor for Tri_3 and TDS + new way of testing "dim down" in the 3D case
New constructor taking 4 non-coplanar vertices, for faster construction of very small triangulations => a 3D triangulation is directly constructed.
The new "test_dim_down_using_incident_cells_3" is used in the 3D and will be used by the parallel version.
2013-03-26 19:00:37 +01:00
Jane Tournois 35120cdf53 small feature documentation about inexact_locate 2013-03-22 15:46:38 +01:00
Andreas Fabri 7bd3e3698e use CGAL::compare instead of compare to avoid Koenig lookup 2013-03-15 17:34:53 +01:00
Clement Jamin b83b159c2f Fix so that we don't require xx_erase_counter functions anymore when sequential 2013-03-14 17:45:19 +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 3eae2927e7 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2013-03-04 15:50:57 +01:00
Clement Jamin a8d38a5fed Code clean-up 2013-02-28 19:46:06 +01:00
Laurent Rineau bc7e2a1d71 Merge remote-tracking branch 'origin/Mesh_3-improvements-GF' into Mesh_3-improvements-GF-new
Mesh_3-improvements-GF-new is fresh fork of master

Conflicts:
	.gitattributes
	AABB_tree/include/CGAL/AABB_tree.h
	GraphicsView/src/CGAL_Qt4/DemosMainWindow.cpp
	Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
	Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
2013-02-28 17:10:16 +01:00
Laurent Rineau bd0930fc26 Fix segfaults in T3, caused by the use of CGAL_assume
I wonder why the compiler created buggy code. Anyway, I found easy
workarounds, without reintroducing the warnings.
2013-02-22 16:15:04 +01:00
Laurent Rineau 66c5d23154 Use CGAL_assume to remove warnings 2013-02-20 18:55:43 +01:00
Clement Jamin a29a847e55 Some tests with parallel removal of vertices. 2013-02-20 17:39:15 +01:00
Clement Jamin 44b8217d54 New/modified constructors for triangulations.
Can now take a lock data structure as parameter.
2013-02-19 10:39:39 +01:00
Clement Jamin 864f4eca81 Moved Spatial_grid_lock_data_structure_3.h to STL_Extension 2013-02-18 13:09:12 +01:00
Clement Jamin 8d5352e15f Better grid lock data structure.
There is just one grid lock data structure class now, with several specialization.
Moreover, now the type of the lock data structure is only defined in the triangulation.
2013-02-18 12:58:57 +01:00
Clement Jamin 0c80db26d4 Forgot to remove an #include 2013-02-18 11:16:45 +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