Commit Graph
815 Commits
Author SHA1 Message Date
Andreas Fabri afeea1e124 replace size_t with int in loops over the vertices of a cell 2013-02-07 17:26:32 +01:00
Clement Jamin c4859681e3 Removed the "localization ids" related code.
It was an old, unused and slow.
2013-02-06 18:57:36 +01:00
Clement Jamin cb89562205 Removed the CGAL_MESH_3_ACTIVATE_GRID_INDEX_CACHE_IN_VERTEX macro.
It was buggy and useless.
2013-02-06 18:10:35 +01:00
Clement Jamin 5938113aff Moved some code because there was a problem with some #ifdef 2013-02-06 14:30:04 +01:00
Clement Jamin dc5e90b8cc Clean-up + some debugging functions + comments 2013-02-02 06:53:43 +01:00
Clement Jamin 2ee92ca346 Missing #ifdef 2013-01-30 17:30:31 +01:00
Clement Jamin ad4a9dcaf6 New is_element_locked_by_this_thread for testing purposes 2013-01-29 19:03:07 +01:00
Clement Jamin 7af597cb4f Parallel Mesh_3 can now be compiled with GCC 2013-01-17 14:49:04 +01:00
Clement Jamin 3dd7981cf4 The erase counter in vertex_base is only required for the parallel version. 2013-01-15 17:05:24 +01:00
Clement Jamin 44e91351ce Code clean-up + minor changes/optimizations 2013-01-11 16:40:03 +01:00
Clement Jamin 7efd61b6db Removed some data race conditions in the parallel perturber.
Note: the code needs some clean-up
2013-01-08 08:59:17 +01:00
Sébastien Loriot aeb1edeae8 Merge branch 'triangulation_3-copy_tds-sloriot-old' into triangulation_3-copy_tds-sloriot 2012-12-18 19:57:32 +01:00
Sébastien Loriot 7843d7ce20 using internal::TDS_3 namespace 2012-12-17 16:39:04 +01:00
Clement Jamin dc7096b1e5 This parallel version of the Perturber seems much better. Needs to be tested... 2012-12-13 20:39:37 +01:00
Philipp Möller 3e98c46535 Correct syntax for uniform initialization 2012-12-12 11:24:34 +01:00
Philipp Möller ae1b135c54 Replace usage of CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG 2012-12-11 17:46:14 +01:00
Sébastien Loriot c25f925174 renaming functor in copy_tds 2012-12-05 12:43:54 +01:00
Sébastien Loriot 6152194fa8 remove boolean for first vertex 2012-12-05 12:43:54 +01:00
Sébastien Loriot 47fea6c6f1 merge experimental-packages/Triangulation_3_copy_tds to a proper branch 2012-12-05 12:43:53 +01:00
Clement Jamin 9c5cddbbc3 Global optimizers: better parallel performance
- We used to have a thread-local variable for cell::TDS_data to make
  incident_cells concurrently callable but it was slow and memory-consuming
  => new incident_cells function which do not use cell::TDS_data
  => faster and lighter
- update_restricted_delaunay now uses parallel_for instead of parallel_do
  (it was quite slow with the implicit oracle)
  => faster (but requires to fill a temporary vector)
2012-11-28 14:17:59 +01:00
Clement Jamin 11a2a1c68a Merge from Mesh_3-improvements-GF 2012-11-21 17:49:59 +01:00
Clement Jamin ab4d97c1e5 The global optimizers are now parallel (needs some intense testing now) 2012-11-21 16:16:47 +01:00
Clément Jamin ffc70d4482 Added support for concurrency to "locate" + minor changes 2012-11-20 15:16:21 +01:00
Laurent Rineau 57a58d00a3 Triangulation_cell_base_with_circumcenter_3::invalidate_circumcenter() must
be public.

That is required by the slivers exuder.
2012-11-20 10:25:47 +01:00
Laurent Rineau 4509b5bbe2 Merge branch 'master' into improvements
Conflicts:
	Mesh_3/include/CGAL/Mesh_3/mesh_standard_facet_criteria.h
2012-11-14 12:17:29 +01:00
Sébastien Loriot 825bfe6144 make create_star_3 non recursive only after 100 recursive calls.
The speed observed on random data set produced by simple_2.cpp is equivalent
to the original recursive version and faster than the version better this commit
2012-10-30 13:42:47 +00:00
Clément Jamin 74fad3a088 Typo 2012-10-19 08:50:18 +00:00
Clément Jamin 8a12c83451 The parallel version can now use safely FORCE_STRUCTURAL_FILTERING (optimization from GF-Improvements) 2012-10-17 16:33:37 +00:00
Clément Jamin 1ca7174e01 Merge from Mesh_3-improvements-GF
+ some bugfixes (most of them are related to the parallel version)

