cgal/Surface_mesher/changes.txt

232 lines
9.6 KiB
Plaintext

2 March 2006 Laurent Rineau
(WARNING: partially compiles, runtime errors, temporary commit)
- Added an undocumented class Surface_mesh_triangulation_generator_3 which
is a meta functor Kernel->Triangulation, that computes the right
triangulation for make_surface_mesh()
- Added documented files:
- include/CGAL/Implicit_surface_3.h
- include/CGAL/Surface_mesh_default_criteria_3.h
- include/CGAL/Surface_mesh_complex_2_in_triangulation_3.h
- In doc, rename:
- SurfaceMeshCriteria to SurfaceMeshCriteria_3
- Surface_mesh_default_criteria to Surface_mesh_default_criteria_3
- Added doc_tex GNUmakefile, for developers uses.
- Wrote the first test file!
- Find Triangulation_mesher_level_traits_3.h in include/CGAL/Mesh_2/, now.
- Major changes in template arguments, data members, and constructors of:
- class Surface_mesher,
- class Implicit_oracle,
- Minor changes everywhere (sorry for the imprecision, too long).
27 february 2006 Laurent Rineau
(WARNING: no longer compiles, temporary commit)
- Added number_of_facets() to C2T3 (code and documentation)
- Remove Complex_2_in_triangulation_3_surface_meshe.h (not finished)
- Created classes Surface_mesh_cell_base_3 and Surface_mesher_vertex_base_3.
- Beginning to changes code to bo sync with the documentation.
- Remove old headers Nodes.h and Graph.h
20 janvier 2006 Mariette
- changed the reference page manual according to Efi comments + various discussions.
still missing : the concept SurfaceMeshTriangulation_3
17 janvier 2006 Mariette
- changed in the doc PureComplex_2InTriangulation_3 to SurfaceMeshComplex_2InTriangulation_3
and Pure_complex_2_in_triangulation_3.tex to Surface_mesh_complex_2_in_triangulation_3.tex
9 December 2005 Andreas Fabri
- Replaced arrays of bool with a char and bit operations
- Moved CGAL/Complex_2_in_triangulation_surface_mesh_cell_base_3.h
to CGAL/Surface_mesher/Surface_mesh_cell_base_3.h
1 December 2005 Andreas Fabri
- Putting const& in the Implicit_oracle
- Made Implicit_oracle::intersect_segment_surface_rec(Point p1, Point p2) non-recursive
- Replaced handwritten code with usage of TDS_3::mirror_facet
30 November 2005 Andreas Fabri
- Introduced lazy initialization of treatment of singular vertices
- Introduced a method for determining if a vertex is in the complex,
as face_type computation would trigger the lazy initialization
- Removed the graph in the vertices for computing whether the vertex is singular
- Removed the facet status field and its set/get method
- Renamed complex_subface_type by face_type
- Replaced functions that return a list with functions that write in output iterators
- Replaced the "visits" that counted with a visited that only stores a bool
as there was only an inc and reset method, and the comparison with 0
- Lots of small cleanup as proposed in TODO
4 november 2005 Laurent Rineau
- new output/input operators in:
include/CGAL/Complex_2_in_triangulation_cell_base_3.h
include/CGAL/Complex_2_in_triangulation_surface_mesh_cell_base_3.h
include/CGAL/Point_with_surface_index.h
include/CGAL/Weighted_point_with_surface_index.h
This permits to save/load meshes with i/o operators of Triangulation_3.
3 novembre 2005 Mariette
- surface mesher is now on cgal cvs serveur
- added in doc_tex the specifications of Complex_2_in Triangulation_3
although they do not correspond to the code developped by David
14 september 2005 Mariette
- put package Surface_mesher on cgal local cvs serveur
2 september 2005 Laurent Rineau
- in Surface_mesher:
- new file include/CGAL/Point_with_surface_index_geom_traits.h to have
one class per file.
- new files:
include/CGAL/Weighted_point_with_surface_index.h
include/CGAL/Point_with_surface_index_geom_traits.h
so that CGAL::Weighted_point_with_surface_index<Weighted_point> can
have several additional constructors with Bare_point parameters.
- two important hacks in files:
include/CGAL/Surface_mesher/Oracles/Polyhedral.h
include/CGAL/Surface_mesher/Oracles/Implicit_oracle.h
1/ Use of a new typedef Kernel_point, obtained by Kernel_traits, so
these two classes work with Point_with_surface_index<Point> and
Weighted_point_with_surface_index<Weighted_point>. Some assign
statement has to be used with a Kernel_point, so that they do not
fail systematicaly (assign sucks!).
2/ Use of CGAL::Random_points_in_sphere_3<Point, Point_creator> in
include/CGAL/Surface_mesher/Oracles/Implicit_oracle.h in function
random_points(), so that this function does not use the contructor
Point(double x, double y, double z). This implied that the tenmplate
Implicit_oracle had a new template parameter, Point_creator, which I
gave default
Creator_uniform_3<typename GT::RT, typename GT::Point_3>.
With Point_with_surface_index<Point> and
Weighted_point_with_surface_index<Weighted_point> this creator should
be defined. See ../Mesh_3/test/Mesh_3/combined_spheres.C and
../Surface_mesher/examples/Surface_mesher/surfaces_union.C
- same problem, file
include/CGAL/Surface_mesher/Oracles/Point_surface_indices_visitor.h
has been changed: Point_surface_indices_visitor<Tr> now has a
templated new_point() function, so that is can take Kernel_point or
Point as argument.
- minor changes:
- include/CGAL/IO/Complex_2_in_triangulation_3_file_writer.h now has
correct copyright and #ifdef sentinel
- include/CGAL/Surface_mesher/Oracles/Multi_implicit_oracle.h now
has correct copyright
- rename DT_3 into Tr, and GT_3 into Geom_traits in file
include/CGAL/Surface_mesher/Oracles/Polyhedral.h
- updated examples/Surface_mesher/surfaces_union.C so that it works.
TODO: - fix include/CGAL/Surface_mesher/Oracles/Multi_implicit_oracle.h as
regards Kernel_point stuff
- merge it with include/CGAL/Surface_mesher/Oracles/Implicit_oracle.h
- in Mesh_3:
- include/CGAL/IO/File_medit.h :
- fix namespace !!
- some functions now takes a C2T3 as argument, now that C2T3 has a
triangulation() getter.
- new function input_pslg_from_medit() !! It reads indices.
- output_pslg_to_medit() now uses surface_index() too
- new implementation of CGAL::Point_traits.h
18 august 2005 Laurent Rineau
- Complex_2_in_triangulation_3 now has an accessor:
Triangulation_3& triangulation()
15 august 2005 Laurent Rineau
- in Surface_mesher: new Combining_oracle, and Oracle_visitor,
- in Mesh_3: test/Mesh_3/combined_spheres tests that new oracle.
28 july 2005 LR MY
- fixed the add_node() for memory leaks in Graph.h
- fixed the face_type() for edges in Complex_2_in_triangulation_3.h
27 July 2005 LR MY
- fixed return type of apply in Multi_implicit_oracle.h
- remove the const of const int number_of_functions
27 July 2005 LR MY
- changed some named
- multi_implicit_oracle added
19 July 2005 Laurent Rineau
Change in examples/Surface_mesher/surface_mesher.C :
- added a macro SURFACE_MESHER_POLYHEDRAL. If defined, the polyhedral
version is compiled.
- change of makefile (and .cvsignore), so that two versions
implicit_surface_mesher and polyhedral_surface_mesher are built by make
all.
19 July 2005 Laurent Rineau
Minor changes:
- use mirror_facet, from Triangulation_3. Introduced in CGAL_3_2_I_146.
30 June 2005 Laurent Rineau
- attempt to merged trunk, sliver_branch and my local modifications...
- may be correct, or not.
12 may 2005 David Rey
- create several surface meshers:
- with no verification about manifoldness
- constraint regulare edges
- constraint regular edges and no boundary
- constraint manifoldness
- mv names into better ones:
- Chew_4_surfaces -> Surface_mesher
- Chew_4_surfaces_manifold -> Surface_mesher_regular_edges
- Chew_4_surfaces_manifold_without_boundary ->
Surface_mesher_regular_edges_without_boundary
- Chew_4_surfaces_manifold_simple_vertices -> Surface_mesher_manifold
24 March 2005 Laurent Rineau
- compatibility with new requirements of Mesher_level
- code is still broken, since 2005/02/27.
8 February 2005 Laurent Rineau
- new changes.txt file
- removed files that are in Mesh_2 and Mesh_3:
- Mesher_level.h (Mesh_2)
- Triangulation_mesher_level_traits_3 (Mesh_3)
- new template parameters for Mesher_level
- modified Complex_2_in_triangulation_3:
- factorised set_in_complex and remove_from_complex
- new functions is_in_complex
- rename Complex_2_in_triangulation_cell_base_* classes:
- Complex_2_in_triangulation_cell_base_3
- Complex_2_in_triangulation_surface_mesh_cell_base_3
- 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
- added implementation of:
Chew_4_surface::test_point_conflict_from_superior_impl()