Commit Graph

130 Commits

Author SHA1 Message Date
Andreas Fabri 2916850771 use iformat for reading doubles 2014-11-26 16:53:50 +01: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 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
Laurent Rineau ecd44ef651 Cosmetic changes
My coding style has evolved a lot since 2002!
2014-01-09 14:21:12 +01:00
Laurent Rineau 2c236ff01d Fix a bug in the constructor if Filter_circulator
The Intel Compiler 14.0, with -O2 or -O3, triggers a bug in the old
version of the code. After the construction of the filtered circulator,
`test(*this)` was not guaranteed. I am not sure if the bug is in the
code or in the compiler, but the constructor was an ugly piece of
code! (*this) was used in the body of the constructor in non obvious
ways. An object is reputed constructed once the internalizers are
evaluated, as far as I know, so probably the previous version of the
code was valid. However, that sound strange to copy an object inside the
body of the constructor of that object. Maybe that confused the
compiler.

Anyway, I have modified the implementation of that constructor in a
cleaner way, and I have added an assertion (that was failing with the
old implementation).
2014-01-09 14:15:45 +01:00
Clement Jamin 730d34bb23 Create a separate Mesher_level.h file for Mesh_3
Before, we were using the Mesher_level.h file of the Mesh_2 package,
but the parallel version introduced some changes and a
dependency from Mesh_2 to Mesh_3 that is not wished.
I restored the original Mesher_level.h file in Mesh_2.
2013-09-11 15:45:55 +02:00
Clement Jamin 138710d997 Remove useless #include 2013-07-25 14:44:01 +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 bc360c8b13 Changes for GCC compilation + removed some trailing spaces 2013-06-07 17:40:53 +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 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 8745b999ad Replaced is_base_of by is_convertible. 2013-05-22 15:15:05 +02:00
Clement Jamin f2d188c599 Replaced the CGAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE macro
Now, we add points on a far spheres by default in the parallel version, but not in the sequential version. So, two macros: CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE and CGAL_PARALLEL_MESH_3_DO_NOT_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE.
2013-03-15 14:30:35 +01:00
Clement Jamin 462fac46fc No output if no VERBOSE mode activated + class for debugging
Replaced ExplicitFacet by Explicit_simplex for debugging purpose
2013-03-14 11:17:04 +01:00
Clement Jamin ce9aba9375 Removed the parallel_for-based and parallel_do-based strategies.
Just keep the task-scheduler-based strategy, the fastest one.
2013-03-13 11:23:46 +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 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
Andreas Fabri 876a4a5753 remove unused variables and #if 0 buggy non used code 2013-02-26 17:05:13 +01:00
Laurent Rineau 66c5d23154 Use CGAL_assume to remove warnings 2013-02-20 18:55:43 +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 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
Clement Jamin 70312d7299 Code clean-up 2013-02-13 19:57:01 +01:00
Clement Jamin eb2ed63d8b Changed the way we activate concurrency in Triangulation_3 + Code clean-up 2013-02-11 19:12:30 +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
Andreas Fabri 9fea4e7c99 one less warning in Mesh_2, Point_set_2 2013-01-30 18:49:40 +01:00
Clément Jamin 4f262b956a Clean-up TODOs 2012-11-20 15:00:32 +01:00
Clément Jamin 3ff6969e63 Had forgotten to remove this temporary code 2012-10-25 12:00: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
Laurent Rineau 0a081c2abd Add an option to check the syntax of headers, individually.
That feature can be enabled with g++, clang++, and icpc (intel). It could
be implemented for MSVC, with the flag /Zs, but that is not yet done (and
probably will not).

The option is controlled by a CMake option, CGAL_ENABLE_CHECK_HEADERS, that
is disabled by default. If that option is enabled by the user, then CMake
will check if the compiler $CXX understand the syntax:
  $CXX -x c++ -fsyntax-only CGAL/header.h
and send an error otherwise.

Then phony targets will be created:
  - a target check_CGAL__header_h for each header <CGAL/header.h>,
  - a target check_pkg_<pkg> for each package <pgk>,
  - and a target check_headers for the whole CGAL.

Those new targets currently give a lot of compilation errors if
CGAL_ENABLE_CHECK_HEADERS is enabled!

+ fix several missing includes in Mesh_2.
2012-10-05 12:21:44 +00:00
Clément Jamin 2366fee1e1 Merge from next 2012-09-28 14:51:02 +00:00
Clément Jamin 23ff0b1012 Oops, bugfix on my previous bugfix 2012-08-31 08:41:47 +00:00
Clément Jamin e401dd9175 Bugfix (see comment in Mesher_level.h) 2012-08-31 08:30:14 +00:00
Laurent Rineau db194534c7 First big patch to fix -Wunused-local-typedefs
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
 by -Wall since gcc-4.8 (not yet released).

The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
2012-08-01 13:29:16 +00:00
Laurent Rineau fcd8565b46 Revert a buggy revision
Bug reported by a user against CGAL-4.0.2
A single triangle cannot be meshed!

The fault was a buggy assertion added in the following revision:
  |-----------------------------------------------------------------------
  |r66359 | lrineau | 2011-11-16 18:58:22 +0100 (Wed, 16 Nov 2011) | 3 lines
  |
  |Add an assertion that checks that a point constructed as the midpoint of an
  |edge is located either on the edge or inside one of the two incident faces.
  |
  |-----------------------------------------------------------------------
And the assertion message was:
  terminate called after throwing an instance of 'CGAL::Assertion_exception'
    what():  CGAL ERROR: assertion violation!
  Expr: zone.locate_type != Tr::FACE || zone.fh == f || zone.fh == n
  File: /home/lrineau/wc/Mesh_2/test/Mesh_2/../../include/CGAL/Mesh_2/Refine_edges.h
  Line: 430
  Explanation: Your data set contains at least a vertex that is very close to 
    a constrained edge! Mesh_2 cannot mesh that sort of data set.
2012-07-26 14:02:13 +00:00
Clément Jamin fc40c96c3d For GCC 2012-07-11 10:11:31 +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
Clément Jamin 40f602fea9 Minor changes (comments, etc.) 2012-06-21 12:03:03 +00:00
Clément Jamin d42a0fc71d Improved tag dispatching 2012-06-20 13:04:40 +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 78cddbe55b bugfix 2012-06-13 10:04:23 +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
Laurent Rineau fd77f801dc Bug fix: g++-4.7 (and C++03/11) requires to qualify the call. 2012-05-21 06:53:58 +00:00
Clément Jamin d2792dff8d - Added the ability to add points on a sphere outside the domain in the sequential case => better performance for the fandisk model (x2). I'm still wondering why...
- Code refactoring/clean-up
2012-05-04 15:20:28 +00:00
Clément Jamin 9da17676e9 Clean-up / formatting 2012-05-03 16:37:48 +00:00