29 March 2006 Laurent Rineau - New "#ifdef CGAL_USE_CORE/#endif" around the use of CORE, in test/Surface_mesher/implicit_surface_mesher_test.C - Patch to ImageIO to kill warnings of SunCC. ImageIO was a C library but is compiled by a C++ compiler. It needs adjustments. 28 March 2006 Andreas Fabri - Replaced #ifdef WIN32 with #ifdef _MSC_VER in ImageIO.c 23 March 2006 Laurent Rineau - new version, more didactic, of examples/Surface_mesher/3d_image_surface_mesher.C - killed warnings in ImageIO - updated test parameters - the handle of bad edges, in include/CGAL/Surface_mesher/Surface_mesher_regular_edges.h, is now lazy, like in Surface_mesher_manifold.h - include/CGAL/Surface_mesher/Surface_mesher_regular_edges_with_boundary.h now longer exists: Surface_mesher_regular_edges is templated by a boolean (see the code) - fix efficiency errors in Surface_mesher_manifold.h - the teaser picture of the doc is now centered in HTML too - added a demo, even if it is not ready If somebody or the release manager do not agree with that, I will "dont_submit" it. So "Speak Now or Forever Hold Your Peace!" :-) 22 March 2006 Laurent Rineau - fix doc_tex/Surface_mesher_ref/ImplicitSurfaceTraits_3.tex after the changes of yesterday - forgot to tell that FT must be constructible from a double - fix the std::cerr everywhere: better use of the macro CGAL_SURFACE_MESHER_VERBOSE - fix the (bool debug, bool verbose) parameters of Surface_mesher::refine_mesh. It is now template parameters of the class Surface_mesher. I have verified that the optimizer of GNU/CC is able to strip the debug code when NO_DEBUG is use. - change sligthly the code of examples, and modify sligthly the user manual accordingly - change the way the parameter error_bound of the constructor of Implicit_Surface_3 is multiplied by the radius of the bounding sphere. - added explanation of parameter error_bound of the constructor of Implicit_Surface_3, in its ref page - change some bug messages in include/CGAL/Surface_mesher/Oracles/Implicit_oracle.h - add a case in the testsuite 21 March 2006 Laurent Rineau - fix examples/Surface_mesher/3d_image_surface_mesher.C (stupid bug: the bounding sphere and the criteria were copy-pasted from implicit_surface_mesher.C and were unappropriate. - changes template parameters of all classes include/CGAL/Surface_mesher/Surface_mesher*.h and update of include/CGAL/make_surface_mesh.h - Fix the compilation error on Windows compilers. BUG explanation: there was a typedef name SMREB in Surface_mesher_regular_edges.h and SMREB was also the name of a template parameter of Surface_mesher_regular_edges.h. - Change the compilation process of ImageIO, to be cross-platform 20 March 2006 Laurent Rineau - fix include/CGAL/Gray_level_image_3.h - added a CGAL::Timer to test/Surface_mesher/implicit_surface_mesher_test.C and fixed a warning ("FT(1)" instead of "1") - new version of include/CGAL/Surface_mesher/Oracles/Implicit_oracle.h that now uses include/CGAL/Surface_mesher/Oracles/Sphere_oracle_3.h 17 March 2006 Laurent Rineau - modified examples/Surface_mesher/makefile, to have ImageIO compiled on Sun - added examples/Surface_mesher/cgal_test, so that the testsuite does not try to compile and run examples/Surface_mesher/implicit_functions - try to workaround ICL and VC++ 8 bug (or not bug, I do not know), in include/CGAL/Surface_mesher/Surface_mesher_manifold.h - added a new class include/CGAL/Surface_mesher/Oracles/Sphere_oracle_3.h and a specialization Surface_mesh_traits_generator_3 > - updated test test/Surface_mesher/implicit_surface_mesher_test.C to test the meshing of Kernel::Sphere_3(ORIGIN, 1.) 15 March 2006 Laurent Rineau - Added macro CGAL_SURFACE_MESHER_DEBUG_CONSTRUCTORS to strace constructors calls of classes in include/CGAL/Surface_mesher/Surface_mesher*.h - Added a test file test/Surface_mesher/internal-test-surface-mesher.C for Andreas 14 March 2006 Joachim Reichel - Added/fixed CGAL_MAKEFILE= line in makefiles 10 March 2006 Mariette - doc fixes 10 March 2006 Laurent Rineau - first correct version of SurfaceMeshTraingulation_3.tex - removed unused Tr::* typedefs everywhere - renamed Triangulation::XXXX_iterator to Triangulation::Finite_XXXs_iterator in C2t3. 9 March 2006 Laurent Rineau - modification of Complex_2_in_triangulation_vertex_base_3 and Complex_2_in_triangulation_3: the result of union_find_of_incident_facets() is cached in the vertex. - remove unwanted verbose output. It is now activable by defining the preprocessor macro CGAL_SURFACE_MESHER_VERBOSE. 8 March 2006 Laurent Rineau - change some hard-coded "double" to "FT" - change face_type() to face_status() in users of C2t3 - first testsuite - renamed nested typedef Triangulation_3 to Triangulation, in C2t3 - added specializations for Manifold_tag and Manifold_with_boundaries_tag, in include/CGAL/make_surface_mesh.h - heavy changes of template parameters and constructors of: - Surface_mesher_regular_edges_without_boundary_base - Surface_mesher_regular_edges_base - Surface_mesher_manifold_base - new classes Surface_mesher_manifold, urface_mesher_regular_edges and Surface_mesher_regular_edges_without_boundary, that are no longer copy-pasted from Surface_mesher. - rename all triangulation objects to "tr", and all geom_traits objects to "gt". No longer "tri3", or "ker". - updated the target "depends" of GNUmakefile files. - testsuite compiles, but runtime problem in manifold version. Non manifold runs correctly. - fix layout of this changes.txt file 8 March 2006 Mariette Yvinec - changed the booleans in Complex_2_in_triangulation_vertex_base_3 - changes in Complex_2_in_triangulation_3 : - remove set_in_complex and remove_from_complex for vertices - change set_in_complex and remove_from_complex for facets - add iterators on complex faces - 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 Yvinec - changed the reference page manual according to Efi comments + various discussions. - still missing : the concept SurfaceMeshTriangulation_3 17 janvier 2006 Mariette Yvinec - 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 Yvinec - 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 Yvinec - 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()