Commit Graph

66 Commits

Author SHA1 Message Date
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
Laurent Rineau eb080638fc Fix an error with -D_GLIBCXX_DEBUG -D_GLIBCPP_CONCEPT_CHECKS
The following (commented) line triggered the error:
    direct_func[rit->second] = rit;
The new following line fixes the bug. Actually, it is even more
efficient.
    direct_func.insert(std::make_pair(rit->second, rit));
2007-02-23 13:01:04 +00:00
Laurent Rineau 3a33daaf8c Cosmetic changes in this file: rename "z" to "zone", and the boolean
"should_be_true" to "is_edge", so that the assertion message is not that
bad.
2006-12-07 15:57:16 +00:00
Laurent Rineau 4394be3bbc - refactoring of <CGAL/Mesh_2/Refine_edges.h>:
- factorize code in Is_locally_conforming_Gabriel and
    Is_locally_conforming_Delaunay.
    - all triangulation references are now named "tr" (instead of "ct").
(Tests OK)
2006-12-01 17:32:40 +00:00
Laurent Rineau 503e340eec Fix the Gabriel test, to be a *strict* Gabriel test: if a point lies on the
boundary of the diametral circle, then the edge is not conforming Gabriel.
2006-11-30 15:05:29 +00:00
Laurent Rineau 8ecd768345 modify comments after discussion with Jane Tournois. 2006-10-25 15:41:37 +00:00