cgal/Mesh_2/changes.txt

349 lines
13 KiB
Plaintext

1 December 2006 Laurent Rineau
- the Gabriel criteria is now *strict*: no point can ly on the diametral
sphere.
- 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").
25 July 2006 Laurent Rineau
- 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.
10 July 2006 Laurent Rineau
- 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.
- major switch from .C to .cpp. Andreas's script left a lot of things that
had to be fixed manually.
- new header <CGAL/Mesh_2/Output_stream.h>
7 July 2006 Laurent Rineau
- add the ability to set the background color, and properties of the layer
Show_in_domain. It was a bit a fun. I have done that in 10mn, with the
class Qt_widget_styled_layer!!
I have taken a nice screenshot, with the file france.poly as input. We
can see here the Noirmoutier island, near where I live:
http://www.di.ens.fr/~rineau/CGAL/mesh_demo-noirmoutier.png
Some data files lives in http://www.di.ens.fr/~rineau/CGAL/data/
6 June 2006 Laurent Rineau
- merge trunk modifications into the branch "cannot_wait_for_CGAL-3.2"
I will copy the branch into the trunk.
Here are the changes:
20 April 2006 Laurent Rineau
- small changes in the user manual:
- change captions location
- fix typos and bad english
(thanks to Pierre Alliez)
- fix a typo in doc_tex/Mesh_2_ref/Delaunay_mesh_*criteria_2.tex :
(1/2B instead of 1/4B^2)
13 April 2006 Laurent Rineau
- 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
30 April 2006 Laurent Rineau
(fix only in the branch "cannot_wait_for_CGAL-3.2")
- Fix for a bug leading to a crash, if the mesh criteria are too strong.
The algorithm will now inter into an infinite loop, instead of crashing
Delaunay_triangulation_2. It seems safer in a way.
- CGAL-3.2 is too close: it will be submitted to CGAL-3.2.1 only.
20 March 2006 Laurent Rineau
- fix a desynch between the doc and code: is_marked->is_in_domain, in the
face base type
26 Febraury 2006 Laurent Rineau
- Move the internal header
include/CGAL/Mesh_3/Triangulation_mesher_level_traits_3.h to Mesh_2.
16 November 2005 Laurent Rineau
- added copy constructor and operator= in CGAL::Double_map
- check them in test/Mesh_2/test_double_map.C
9 May 2005 Laurent Rineau
- new (and last) optimization (for the moment) of Double_map
- added a test for Double_map!
- include/CGAL/Mesher_level.h splitted into:
include/CGAL/Mesher_level.h
include/CGAL/Mesher_level_default_implementations.h
include/CGAL/Mesher_level_visitors.h
- new class Combine_mesh_visitor in include/CGAL/Mesher_level_visitors.h
- fixed a stupid bug introduced 09-Feb-2005 in
include/CGAL/Mesh_2/Refine_edges_with_clusters.h
23 March 2005 Laurent Rineau
- conflicts_zone_impl requirements have changed
8 March 2005 Laurent Rineau
- new Double_map.h
28 February 2005 Laurent Rineau
- Added macro CGAL_MESH_2_DEBUG_DRAW and Debug_layer.h in mesh_demo, to debug
calls to widget->redraw(). Not activated by default.
8 February 2005 Laurent Rineau
- CHANGES to Mesher_level:
- enum Mesher_level_conflict_status instead of std::map<bool, bool>.
- new template parameters for Mesher_level
- new Mesher_level function names:
- Tr& triangulation_ref_impl()
- Vertex_handle insert_impl(p, z)
- Zone conflicts_zone_impl(p)
- void scan_triangulation_impl()
- bool no_longer_element_to_refine_impl()
- Element get_next_element_impl()
- void pop_next_element_impl()
- Point refinement_point_impl(e)
- void before_conflicts_impl(e, p)
- Mesher_level_conflict_status private_test_point_conflict_impl(p, zone)
- Mesher_level_conflict_status
test_point_conflict_from_superior_impl(p, zone)
- void before_insertion_impl(e, p, zone)
- void after_insertion_impl(vh)
- void after_no_insertion_impl(e, p, zone)
- new class in Mesher_level.h for default implementations:
- class Triangulation_ref_impl
- No_private_test_point_conflict
- No_test_point_conflict_from_superior
- No_test_point_conflict :
- No_before_insertion
- No_after_insertion
- No_after_no_insertion
- No_before_after_insertion
18 January 2005 Laurent Rineau
- new Qt_widget_style_editor implementation
- demoicon.xpm in the demo
- remove some cerr outputs
11 December 2004 Laurent Rineau
- new dialog in mesh_demo, to set up layer properties
- fix documentation
- NEW: pictures in the documentation
17 November 2004 Laurent Rineau
- fix for g++-3.4
- fix Delaunay_mesh_area_2 which was broken
- fix warnings in demo/Mesh_2/ layers
16 November 2004 Laurent Rineau
- fix documentation
- enum Face_badness { NOT_BAD, BAD, IMPERATIVELY_BAD }; and modified
specifications for MeshingCriteria_2, to refines too small faces near
clusters.
22 October 2004 Laurent Rineau
- fix two typo bugs in the testsuite
21 October 2004 Laurent Rineau
- Yet another killed bug!! :-) The minimum sine of triangle was badly
computed.
- Refine_faces forgot to scan for bad faces the star of the new vertex.
20 October 2004 Laurent Rineau
- fixed details in Delaunay_mesh_size_criteria_2.h
and marked todo and warning
19 October 2004 Laurent Rineau
- Revert changes from 2004/10/17. Refine_edges_for_refine_faces no
longer exists. The conflicts zone of a point is calculated by using
propagate_conflicts(), from the CDT. For that, Refine_edges uses a
special Triangulation_mesher_level_traits_2.
- Special_zone is now useless.
- That's it: the bug is over!!
- Mesh_level no wants a function get_triangulation_traits() that
returns a reference to the Triangulation_mesher_level_traits. THAT
BREAKS COMPATIBILTY with previous codes.
- The special traits class
Refine_edges_triangulation_mesher_level_traits_2 has a function to
set the current edge. This function is used to pass the edge to it,
so that get_conflicts_zone() can work.
18 October 2004 Laurent Rineau
- Conforming_Delaunay_triangulation_maker_2 renamed to
Triangulation_conformer_2.
- Update of the documentation. Thanks to Michel Hoffman for his review of
the specifications
17 October 2004 Laurent Rineau
- Attempt to fix remaining bug: the list of faces modified by the insertion
of a point on a segment is not the conflicts zone of the
point. remove_constrained_edge() and insert_constraint() flip some faces. I
have added a class Refine_edges_for_refine_faces that handles a special
member special_zone (bad name) which is a set of
faces. do_before_conflict() and do_after_insertion() deal with functions
remove_constrained_edge() and insert_contraint() and fill the set
special_zone. The visitor Refine_edges_visitor uses this set to remove
those faces from bad_faces in after_insertion() (before the two
sub-segments are added back by Refine_edges::do_after_insertion().
- However, this attempt fails! Seems that adding back the two
subconstraints intersects some other constrained edges already in the
triangulation.
12 October 2004 Laurent Rineau
- Added parents and names to every layers, so that Qt releases the memory.
- Added debugging functions in Delaunay_mesher_2, and new debugging
layers and buttons tools into demo/Mesh_2/mesh_demo. These functions are
not documented.
- CGAL::Mesh_2::Refine_edges now has Tr::Edge has Element type. It
decreases number of calls to Tr::is_edge().
- Removed debugging outputs to std::cerr.
- The step by step demo now display the edge of the face that will be refined.
- Modified Mesh_2::Clusters::get_cluster and Mesh_2::Clusters::update_clusters
to fix a bug in debugging functions (can we call that a "meta-bug"?).
- Added a function check_bad_faces() in Refine_faces. For the moment, it
checks that no bad face has three collinear vertices. It is used in a
CGAL_expensive_assertion.
6 October 2004 Laurent Rineau
- Patch for gcc-3.4
29 September 2004 Laurent Rineau
- New code
- New layers in mesh_demo
30 August 2004 Laurent Rineau
- New specifications.
17 August 2004 Laurent Rineau
- Use namespace CGAL instead of CGAL_NAMESPACE_BEGIN/END.
- Insertion in an edge now reinstert the two sub-constraints, instead of
using insert with Locate_type==EDGE.
- Boost iterators have changed.
09 August 2004 Andreas Fabri
Removed semicolons after closing parenthesis of functions, as they make problems for SunProCC
22 July 2004 Laurent Rineau
- patch a bug in Delaunay_mesh_2<Tr>: virtual_insert_in_the_edge was
forcing the insertion of a point on a EDGE.
4 July 2004 Andreas Fabri
- In Delaunay_mesh_2: Removed const& on an object in a stack that gets popped before it gets used
1 July 2004 Laurent Rineau
- Added Extras in Delaunay_mesh_2<Tr, Extras> too.
28 June 2004 Laurent Rineau
- Move mark_facets functions from Delaunay_mesh_2 to
Conforming_Delaunay_triangulation_2.
- Added a sort of hooks, through a template parameter "Extras", in
Conforming_Delaunay_triangulation_2<Tr, Extras>. There is a default
template argument that does nothing.
These hooks help doing actions when points are inserted. Used in the
package Mesh_3.
17 May 2004 Menelaos Karavelas
- replaced Point by Point_2 in the demo in order to resolve clash with
the Mac version of Qt
6 May 2000 Laurent Rineau
- workaround for CC-5.xx, in include/CGAL/Delaunay_mesh_2.h
3 April 2004 Sylvain Pion
- Regenerate demo/example makefiles to remove debug options,
which makes PGCC pass.
Version 1.0.2 (10 February 2004) [rursu]
- Updated headers in examples
version 1.0.1 (2003/12/07) [Laurent]
--------------------------
Submit the documentation too.
version 1.0.0 (2003/12/07) [Laurent]
--------------------------
o Bix Conforming_Delaunay_triangulation_2 where a typename was missing.
o bench/bench.C now compile again.
o I think this version can be named 1.0.0 now.
version 0.9.5 (2003/11/28) [Laurent]
--------------------------
o Fix the deprecated use of RIGHTTURN in conforming.
version 0.9.4 (2003/11/5) [Laurent]
--------------------------
o submitted to the testsuite
version 0.9.4 (2003/10/9) [af]
--------------------------
o Bug fix in Is_locally_conforming_Gabriel and in Is_locally_conforming_Delaunay
o Removed redundant tests
version 0.9.4
--------------------------
o All names have changed.
o new concepts ConformingDelaunayTriangulationTraits_2 and
ConformingDelaunayTriangulationTraits_2
o New internals and interface for Delaunay_mesh_2 and
Conforming_Delaunay_triangulation_2
o updated documentation
o various changes in examples/ and demo/
version 0.9.3 (2003/05/10)
--------------------------
o internal release
o split of the code into Mesh_2 and Conform_2
o the demo mesh_demo can now displays clusters
o updated documentation (which is not really sync with the code)
o the interface of the demo has been improved
version 0.9.2 (2003/03/12)
--------------------------
o added a bench sub-directory
o fixed some gcc-3.2.1 compilation errors
o changes in the demo:
- added a panel next to the widget, that shows currently the number of points
- added a step actions'toolbar, improved with new buttons
- fix some bugs
o changes in the example:
- added some "Triangle-like" options
o changes in Mesh_2.h:
- fix compilation errors with gcc-3.2.1
- fix compilation errors when the number type is not double
- the bound on size is no longer a squared distance
version 0.9.1 (2002/08/26)
--------------------------
o some code cleaning
o some bug fixes in the demo
o changes from Andreas Fabri, so that it works with VC++, and BCC:
- Added many const&
- insert(Point, Point) -> insert_constraint to make it work
with the Triangulation_hierarchy
- Added some typename
- std::queue only works with std::list not with std::deque on VC++6
o added this file
o move Double_map.h in this package to remove dependency to Mesh_3
version 0.9 (2002/07/?)
-----------------------
first release