This version works (sequential and parallel) as long as the following macros are NOT defined:
* CGAL_COMPACT_MESH_VERTEX_CELL
* CGAL_INTRUSIVE_LIST
* FORCE_STRUCTURAL_FILTERING
2012-10-16 14:02:16 +00:00
Clément Jamin 4e1f8aa4f8 Merge from next 2012-10-15 08:28:01 +00:00
Laurent Rineau 795c71fc9b Fix headers of Mesh_2 and Mesh_3. All were missing #include.
I found out that way that <CGAL/Mesh_3/Refine_facets.h> and
<CGAL/Mesh_3/Protect_edges_sizing_field> were using global functions
instead of functors of the traits class.

Note also the funny bug that <CGAL/Regular_triangulation_cell_base_3.h> was
depending on <CGAL/Triangulation_vertex_base_3.h>!
2012-10-08 09:33:38 +00:00
Clément Jamin 2366fee1e1 Merge from next 2012-09-28 14:51:02 +00:00
Jane Tournois 3555cf3cb2 make just_incident_cells_3 the default use of incident_cells(v)
replace macro CGAL_JUST_INCIDENT_CELLS with CGAL_TDS_3_NOT_JUST_INCIDENT_CELLS (and reverse use), and comment it in config.h
2012-08-28 09:01:47 +00:00
Jane Tournois abc1515741 r70387, r70573, r70574 from Mesh_3-experimental-GF
Add incident_cells_3(Vertex_handle, std::vector<Cell_handle>)

This function avoids the construction of two additional std::vectors.
The performance gain is between 30% (g++) and 50% (VC++)
for points on surfaces as well as for points filling space.

We at the same time change the implementation of the function
incident_cells(Vertex_handle, OutputIterator).
In order to save one additional std::vector,
the cells are reported in bfs and not in dfs order
2012-07-31 14:44:45 +00:00
Jane Tournois 7d169b85f8 r70573 from Mesh_3-experimental-GF
add macro to force Structural_filtering
2012-07-31 14:14:25 +00:00
Jane Tournois db9f968ea9 r70321 from Mesh_3-experimental-GF
Change inexact_locate and inexact_orientation from protected to public (needed for the commit in Mesh_3 concerning inexact_locate in Mesh_sizing_field)
2012-07-31 13:30:29 +00:00
Samuel Hornus 2223726370 merge from next 2012-07-18 15:42:06 +00:00
Clément Jamin 1c664776c9 The parallel version can now be built with GCC 2012-07-10 16:53:34 +00:00
Clément Jamin 41f9cbe411 Sequential Mesh_3 can now be compiled by GCC. 2012-07-09 15:44:58 +00:00
Philipp Möller caf3cce0d1 Silence unused parameter warnings. Leave the ones from the test-suite
that could signal incomplete tests.
2012-06-22 14:22:16 +00:00
Clément Jamin 40f602fea9 Minor changes (comments, etc.) 2012-06-21 12:03:03 +00:00
Clément Jamin 3725168185 Backup commit (I need to roll back to an older version) 2012-06-15 11:28:09 +00:00
Clément Jamin b268598665 Replace LINKED_WITH_TBB by CGAL_LINKED_WITH_TBB. 2012-06-13 09:33:08 +00:00
Clément Jamin b948543cc6 Use of a Tag (template parameter) to activate/deactivate concurrency in Mesh_3, instead of #ifdef macros. 2012-06-09 08:52:37 +00:00
Clément Jamin dfbddff185 Bugfixes + some clean-up 2012-05-30 14:49:02 +00:00
Olivier Devillers 576e7338c5 merge next 2012-05-24 09:20:13 +00:00
Clément Jamin 5a628edd4e - New worksharing technique: we use a coarse version of the mesh to split the space.
- Some clean-up (removed g_global_mutex)
2012-05-03 16:05:36 +00:00
Clément Jamin 0eee3dc040 Fixed a deadlock introduced recently.
Added some assertions in the way...
2012-04-25 13:00:12 +00:00
Clément Jamin 7d1d94f42e Merge from next 2012-04-24 16:24:13 +00:00
Laurent Rineau 5acc79e554 Add comments to explain what happens with the use of Default Dt_3 2012-04-23 16:54:47 +00:00