Commit Graph

422 Commits

Author SHA1 Message Date
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 6429a45ff1 Bugfix 2012-11-20 15:17:39 +01:00
Clément Jamin 5ee10c8b63 Missing include + clean-up 2012-11-20 15:14:02 +01:00
Clément Jamin b62c970343 New member function (is_locked_by_this_thread) + code refactoring 2012-11-20 15:13:05 +01:00
Clément Jamin 6c74e72c4a Better protected/public sections + removed output committed by error 2012-11-20 15:11:31 +01:00
Clément Jamin c243b06f81 Minor changes 2012-11-20 15:04:22 +01:00
Laurent Rineau 21dd336011 Add Triangulation_vertex_base_with_info_3 and
Triangulation_cell_base_with_info_3 in the io_signature system
2012-11-20 12:27:19 +01:00
Laurent Rineau 07f1a8381a Extend the API to be compatible with the API of Polyhedral_mesh_domain_3 2012-11-20 11:25:34 +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
Laurent Rineau 88c6856789 Make CGAL_MESH_3_PROTECTION_DEBUG work
even if the surface id or curve id and not streamable.
2012-11-08 16:22:21 +00:00
Laurent Rineau a9c16e922d Allow not to define CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3 2012-11-08 10:31:50 +00:00
Laurent Rineau cd62693554 Better fix of that assertion 2012-11-08 10:31:01 +00:00
Laurent Rineau 16ba507e79 Ignore silently consecutive identical points 2012-11-08 08:56:00 +00:00
Laurent Rineau 3e3f3057e7 Improve the assertions where minimal_size is used.
Before that patch, when special balls were around, some conditions tested
by previous assertions could legitimately be false.
2012-11-07 15:51:16 +00:00
Laurent Rineau b112335034 Fix a wrong assertion.
If n==0, no new protecting ball will be inserted on the given curved
segment. No need to have dleft_frac>=1.
2012-11-06 14:04:55 +00:00
Laurent Rineau bd6c940f6a Make <CGAL/Mesh_vertex_base_3.h> compile on Linux. 2012-10-22 12:45:14 +00:00
Clément Jamin 68de26d823 With CGAL_COMPACT_MESH_VERTEX_CELL, the parallel version crashes sometimes. Can't figure out why... 2012-10-22 12:01:34 +00:00
Clément Jamin 57471ecc28 This "CGAL_UNDOABLE_INSERT_USE_MAP" thing was not used 2012-10-22 12:00:38 +00:00
Clément Jamin 4181e45730 Merge from Mesh_3-improvements-GF 2012-10-19 15:11:14 +00:00
Clément Jamin 2090a58eb3 Minor typos in comments 2012-10-19 14:30:35 +00:00
Clément Jamin fde74e4a9a There was a data race here 2012-10-19 14:29:30 +00:00
Clément Jamin 80ea1a7d33 This "CGAL_UNDOABLE_INSERT_USE_MAP" thing was not used 2012-10-19 14:27:16 +00:00
Clément Jamin 18938d6490 Bugfix: added a default value for Concurrency_tag 2012-10-18 09:27:11 +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 34a4620175 Fix 2012-10-17 15:49:06 +00:00
Clément Jamin dbb1236912 Activated a few GF optimizations 2012-10-17 15:48:47 +00:00
Clément Jamin 160e87bf4f Use Compact_mesh_cell_base_3 and Compact_mesh_vertex_base_3 in the parallel, if CGAL_COMPACT_MESH_VERTEX_CELL is defined 2012-10-17 15:35:44 +00:00
Clément Jamin 2d7265e0e4 The Compact_mesh_cell_base_3 can now be used by the parallel version and by the "lazy-refinement-queue" version 2012-10-17 15:35:03 +00:00
Laurent Rineau 1f1c9eaa33 Cherry-pick from Clément's branch:
| ------------------------------------------------------------------------
  | r73014 | cjamin | 2012-10-17 15:12:52 +0200 (Wed, 17 Oct 2012) | 1 line
  | Changed paths:
  |    M /branches/features/Mesh_3-parallel-cjamin/Mesh_3/include/CGAL/Mesh_cell_base_3.h
  |    M /branches/features/Mesh_3-parallel-cjamin/Mesh_3/include/CGAL/Mesh_vertex_base_3.h
  | 
  | Added support for CGAL_INTRUSIVE_LIST in Mesh_cell_base_3 and Mesh_vertex_base_3
  | ------------------------------------------------------------------------
2012-10-17 13:57:43 +00:00
Clément Jamin b5bc300289 Added support for CGAL_INTRUSIVE_LIST in Mesh_cell_base_3 and Mesh_vertex_base_3 2012-10-17 13:12:52 +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
Jane Tournois 304834b709 reactivate macro 2012-10-16 10:23:09 +00:00
Jane Tournois 824e8060fe fix typo when CGAL_MESH_3_NEW_ROBUST_INTERSECTION_TRAITS is not defined 2012-10-16 09:59:44 +00:00
Jane Tournois 44f4a1a5c7 fix Construct_initial_points in Polyhedral_mesh_domain_3. In some numerically degenerate cases, it can be that there is no intersection point 2012-10-16 09:53:14 +00:00
Clément Jamin 4e1f8aa4f8 Merge from next 2012-10-15 08:28:01 +00:00
Clément Jamin f37891baac Minor changes (config, removed typedef...) 2012-10-12 15:01:55 +00:00
Clément Jamin bd42c51cc5 - Added macro CHECK_AND_DISPLAY_THE_NUMBER_OF_BAD_ELEMENTS_IN_THE_END and SHOW_REMAINING_BAD_ELEMENT_IN_RED
- More output / enhanced output
- Some debug code (to be removed later)
2012-10-12 15:00:08 +00:00
Laurent Rineau 9a3998357f svn merge --reintegrate \^/branches/features/CGAL_foundations-fix_missing_headers-lrineau 2012-10-10 12:39:36 +00:00
Laurent Rineau f435be98fb Fix an efficiency bug, when FT is not double.
dihedral_angle() returns a double. So values must be converted to double
ASAP.
2012-10-10 12:24:15 +00:00
Laurent Rineau a53fd8c9c4 merge changes from next 2012-10-09 13:08:52 +00:00
Laurent Rineau 8743fa847b Rename PROTECTION_DEBUG into CGAL_MESH_3_PROTECTION_DEBUG 2012-10-09 12:45:20 +00:00
Laurent Rineau f0118a1311 Revert last commit (commited by error) 2012-10-09 09:28:37 +00:00
Laurent Rineau 648472bdac After a run of detect_packages_license 2012-10-09 09:26:23 +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
Laurent Rineau 6b0bf6078c BUGFIX: backup points attributes before the call to c3t3.remove_from_complex
C3t3::remove_from_complex modifies the in_dimension() of the vertex

(That may have been a bug.)

It is actually a merge from r72577 of
/branches/features/Mesh_3-experimental-GF/Mesh_3
2012-10-04 14:56:03 +00:00
Clément Jamin 2366fee1e1 Merge from next 2012-09-28 14:51:02 +00:00
Laurent Rineau 139b8ce637 Add and test functions to save/load a c3t3 in binary format 2012-09-21 13:12:58 +00:00
Laurent Rineau 787d19d6c3 Merge changes from next 2012-09-21 12:29:27 +00:00