Commit Graph

334 Commits

Author SHA1 Message Date
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
Andreas Fabri 71b746b58c fixed min/max problem 2006-08-17 09:14:39 +00:00
Andreas Fabri 2d151a776a Fixed min max problem 2006-07-30 13:09:30 +00:00
Laurent Rineau 774e48f5f7 - fix a Rebind bug in <CGAL/Delaunay_mesh_face_base_2.h>, reported by
"Mike A. Harris" <mharris@mharris.ca> on the cgal-discuss mailing list.
- add a new test file to avoid that bug to reappear one day.
2006-07-25 09:25:45 +00:00
Laurent Rineau 0d1d892da1 - new debug macros:
- CGAL_MESH_3_DIRTY_DEBUG_SPHERES,
  - and CGAL_MESHES_DEBUG_REFINEMENT_POINTS.
- new macro CGAL_MESHES_OUTPUT_STREAM, which is set to std::cout by
default.
- in Mesh_2: new header <CGAL/Mesh_2/Output_stream.h>
2006-07-10 09:25:35 +00:00
Laurent Rineau 550d1df0ed - new debug macros:
- CGAL_MESH_3_DEBUG_INSERTION_RADIUS,
   - CGAL_MESH_2_DEBUG_INSERTION_RADIUS,
   - CGAL_MESHES_DEBUG_REFINEMENT_POINTS,
   - and CGAL_MESH_3_DIRTY_DEBUG_SPHERES.
  These are not activated by default, of course. The latter was to debug
  test/Mesh_3/combined_spheres.cpp.
2006-07-10 09:13:23 +00:00
Laurent Rineau 0a1b5756e5 Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch
"cannot_wait_for_CGAL-3.2" to the trunk.

My idea: the branch is the real working version, and I want it to be joined
back to the trunk:

          __________________________         cannot_wait_for_CGAL-3.2 branch
         /                          \
        /                            \ 
-------------------------------------------- trunk
        S                             M

The modification of the trunk between the splitting point S and the merging
point M has already been merged into "cannot_wait_for_CGAL-3.2".

The trunk versions of these three packages have been removed already.
2006-06-06 13:38:15 +00:00
Laurent Rineau b80c458ae5 Remove trunk of Mesh_2, Mesh_3 and Surface_mesher.
Do not worry: I will "svn cp" the branch "cannot_wait_for_CGAL-3.2" into the
trunk, and the trunk will inherit from the logs of the branch.

My idea: the branch is the real working version, and I want it to be joined
back to the trunk:

          __________________________         cannot_wait_for_CGAL-3.2 branch
         /                          \
        /                            \ 
-------------------------------------------- trunk
        S                             M

The modification of the trunk between the splitting point S and the merging
point M has already been merged into "cannot_wait_for_CGAL-3.2".
2006-06-06 13:36:21 +00:00
Laurent Rineau 0161de5a27 - added test_conforming and test_meshing in test/ with test files.
- rename test/Mesh_2/makefile to GNUmakefile, not submitted:
  makefiles in the testsuite are generated.
- fix a BUG in Mesher_level: one_step() and try_to_insert_one_point(), in
  Null_mesher_level must return false! This fix solves the "follow under
  mouse" bug of mesh_demo.C!
- change some DEBUG macro names to:
    CGAL_MESH_2_DEBUG_BAD_FACES
    CGAL_MESH_2_DEBUG_CLUSTERS
    CGAL_MESH_2_DEBUG_CONFLICTS_ZONE
    CGAL_MESH_2_DEBUG_DRAW
    CGAL_MESH_2_DEBUG_INSERTIONS
    CGAL_MESH_2_VERBOSE
  to please CGAL developer manual.
- add a seed in fish.poly

(Note to Andreas: this is the bug I was looking for. The added test file
helped me to find it cause.)
2006-04-13 16:07:19 +00:00
Laurent Rineau e15412aed1 patch for SunCC 2006-03-30 16:11:40 +00:00
Laurent Rineau 0530e82ca4 - fix a desynch between the doc and code: is_marked->is_in_domain, in the
face base type
2006-03-20 14:38:45 +00:00
Laurent Rineau 114d740b35 - Move the internal header
include/CGAL/Mesh_3/Triangulation_mesher_level_traits_3.h to Mesh_2.
- change its use to std::list to use of std::vector (and call reserve).
2006-02-27 17:23:10 +00:00
Laurent Rineau bf18b7b7ce Move include/CGAL/Mesh_3/Triangulation_mesher_level_traits_3.h to Mesh_2. 2006-02-27 17:19:11 +00:00
Laurent Saboret db6a8f948c Change CVS keywords to SVN style 2006-02-16 14:30:13 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret 541f5f7f0e Remove .cvsignore files (changed to svn:ignore properties) 2006-02-14 09:20:20 +00:00
Laurent Saboret 6b42bcbb9b Move packages to trunk root 2006-02-14 08:58:16 +00:00