changes in Complex_2_in_triangulatio_3 : remove set_in_complex and remove_from_complex for vertices change set_in_complex and remove_from_complex for facets 8 March 2006 Mariette changes in Complex_2_in_triangulatio_3 : fixed operator Not_in_complex changed face_type into face_status changed is_in_complex added is_regular_or_boundary_for_vertices 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 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 and Weighted_point_with_surface_index. 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 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. With Point_with_surface_index and Weighted_point_with_surface_index 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 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()