26 January 2006: Menelaos Karavelas - fixed typos in user manual 6 January 2006: Menelaos Karavelas - fixed bug in point location code for the segment Delaunay graph - added more tests in test suite of segment Delaunay graph for the point location procedure 17 December 2005: Menelaos Karavelas - fixed chapter names in doc 16 December 2005: Menelaos Karavelas - another attempt to please g++ 4.1.0 wrt the test suite - attempt to fix warnings in test suite produced by pgCC 15 December 2005: Menelaos Karavelas - added Delaunay_geom_traits type in adaptor class, and added the corresponding argument in the constructor section of the Voronoi diagram adaptor ref manual. - added comment in doc of Halfedge for explaining the convension for accessing the defining sites of the Voronoi halfedge. - change to please g++ 4.1.0 - change to please pgCC 14 December 2005: Menelaos Karavelas - fixed doc, testsuite and code according to Mariette's latest comments: * in Voronoi traits and Adaptation policy the Edge, Face_handle and Vertex_handle are now named Delaunay_*. Same for the appropriate iterators/circulators. * fixed phrases/typos in the doc * modified constructor that takes a Delaunay graph: a boolean was added to allow for swapping instead of copying the Delaunay graph. * changed the interface for accessing the defining sites of a Voronoi vertex. * testsuite now checks for the new types and interface. To be done: add a figure in Halfedge; rename VoronoiTraits_2 to AdaptationTraits_2. - renamed Voronoi_traits to Adaptation_traits in the code - fixed problem with Object assigning in demo - doc: renamed Voronoi traits to adaptation traits 30 November 2005: Menelaos Karavelas - fixed bug in point location of the Apollonius diagram, when the point lies on an Apollonius edge; added testing for that. - fixed broken file inclusion: problem due to change of name in segment Delaunay graph package. - removed testing for segment Voronoi diagram (package replaced by Segment_Delaunay_graph package). 27 November 2005: Menelaos Karavelas - new version of the user manual; some text changes in the AdaptationPolicy_2 manual page - added constructors in Voronoi_diagram_2 that take an adaptation policy - the is_valid() method of Voronoi_diagram_2 now passes the Delaunay graph to the adaptation policy for testing. - added testing for newly added constructors and adaptation policy's is_valid method that takes a Delaunay graph. - removed some unused code - added testsuite for segment Delaunay graph; it is going to replace the testsuite for the segment Voronoi diagram (change in package name). - added Voronoi traits and adaptation policies for the segment Delaunay graph; the Voronoi traits and adaptation policies for the segment Voronoi diagram should be removed once the package is removed from the release. - renamed Segment_Voronoi_diagram_2 to Segment_Delaunay_graph_2 in the ref manual. 23 November 2005: Menelaos Karavelas - fixed error in documentation: the LaTeX to HTML converter does not recognize the \ne macro. I believe it recognizes the \neq macro. 21 November 2005: Menelaos Karavelas - 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. 17 November 2005: Menelaos Karavelas - added site removers in code and adaptation policies but have neither updated the doc, nor added testing for this functionality - re-added testing of constructor that takes an iterator range (fixed the problem with this constructor in the triangulation hierarchy) - finalized reference manual according to new design 6 November 2005: Menelaos Karavelas - more changes in doc: added AdaptationPolicy_2 concept and modified other parts of doc according to new design. Still to do: models for adaptation policies and user manual. - fixed example according to new design - fixed demo according to new design - in code: renamed testers from degeneracy testers to rejectors - changed my email to the FORTH email - changed the description text to reflect the new design that the fact that the adaptor can now be mutable - code: added adaptation policies files - in demo makefile: added deletion of MacOSX application when "make clean" is called 4 November 2005: Menelaos Karavelas - changes to the doc towards the new design of the traits class and the introduction of the adaptation policy class - changed the result type of the Nearest_site_2 to boost::variant - renamed Construct_dual_point_2 functor in Voronoi traits to Construct_Voronoi_point_2 - added types for Delaunay graph features in Voronoi diagram adaptor class - insertions are now done through site inserters - changed test files according to changes in design 16 October 2005: Menelaos Karavelas - more changes towards the new design of the traits - in point location example: replaced the old Voronoi traits by the new caching Voronoi traits class - testing: added testing for new functors in Voronoi traits - in nearest site functors, renamed return_type to result_type - removed unused code - degeneracy testers: took away code for ref-counted testers; added swap, clear and is_valid methods (caching testers have state...); renamed Default_face_degeneracy_tester to Identity_face_degeneracy_tester - added identity traits classes for the Delaunay graphs we have in CGAL - adaptor: changes according to new design of traits; potential problem in the copy constructor and assignment operator for the caching traits 15 October 2005: Menelaos Karavelas - changes towards the new design of the traits 13 October 2005: Menelaos Karavelas Testing: - removed unnecessary function and added testing for non-default constructors for the Voronoi_diagram_2 class Code: - modified constructors of Voronoi_diagram_2 to take an instance of the geometric traits of the Delaunay graph. - added type for the geometric traits of the Delaunay graph. Documentation: - added afore-mentioned changes in constructors and type for the Voronoi_diagram_2 class. 12 October 2005: Menelaos Karavelas - modified doc according to new design 11 October 2005: Menelaos Karavelas - added more testing for the Delaunay graph concept. 10 October 2005: Menelaos Karavelas - fixed bug in demo 6 October 2005: Menelaos Karavelas - modified doc to match the code; changes in the concepts according to Mariette's suggestions/comments - modified testing accordingly - added insertion methods and constructors in the DelaunayGraph_2 concept; The Triangulation_hierarchy_2 class is no longer a model of the concept: it lacks a constructor that takes an iterator range. - added generator iterator in testsuites; generator iterator may need some more work. Open question: should sites be renamed to generators? 4 October 2005: Menelaos Karavelas - renamed namespace Voronoi_diagram_2_namespace to VoronoiDiagram_2 - added short names for publicly visible classes - added Internal namespace and moved all internal code to this namespace - modified Accessor class to provide the Find_valid_vertex functor - added accessor method in Voronoi_diagram_2 class that returns an Accessor object - changed the implementation of accessor; the accessor now stores a pointer to the class. 28 August 2005: Menelaos Karavelas - attempt to remove warning produced by ICL.EXE for the Concrete_Voronoi_diagram_2 class. 6 August 2005: Menelaos Karavelas - demo: fixed the display of the conflict region for all three kinds of Voronoi diagrams. - demo: eliminated use of a non-documented constructor - VDA: added dual() methods that go from Delaunay features to Voronoi diagram features 3 August 2005: Menelaos Karavelas - the demo now shows the conflict region for a site. The code is kind of ugly and should be modified; the color of the site should be different from the color of the conflict region. the conflict region is not yet done for the Apollonius diagram 30 July 2005: Menelaos Karavelas - removed duplicate typedef in Virtual_Voronoi_diagram_base_2 class; g++ version 4.x.x was complaining. 20 July 2005: Menelaos Karavelas - demo: added halfedge classes that derive from the halfedge class of the adaptor, that are used for drawing to Qt_widget - code: * removed the Voronoi_edge_2 and Voronoi_vertex_2 classes from the Voronoi traits; their functionality has been moved in the halfedge and vertex classes of the adaptor. * added first attempt for implementation of identity Voronoi traits - testing: removed testing for Voronoi_edge_2 and Voronoi_vertex_2 concepts; added testing for the corresponding functionality added in Halfedge and Vertex. 17 July 2005: Menelaos Karavelas - in various doc files renamed: * Voronoi_diagram_adaptor_2 to Voronoi_diagram_2 * Dual_graph to Delaunay_graph * Dual_face_handle to Delaunay_face_handle * Dual_edge to Delaunay_edge * Dual_vertex_handle to Delaunay_vertex_handle - the halfedges, vertices and faces of the Voronoi diagram as well as the corresponding handles are now models of LessThanComparable - the dual feature of halfedges, vertices and faces is now accessed through a method called simply dual(). - removed references to holes in both doc and code - removed example connected_components.C; point location example now uses the Delaunay triangulation. - added demo files 16 July 2005: Menelaos Karavelas - added swap and clear in requirements of DelaunayGraph_2 concept - renamed Voronoi_diagram_adaptor_2 to Voronoi_diagram_2 and Dual_graph to Delaunay_graph in doc_tex/Voronoi_diagram_2_ref/Voronoi_diagram_adaptor_2.tex - renamed Voronoi_diagram_adaptor_2 to Voronoi_diagram_2 in doc_tex/Voronoi_diagram_2_ref/intro.tex - added various constructors, including copy constructor and assignment operator in Voronoi_diagram_2 class - added file I/O methods and operators in Voronoi_diagram_2 class - added number_of_connected_components() method in Voronoi_diagram_2 class - added testing for the above-mentioned added features 15 July 2005: Menelaos Karavelas - renamed Dual_graph to Delaunay_graph all over the package files (code) - made Dual_* types in the adaptor private - renamed DelaunayGraphPointLocator_2 concept to DelaunayGraphNearestSite_2 - renamed DelaunayGraphLocateResult_2 concept to DelaunayGraphNearestSiteQueryResult_2 - renamed the Delaunay graph Point_locator to Nearest_site_2; the result type of this functor was renamed from Locate_result to Query_result - added some predicate methods in Halfedge that already existed in VoronoiEdge_2 - added some support for the incremental construction of the diagram - added output operators towards the Qt_widget for the various Voronoi edges - replaced Voronoi_diagram_adaptor_2.h by Voronoi_diagram_2.h 26 June 2005: Menelaos Karavelas - removed the type Size and the size_of_* methods from the Voronoi diagram adaptor; changed test suite and doc to reflect this change - renamed Locate_type to Locate_result. - renamed VoronoiDiagramLocateType_2 to VoronoiDiagramLocateResult_2. - renamed DelaunayGraphLocateType_2 to DelaunayGraphLocateResult_2. - made Locate_result convertible to vertex handle, face handle, halfedge handle or edge; made Locate_result equality comparable. - in VoronoiEdge_2: renamed north,south,west,east to up,down,left,right respectively. 25 June 2005: Menelaos Karavelas Manual: - added user manual - added bounded faces iterator, unbounded/bounded halfedges iterator in VDA interface - added more comments in examples - modified VoronoiDiagram{Halfedge,Vertex,Face}_2 concepts; the concepts are no longer refinements of the planar map or topological map corresponding concepts, but rather stand alone; as a result I had to add all needed types and methods. - modified the VoronoiEdge_2 concept: the Point_2 is no longer required - modified the VoronoiVertex_2 concept: the Point_2 is required to be the Point_2 type of the geometric traits of the dual graph Test: - added singleton data set for regular triangulation - collected various helper functions in single file - added very thourough testing for the various concepts and the adaptor itself; much of the code in print_report has been moved to the test_vda function. - added testing of singleton data sets - added copyright headers - the Delaunay_graph_concept class now uses the dummy iterator in include/CGAL/Voronoi_diagram_adaptor_2/Dummy_iterator.h - added missing access methods in Delaunay_graph_concept Examples: - stylistic changes so that they look nice in the manual Code: - fixed bug in face degeneracy tester of the segment Voronoi diagram traits: the tester was not handling correctly the case where we have a single generator (i.e., when the dimension of the Delaunay graph was 0). - added in Dummy_iterator: decrement operators, const_pointer/const_reference types and corresponding operators, operator<, access to default value - circulators are now convertible to handles - The base iterator in the halfedge iterator adaptor is no longer hardcoded; also the edge iterator adaptor takes a true/false tag that helps adapting how the value of the iterator is computed; all these are needed for fixes in the various edge iterators and for the introduction of the unbounded/bounded halfedge iterators - added the class Accessor which is a friend of the Voronoi_diagram_adaptor_2 class; this class is meant to be used as a way to access private types or data from the Voronoi_diagram_adaptor class. - added testers for unbounded/bounded halfedges and bounded faces - added code for bounded faces iterator, unbounded/bounded halfedges iterator - added support for Voronoi diagrams with a single generator - fixed minor bugs in the adaptor class 21 June 2005: Menelaos Karavelas - manual: added intro to the ref manual - manual: added models to various concepts - manual: changed names of some template paremeters 18 June 2005: Menelaos Karavelas - fixed the point_location example w.r.t. the changes made on June 16; the Locate_type classes is now used in the example as well. - changed the spec for the face denegeracy tester: we do not require any more operators that take iterators or circulators as arguments; since iterators and circulators are convertible to handles, these operators are not really required. In addition this should fix the bug with the VC 7.1 compiler. - changed the code to reflect the change in the spec discussed above. - introduced a Default_face_degeneracy_tester that always returns false; now all Voronoi traits except that of the SVD use this default tester instead of defining their own - modified the cached and ref counted Voronoi traits to define the point locator as well - added concepts for locate types in the doc; added usage of locate types in the various classes/concepts - modified copyright headers in doc - added the two examples in the doc 16 June 2005: Menelaos Karavelas - added some more data sets for testing with regular triangulation's point location - added Locate_type classes - the locate methods now return proper Locate_type classes instead of Object 12 June 2005: Menelaos Karavelas - added point location functionality for Delaunay triangulations, Apollonius graphs and segment Voronoi diagrams (in their traits). - added point location functionality (and testing) in the Voronoi diagram adaptor. - added one more example that does point location. - added support (and testing) for 1-dimensional Delaunay graphs. - added some more test data sets for testing point location and support for 1-dimensional Delaunay graphs 11 June 2005: Menelaos Karavelas - added copyright headers in some files that did not have one - changed institution in copyright headers - added Connected_components.h which contains a generic algorithm for computing the number of connected components of the Voronoi skeleton 4 June 2005: Menelaos Karavelas - in Dummy_iterator and Circulator_from_halfedge_adaptor: operator*() and operator->() that returned a const reference and const pointer have been removed (in order to avoid warnings by icc/icpc/icl and cl compilers); moreover, these operators are not really used. - in *_Voronoi_traits_2 classes and in Voronoi_traits_concept class: icc/icpc/icl and cl compilers have a problem with the declaration of Voronoi_edge_base_2 as a friend when this declaration is done through the parent class; created a CGAL config file and added the appropriate #ifndef - #endif block that checks for this problem. - fixed warning for unused variables when NDEBUG is defined - fixed unused variable warning in Halfedge.h and vda_print_report.h 27 May 2005: Menelaos Karavelas - changes in the doc: * fixed some open issues in the various models of the Voronoi traits concept. * added concepts for halfedges, vertices, faces of the Voronoi diagram. * added concepts for Voronoi edges and vertices, seen as geometric objects. * extended the VoronoiTraits_2 concept to incorporate geometric objects, such as Voronoi vertices and edges. * fixed Voronoi_diagram_adaptor_2 doc to make references to appropriate concepts and also fixed return types of various iterators/circuclator (in compliance with the arrangements'API). - changes in the code: * changed return type for Halfedge_around_vertex_circulator and Ccb_halfedge_circulator to be Halfedge instead of Halfedge_handle. * changed return type of Holes_iterator from Halfedge_handle to Ccb_halfedge_circulator. * added methods point() in Vertex and curve() in Halfedge; added the corresponding support in the Voronoi traits classes and created the appropriate base classes for representing Voronoi vertices and edges (seen now as geometric objects). * Voronoi_diagram_adaptor_2 class: removed predicate methods to simplify the interface; these methods were simply shortcuts to other calls, accessible publicly to the user. * the Voronoi_diagram_adaptor_2 class now uses the cached testers by default; however the interface is not very very clean since the edge_tester() and face_tester() methods are still public. * removed definition of Edge_hash_function in the Cached_edge_degeneracy_tester since it was identical to that in CGAL/edge_list.h; the definition in CGAL/edge_list.h is now used. - changes in testsuite: * updated Delaunay_graph_concept and Voronoi_traits_concept classes in order to comply with the recent changes. * the vda_*.C testsuites are now using the normal traits classes and not the cached traits classes. * updated the concept checking method in include/vda_test_concept.h to test for recently added types * updated vda_print_report.h w.r.t. changes referring to eliminated predicate methods in Voronoi_diagram_adaptor_2; also added tests for the geometric objects returned by Vertex and Halfedge (point() and curve() respectively. - other changes: * added example that computes the number of connected components of the Voronoi skeleton. 24 May 2005: Menelaos Karavelas - changed the return type of the circulators to be Halfedge instead of Halfedge_handle. - changed the return type of Holes_iterator from Halfedge_handle to Ccb_halfedge_circulator. 22 May 2005: Menelaos Karavelas - re-wrote the face degeneracy testers so that they do not need the edge degeneracy tester as an argument. This simplifies both the code and the concepts. - fixed wrong names of types in the Voronoi_diagram_adaptor_2 class and dependent classes 21 May 2005: Menelaos Karavelas - renamed Degeneracy_testers.h Validity_testers.h - removed the macro USE_FINITE_EDGES; the conceptual change: infinite Voronoi edges and halfedges (which are the duals of infinite Delaunay edges) are no longer reported as edges or halfedges. - redesigned the degeneracy testers/traits to provide regular predicate functors instead of constructive predicate functors - removed file Projector_classes.h: classes in there are no longer necessary - added copyright headers - updated doc according to new design of Voronoi traits and its predicate - added reference doc for the various Voronoi traits classes 19 May 2005: Menelaos Karavelas - added types and methods to reach conformity with the concepts