Commit Graph

71 Commits

Author SHA1 Message Date
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
Andreas Fabri 9fea4e7c99 one less warning in Mesh_2, Point_set_2 2013-01-30 18:49:40 +01: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
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
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
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Laurent Rineau 9024d5bc04 Fix the text of the assertion msg. Thanks to Sebastien L. 2011-11-16 18:25:18 +00:00
Laurent Rineau 3d1dc999a0 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.
2011-11-16 17:58:22 +00:00
Laurent Rineau 0a363c52b5 Fix a bug introduced in trunk: criteria for Mesh_2 needs a geom traits 2011-06-04 17:00:31 +00:00
Laurent Rineau 5e1de228a1 Do not use systematically a default constructed geom traits
If one wants to use Mesh_2 with Triangulation_2_projection_traits_3 (a
projection traits constructed with a normal vector), one cannot use a
default constructed geom traits, but only one passed on argument. Then the
criteria class needs to be constructed with tr.geom_traits() as argument.
2011-03-23 17:45:59 +00:00
Sébastien Loriot ae62b2ae4d remove warnings 2011-02-24 16:36:04 +00:00
Andreas Fabri 43aea3bd18 Remove unused variable 2010-11-12 08:06:17 +00:00
Sébastien Loriot 5c8f3946f4 call to is_conforming_[Gabriel,Delaunay] was no longer possible: fix proposal.
Add a test into the testsuite
2010-10-19 14:23:04 +00:00
Stéphane Tayeb 61f6dcbc10 previous data member is now a reference in Null_mesher_visitor_level: visitor used by Mesh_3 as Previous_level has a state, so doing a copy is not an option. 2010-06-09 15:39:04 +00:00
Andreas Fabri 8e47168183 Remove extra ';' 2010-05-17 14:05:54 +00:00
Andreas Fabri 397bc16d9f Remove ';' 2010-05-14 09:13:45 +00:00
Laurent Rineau 49b095589d Strict-ansi compliance 2010-05-08 11:49:52 +00:00
Sébastien Loriot 72ef527fc6 remove extra ; 2010-04-26 09:00:17 +00:00
Laurent Rineau d8e2cfaecd Fix yet another bug of Mesh_2: if a vertex of the CDT has all its incident
edges in a cluster of constrained edges, then the construction of the
cluster was buggy.
2010-03-23 14:59:11 +00:00
Laurent Rineau 73c9d4fb3d Determinize Mesh_2 (comparison of Face_handles in Double_map). 2010-03-10 18:05:57 +00:00
Laurent Rineau 1c84cc189b Fix a bug of Mesh_2 that exists for years (since r23141, 2004-10-19)! 2010-03-10 16:46:10 +00:00
Laurent Rineau 274143fa4d - Fix the Mesh_2 test suite: previously it was no longer testing anything!
- Fix the handling of the cdt with the triangulation plus_2.
- Add tests with CDT_plus_2.
2010-03-09 15:25:12 +00:00
Stéphane Tayeb a9813aa1ef Fix double map container: pop_next_element_impl now pops the first element of the internal double map. 2010-02-26 10:45:22 +00:00
Stéphane Tayeb 88b3b85630 Fix a bug concerning Boost.Bimap (boost 1.41.0) and _GLIBCXX_PARALLEL g++ flag. 2010-01-27 17:09:55 +00:00
Sylvain Pion 5fda817f95 Remove a few "warning: extra ';'" with g++ -pedantic. 2009-11-14 11:49:52 +00:00
Laurent Rineau c5e779d227 Add a edges mesher level that prevents edges to be refined, and let some bad triangles in the mesh (when their circumcenter encroaches a constrained edge, or when their circumcenter lies outside the meshing domain. 2009-06-24 14:12:12 +00:00
Sylvain Pion 55b427d531 lenght -> length 2009-04-07 19:30:59 +00:00
Andreas Fabri 0879f84971 Don't use deprecated functions internally 2008-11-02 20:43:30 +00:00
Laurent Rineau 324db7bcee Rename variables: add "sq" in their names, so that one know that the
distances are squared.
2008-09-26 13:46:54 +00:00
Laurent Rineau a8cdc7ca4a Remove Boost.Bimap FEATURE: it is now hard-coded that bimap is supported iff boost version is >= 1.35 2008-09-24 09:13:57 +00:00
Andreas Fabri 64d8e77840 Overload meshing function for domains selevted by the user 2008-09-24 08:58:02 +00:00
Andreas Fabri 9e667d5865 Put parenthesis around block even if it is only one statement 2008-09-24 08:57:10 +00:00
Andreas Fabri 4c55f38979 fixes for bimap which is now in the boost distribution 2008-09-24 08:56:24 +00:00
Sylvain Pion eff6efd3af CGAL_NULL and CGAL_NULL_TYPE are now constant macros, so replace them by:
- CGAL_NULL -> NULL
- CGAL_NULL_TYPE -> CGAL::Nullptr_t (typedef to const void *)
2008-07-12 21:58:52 +00:00
Laurent Rineau b92312032e Leftovers from commit 42968:
"New directory Mesh_2/include/CGAL/Meshes/ that aggregates several
non documented files that are common to Mesh_2, Mesh_3 and Surface_mesher."
I forgot to commit the removal of old files.
2008-04-25 13:38:54 +00:00
Laurent Rineau 22629c62b3 New directory Mesh_2/include/CGAL/Meshes/ that aggregates several
non documented files that are common to Mesh_2, Mesh_3 and Surface_mesher.
2008-04-21 16:07:38 +00:00
Laurent Rineau 767ea68f72 fix warnings "CGAL/Mesh_2/Refine_edges_with_clusters.h", line 160: Warning: tr hides[...]" 2008-01-22 14:01:48 +00:00
Laurent Rineau 699fb3e257 Better follow under mouse feature: use a segment, instead of a point.
That allows to better track the mouse movement.
2007-11-15 10:05:14 +00:00
Laurent Rineau 917ff4701f Fix an old bug: the Terminator algorithm was not implemented correctly 2007-11-15 10:03:40 +00:00
Laurent Rineau 1ead79b7c8 Fix an old bug: the Terminator algorithm was not implemented correctly 2007-11-15 10:03:22 +00:00
Laurent Rineau 800e21e0eb Fix Mesh_2 in trunk: Mesh_2::Refine_edges_visitor<> no longer carries data.
Now, its data are references to private data of one instance of Mesh_2::Refine_edges<>,
so that they can be safely modified.
2007-10-16 14:41:34 +00:00
Laurent Rineau e42871f6d5 fix macros CGAL_MESHES_NO_OUTPUT and CGAL_MESHES_OUTPUT_ON_CERR 2007-10-16 12:01:02 +00:00
Laurent Rineau 1f471177ce push current version 2007-06-06 12:54:28 +00:00
Laurent Rineau b800ebce7d fix compilation errors in Mesh_3 2007-05-14 14:02:39 +00:00
Laurent Rineau 4d50b11e89 Bug fixed at breakfast time: incorrect use of Boost.Bimap! (stupid me)
Explanation: Double_map is supposed to be a map in one way, and a
  multimap in the reverse way.

  "La nuit porte conseil." (french proverb)
2007-03-30 08:35:10 +00:00
Laurent Rineau f1d5ec3a62 Use Boost.Bimap in Double_map.
Boost.Bimap is a bit faster (150-190% faster), and less
memory-consumer. Whereas the old Double_map implementation does not seem to
be sensitive to caching effects, the Bimap implementation seems to be
faster when run twice or more.

See the measurements bellow. Three runs of ./bench_double_map.bimap and
./bench_double_map.cgal. They are both compiled with -O2, and
./bench_double_map.bimap is compiled with -DCGAL_USE_BOOST_BIMAP
-I<path_to_boost_bimap>.

lrineau@tsetse ~/CGAL/Packages/Mesh_2/test/Mesh_2 $ for in in 1 2 3; do
  echo 'BIMAP';
  ./bench_double_map.bimap 200000 30;
  echo 'OLD DOUBLE_MAP';
 ./bench_double_map.cgal 200000 30;
done
BIMAP
Total time:           4.41933
Time for 'insert':    3.15152
Time for 'pop_front': 1.26781
Resident memory:      14843904
Virtual  memory:      26423296
OLD DOUBLE_MAP
Total time:           6.581
Time for 'insert':    4.5593
Time for 'pop_front': 2.0217
Resident memory:      18030592
Virtual  memory:      29519872
BIMAP
Total time:           3.56746
Time for 'insert':    2.49262
Time for 'pop_front': 1.07484
Resident memory:      14843904
Virtual  memory:      26427392
OLD DOUBLE_MAP
Total time:           6.76597
Time for 'insert':    4.70729
Time for 'pop_front': 2.05869
Resident memory:      18034688
Virtual  memory:      29519872
BIMAP
Total time:           3.51347
Time for 'insert':    2.43964
Time for 'pop_front': 1.07383
Resident memory:      14856192
Virtual  memory:      26427392
OLD DOUBLE_MAP
Total time:           6.74597
Time for 'insert':    4.6183
Time for 'pop_front': 2.12768
Resident memory:      17854464
Virtual  memory:      29523968
2007-03-14 18:53:37 +00:00
Laurent Rineau b4171c96e5 updated debug output, if CGAL_MESHES_DEBUG_REFINEMENT_POINTS is defined 2007-03-12 10:38:51 +00:00