17 December 2005: Menelaos Karavelas - attempt to eliminate warning messages in Linux-2.4_g++-3.3.3 platform - fixed chapter name in doc 15 December 2005: Menelaos Karavelas - doc: fixed errors in the presentation of some predicate functors - in Sqrt_extension_1: unary operator+() now return a const reference to the object instead of a copy 30 November 2005: Menelaos Karavelas - documentation: rephrased the description of the Oriented_side_2 predicate functor of the segment Delaunay graph traits. - edge_list.h: removed macro checking that was added for the transition from the Segment_Voronoi_diagram_2 to the Segment_Delaunay_graph_2 package. - moved the edge hash function (to be used for a unique hash map of edges) in a separate file and in the CGAL:: namespace 27 November 2005: Menelaos Karavelas - renamed the construct_sdg_vertex_2 related types and methods to construct_svd_vertex_2 in order to conform with the doc. - renamed some file macros: they contained SEGMENT_VORONOI_DIAGRAM_2 instead of SEGMENT_DELAUNAY_GRAPH_2 - in Sqrt_extension_{1,2}: replaced some preconditions/assertions + CGAL_CHECK_PRECONDITIONS macro by CGAL_exactness_{precondition,assertion} - patched edge_list.h so that it does not conflicts with its old version in the now obsolete package Segment_Voronoi_diagram_2. The patch should be removed once the old package is removed from the release. 26 November 2005: Menelaos Karavelas - user manual has been corrected in order to reflect the change in the name of the package. - fixed names in examples in order to reflect the change in the name of the package. 25 November 2005: Menelaos Karavelas - changed doc to reflect the change of the name of the package; it still remains to fix the user manual. 21 November 2005: Menelaos Karavelas - this is the first version of the Segment_Delaunay_graph_2 package which is the successor of the Segment_Voronoi_diagram_2 package; segment Voronoi diagrams in CGAL are now called segment Delaunay graphs - fixed problem with toolbars under linux. The toolbars stopped being visible once the menus where added. This has now been fixed. - added view menu; the user can now choose the background color among three: white, black, yellow. 20 August 2005: Menelaos Karavelas - added proper #ifdef's for the various number types (concerning whether or not they are defined in CGAL) in the test suite of traits - attempt to fix problem with ambiguous operator<< 6 August 2005: Menelaos Karavelas - fixed unreachable statement warning produced by pgCC 5 August 2005: Menelaos Karavelas - fixed bug in test suite occuring when number type is Gmpq and reading from a file. 2 August 2005: Menelaos Karavelas - added more testing for removal method - fixed bug in removal method of hierarchy: the necessary access to the storage site (and in particular the point handles) was prohibited in higher levels because the vertex was deleted at the lower level first - added circulator in edge list: may be buggy and have to check this - added a few more print-outs in is_valid of the SVD2 class - fixed bug when accessing the storage site during the removal (inside the remove method) 31 July 2005: Menelaos Karavelas - added explicit cast for enums, in order to support Uncertain 30 July 2005: Menelaos Karavelas - fixed bug in computation of predicates when filtered exact was used: some values in the arrays used where unitialized - fixed "control reaches end of non-void function" warnings in g++ 4.0.0 of MacOS X Tiger - added test suite for removal method - fixed bug in site registration/unregistration. In the case of non-intersecting segments we had the following problem: if a segment was inserted intersecting another segment, then the input site container kept containing a site which did not really exist - fixed bug in computation of the vertex map created during removal - added testing for a special case of the incircle test 25 July 2005: Menelaos Karavelas - fixed numerical bug in computation of vertex map (removal procedure) 22 July 2005: Menelaos Karavelas - in Simple_container_wrapper: changed return type of find method from iterator to const_iterator 20 July 2005: Menelaos Karavelas - added copyright headers in demo files 18 July 2005: Menelaos Karavelas - prefixed macros with CGAL_ 17 July 2005: Menelaos Karavelas - fixed bug in copy method: the bug was introduced by the change in the representation of the input sites container from an std::list to an std::set. 12 July 2005: Menelaos Karavelas - fixed wrong message for one of the buttons in the file toolbar (demo) - the segment Voronoi diagram in the demo now inserts segments in the upper levels as well - added find and remove methods in the simple container wrapper - in demo: * all messages to std::cout are now sent to std::cerr * added support for site removal * removed unused code * input data are saved in files with .cin extension; the full description of the segment Voronoi diagram is saved in files with .svd extension and .hsvd extension (the latter is used for the hierarchy). * added data/ directory with sample input data - Code: * moved some methods from .h to .C * the input sites container is now an std::set instead of an std::list; this was done because we want to efficiently insert/remove/search elements * added remove method: works only with sites that are input sites and not subsegments or points of intersection of inout sites; removal works in the hierarchy as well; the computation of the vertex map is still unstable and prone to numerical errors 26 June 2005: Menelaos Karavelas - doc: added Triangulation_data_structure, Vertex and Face types and tds() method; also added that the Segment_Voronoi_diagram_2 class is a model of the DelaunayGraph_2 concept. - SVD class: Vertex and Face are typedefed from those of the TDS not the Triangulation_2 class 15 June 2005: - added layout widget in demos including a label; messages about the actions taken are now printed on the label. - added file menu in demos; used for file I/O. - added about boxes in demos. - fixed bug in file_{input,output}: the input sites container was not read/stored at all; now the input sites container is correctly read/written from/to the files. 13 June 2005: Menelaos Karavelas - changed messages/captions of the file toolbar of the demo programs for the segment and polygon Voronoi diagrams 11 June 2005: Menelaos Karavelas - VC 7.1 and Intel 8.1 in the their implementation of std::set, the types for iterator and const_iterator are different; this is not the case, however, for g++ 3.4 or g++ 4.0: in their implementation of std::set, the types for iterator and const_iterator are the same. This caused a bug in the file_output method, namely, Point_handle_less_than was not defined for const_iterators (i.e., const_Point_handle) for VC 7.1 and Intel 8.1, but only for iterators (i.e., Point_handle). The fix is to define Point_handle_less_than only for const_iterators, since, according to the C++ standard, iterators are convertible to const_iterators. 5 June 2005: Menelaos Karavelas - Segment_Voronoi_diagram_2 and Segment_Voronoi_diagram_hierarchy_2: added methods file_input and file_output that read and write from and to a file. The data written consists of the sites (expressed through input sites) and the triangulation data structure; in the case of the hierarchy, the entire hierarchy is encoded. - Segment_Voronoi_diagram_2 and Segment_Voronoi_diagram_hierarchy_2: added operator>> and operator<< that read and write from and to a stream; the methods file_input and file_output are used to implement the two operators. - modified the test suite to test the above mentioned I/O functionality. - fixed unused variable warnings when NDEBUG is defined - updated documentation to reflect the newly added I/O functionality. 1 June 2005: Menelaos Karavelas - examples/svd-voronoi-edges.C: calls to mirror_vertex and mirror_index made through the faces are now made through the TDS 29 May 2005: Menelaos Karavelas - calls to mirror_vertex and mirror_index made through the faces are now made through the TDS 27 May 2005: Menelaos Karavelas - fixed bug in Filtered_construction class: the Exact_construction was called with its arguments in the wrong order 21 May 2005: Menelaos Karavelas - added tds() method that returns the triangulation data structure 19 May 2005: Menelaos Karavelas - added the types Vertex, Face and Triangulation_data_structure in the Segment_Voronoi_diagram_2 class; these types should also appear in the doc of the class 17 May 2005: Menelaos Karavelas - changed maintainer's email 13 May 2005: Menelaos Karavelas - added typedefs for result_type, argument_type and Arity in Svd_degenerate_edge_2 class; the operator() in this class was also made const 7 March 2005: Menelaos Karavelas - replaced calls to the vertex handle methods degree() and incident_{edges,faces}() by calls to the corresponding TDS methods that take the vertex as argument. This was done in compliance with the latest changes in the design of the Triangulation_2 software. 18 November 2004 Sylvain Pion - g++ 3.4.[23] workaround. 4 October 2004: Menelaos Karavelas - fixed warnings for VC++ IDE mentioned by Andreas (a class was initially defined as a struct but a specilization of which as a class; now everything is a class) 22 September 2004: Menelaos Karavelas - added specializations of the non-filtered traits classes for the Filtered_kernel 20 September 2004: Menelaos Karavelas - added missing sites2.cin data file in examples/data directory - added missing svd-join_split.* files needed for documentation of the segment Voronoi diagram data structure concept 9 September 2004: Menelaos Karavelas - added third example (in examples/subdir and in doc) that shows how to recover the data for the Voronoi edges. 7 September 2004: Menelaos Karavelas - Documentation & code: replaced Agds_2 by Tds_2 3 September 2004: Menelaos Karavelas - test_svd_2_et.C: in definition of sqrt for Gmpq, I qualified the calls to to_double and sqrt by CGAL:: - polygon Voronoi diagram demo: fixed bugs in class Segment_Voronoi_diagram_vertex_base_with_info_2 - pvd_typedefs.h: replaced SVD_data_structure_2 by AG_data_structure_2 - Square_root_{1,2}: fixes for g++-3.4 (essentially kept the code under CGAL_USE_ADL_FOR_NT and removed the alternative code) - documentation: added chapter author 30 August 2004: Menelaos Karavelas - SVD_kernel_wrapper_2 : removed unused variable (it was creating warnings on some compilers) - test_types.h : commented usused variable 28 August 2004: Menelaos Karavelas - moved split_vertex from Segment_Voronoi_diagram_data_structure_2 to TDS2 - replaced Segment_Voronoi_diagram_data_structure_2 (which is now obsolete) by Apollonius_graph_data_structure_2 (until a better name is found...) - documentation: replaced references to the segment Voronoi diagram concept and model by the ones in the Apollonius graph package 27 August 2004: Menelaos Karavelas - fixed bug in hierarchy about calling the wrong version of insert_third 20 August 2004: Menelaos Karavelas - fixed bugs in copy constructor/assignment operator for the segment Voronoi diagram and segment Voronoi diagram hierarchy classes - using std::list instead of std::set for the input sites container - using replaced Triple by boost tuple in Site_rep_2 18 August 2004: Menelaos Karavelas - updated TODO list - the input site container now contains handles instead of points: this reduces memory usage - the input site container and point container are now sets instead of lists. I may have to change this and use lists again. The reason for this change is that sets automatically check whether the inserted item has already been inserted; with lists one has to do that explicitly and it is very inefficient. - made the code a bit more memory efficient: storage sites are created at the top-most level and are passed throughout the various methods 17 august 2004: Menelaos Karavelas - changed the API for the storage site classes; changed the classes that were using them accordingly - updated the specs to reflect the API changes of the last few days. 14 August 2004: Menelaos Karavelas - fixed bugs in the demo files that were introduced by the changes of August 13 13 August 2004: Menelaos Karavelas *************************************************************** *** Day of the opening ceremony of the Athens Olympic Games *** *************************************************************** - fixed errors in the doc: Segment_Voronoi_diagram_2 class: some typedefs where not really typedefs and some other ones where not written correctly - Segment_Voronoi_diagram_2 class: fixed some typedefs (changes related to the changes above) - replaced Are_same_points_2 predicate by Equal_2 according to the spec - added the type Arrangement_type; this type was in the spec but was not defined - added some methods in the simple site classes so that they conform with the spec; removed some methods not in the spec and modified the code wherever they were used. - vertex base class: made some types that were not in the spec privat 12 August 2004: Menelaos Karavelas - made some more code conforming to the spec - fixed bugs (due to yesterday's changes) that I forgot to fix 11 August 2004: Menelaos Karavelas - made code more conforming to the spec 10 August 2004: Menelaos Karavelas - added examples in user manual - fixed minor problems in user manual - added one more example in the examples directory - made stylistic changes in the svd-filtered-traits.C example 9 August 2004: Menelaos Karavelas - replaced CGAL::Quadruple by boost::tuples::tuple - removed opposite_site method (unused) from the site classes - made changes in ref manual according to Sylvain's 1st review - fixed reference in user manual + other minor changes - added all text except examples in the user manual 5 August 2004: Menelaos Karavelas - added initial revision for the user manual 4 August 2004: Menelaos Karavelas - fixed references in reference manual - fixed problem with .eps extensions in the .tex files - added images in PDF format for the PDF version of the manual 8 July 2004: Menelaos Karavelas - renamed the is_exact methods to is_input (one of the suggestions in Sylvain's review) 28 June 2004: Menelaos Karavelas - made the primal(...) methods public (they were protected). 27 June 2004: Menelaos Karavelas - added hack for G++ 3.4 on PowerPC about initialized static variables in methods - fixed bugs in is_degenerate_edge and incircle predicates. The bugs in the incircle predicate were only affecting the is_degenerate_edge predicate. 24 June 2004: Menelaos Karavelas - fixed bug in copy method of segment Voronoi diagram; added some debugging code with CGAL_NO_ASSERTIONS block - fixed bug for the SGI compiler: it does not really like "using Base::member" - replaced occurences of NDEBUG by CGAL_NO_ASSERTIONS - added copy constructors and assignment operators to the storage sites 22 June 2004: Menelaos Karavelas - fixed errors of g++ 3.4.0 related to the traits' template parameter checking - more g++ 3.4.0 fixes: qualified derived methods with this-> - Square_root_{1,2} classes: when CGAL_USE_ADL_FOR_NT is defined the number type related methods are implemented using the number type traits class - implementated the is_degenerate_edge predicate 9 June 2004: Menelaos Karavelas - added some more assertion checks in test_types.h (when testing the assignment operator) 5 June 2004: Menelaos Karavelas - in io_aux.h replaced char* by const std::string& to avoid warnings by SunPro CC - fixed typo in Segment_Voronoi_diagram_2.C; VC7 was giving a warning about it 4 June 2004: Menelaos Karavelas - fixed bug in find_faces_to_split in Segment_Voronoi_diagram_2.C: the method was not working when the faces to be split were infinite - added one more operator() in Svd_oriented_side_C2 (needed for the fix above) and propagated the change so that all traits and all filtering mechanisms can use it. 31 May 2004: Menelaos Karavelas - fix bug in insert_segment in Segment_Voronoi_diagram_2.C 30 May 2004: Menelaos Karavelas - added test suite for one-level and hierarchy algorithms Documentation: - added spec for the draw_dual_edge method that takes an edge circulator - added specs for the draw_dual_edge method that takes an edge iterator (either All_edges_iterator or Finite_edges_iterator) - removed preconditions that were not preconditions in draw_dual_edge Code: - Segment_Voronoi_diagram_2 class: added draw_dual_edge methods that take edge iterators and circulators - Segment_Voronoi_diagram_2 class: fixed bug in swap method - Segment_Voronoi_diagram_2 class: fixed bug in insertion of a segment - Segment_Voronoi_diagram_2 class: renamed the ds() method to data_structure() so that it conforms with the doc - Segment_Voronoi_diagram_2 class: added code for copy constructor and assignment operator - Simple_container_wrapper class: added type for const_iterator - Simple_container_wrapper class: added begin() and end() methods - fixed bug in traits related to the usage Filtered_exact as the number type - added constructor in hierarchy that takes two input interators - fixed bugs in copy constructor, assignment operator and swap method of the segment Voronoi hierarchy class 27 May 2004: Menelaos Karavelas - added the method Vertex_handle insert(const Site_2& t, Vertex_handle vnear); in the Segment_Voronoi_diagram_2 class - added two methods in storage site: source_site() and target_site() - added support for overlapping segments (both one-level and hierarchy) - fixed bug in finite edge interior (wrong answer when a Voronoi edge was degenerate and a point was touching the single Voronoi circle) - added macros in Svd_Voronoi_vertex_*_C2.h to indicate a change on how the incircle test is computed in a limiting case 25 May 2004: Menelaos Karavelas - added support for point that lies on a segment and segments that go through a point in the hierarchy code 24 May 2004: Menelaos Karavelas - finished implementation of the Arrangement_type_2 predicate with all the degenerate cases and using the enumeration type - added support for point that lie on a segment and segments that go through a point (only one-level algorithm) - bug fix: constructor of Site_2 was called but now there are no such constructors - bug fix: Are_parallel_2 was not working in Segment_Voronoi_diagram_traits_base_2.h 21 May 2004: Menelaos Karavelas Documentation: - removed the template paramater PC from most of the doc - removed the ITag template parameter in the doc; as a result new classes where added - removed the Simple_container related stuff - made other minor changes suggested by Sylvain Code: - added concept checking for the Method_tag for the traits classes - removed the second template parameter from the two storage site classes; the paramater was useless since the Point_handle type is now hard-coded 13 May 2004: Menelaos Karavelas - removed the internally used macro USE_SC - re-added code that was removed in the presence of g++-2.95.3; this was possible after the May 6 changes that removed template-template code - moved all methods to be inlined from Segment_Voronoi_diagram_2.C and Segment_Voronoi_diagram_hierarchy_2.C to the corresponding .h files; this was done in order to please the SunPro CC-5.30 compiler - moved initialization of UNDEFINED_LEVEL inside the class; again to please the SunPro CC-5.30 compiler 10 May 2004: Menelaos Karavelas - removed unreachable break statements to avoid pgCC warning - removed excessive >'s in filtered traits (SunPro specific part) 6 May 2004: Menelaos Karavelas - fixed bugs for SunPro CC compiler: 1. removed template-template code 2. fixed problem with default template parameters for filtered traits 3 May 2004: Menelaos Karavelas - added support for filtering through Filtered_exact 2 May 2004: Menelaos Karavelas - forgot to submit correct version of predicates/Segment_Voronoi_diagram_predicates_ftC2.h in which the construct_site_2 static method is used for constructing sites instead of a constructor 26 April 2004: Menelaos Karavelas - removed duplicate definition of one of the operator()'s in the Construct_svd_site_2 functor. 22 April 2004: Menelaos Karavelas - replaced the site constructors by static methods that create the sites - added functors for some predicates that did not have - removed the macro USE_SET_METHODS - removed unnecessary constructors from the various site classes - the cartesian converter now makes use of the intersections tag - fixed filtered traits to work with gcc 2.95.3 20 April 2004: Menelaos Karavelas - rewrote code for filtered traits to improve efficiency; the traits functor do not go through the number type level now - removed dependencies on the set_* methods of the site classes; this should make the site classes interface much simpler 18 April 2004: Menelaos Karavelas - added code for input and output sites iterator 15 April 2004: Menelaos Karavelas - the point container is not hardcoded - the traits classes is now split in two different classes; there is no intersection tag as a template parameter