Commit Graph

180 Commits

Author SHA1 Message Date
Philipp Möller 272a52ee44 Do a global pass over Doxygen warnings/errors. 2012-10-02 15:12:54 +00:00
Philipp Möller c9fdbf3edb Add an anchor to each level one heading, so we get a nice tree in the
user manuals.
2012-10-02 11:53:01 +00:00
Philipp Möller 37778547bf Fix example to point to paths similar to a flat layout 2012-10-01 18:02:44 +00:00
Andreas Fabri 5d38dc1393 Add example that uses projection traits class 2012-09-26 21:01:42 +00:00
Andreas Fabri 5167bd1fe8 document the overload of convex_hull_2 to get rid of an obscure Default_traits() 2012-09-26 07:20:01 +00:00
Philipp Möller b64ba48134 The changes to move the package overview labels into the
PackageDescription.
2012-09-25 17:17:49 +00:00
Philipp Möller 1954eff3d6 * build normalized mainpage anchors
* better naming for Pkg commands
* User and Reference Manual links from the PackageOverview
2012-09-20 15:30:03 +00:00
Philipp Möller 1b3a78a08f Salvage the demo information from the old package description. 2012-09-20 13:30:49 +00:00
Andreas Fabri 6f61e2b2ee Downsize headings 2012-09-17 14:53:05 +00:00
Philipp Möller 864aebe2e5 Merge next.
This commit also updates the respective mock-headers when the
corresponding .tex documentation has changed. This has been the case for:

AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_features.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_no_features.tex
Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex
Number_types/doc_tex/NumberTypeSupport_ref/Lazy_exact_nt.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_2.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_3.tex
Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex
2012-09-12 14:14:22 +00:00
Philipp Möller 4b3963a1d0 Removed \file in an example. 2012-09-11 08:57:30 +00:00
Andreas Fabri e12f7a09d3 play around with \file 2012-09-04 09:10:45 +00:00
Andreas Fabri fc1a5126c7 Add a comment to a \file 2012-09-04 08:31:17 +00:00
Philipp Möller 2d8931167f autoexamples 2012-08-29 16:20:55 +00:00
Philipp Möller 5a0a5403c4 Enable autotoc on mainpages 2012-08-29 15:45:17 +00:00
Philipp Möller e2616dafb1 Rebuild the how_to_cite structure 2012-08-28 17:33:45 +00:00
Laurent Rineau 2db4effa7e CMake: Fix the handling of cmake_policy
That is a followup-to my commit last year:
  | ------------------------------------------------------------------------
  | r63198 | lrineau | 2011-04-28 19:45:22 +0200 (Thu, 28 Apr 2011) | 5 lines
  | 
  | Try to fix my last revision about cmake_policy, with CMake-2.6.x
  | 
  | CMake gives an error if one tries to use cmake_policy(VERSION x.y.z) if
  | x.y.z is greater than the current CMake version.
  | 
  | ------------------------------------------------------------------------

The following check:
  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
is useless just after a call to:
 cmake_minimum_required(VERSION 2.6.2)



The script used to fix that was:


#!/usr/bin/env perl

$replacement=<<'END';
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
  cmake_policy(VERSION 2.8.4)
else()
  cmake_policy(VERSION 2.6)
endif()
END

while(<>) {
    if(/if\("\${CMAKE_MAJOR_VERSION}.\${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6\)/) {
        while(<>) {
            if(/^endif\(\)/) {
                print "$replacement";
                while(<>) {
                    print;
                }
                exit 0
            }
        }
    }
    print;
}
2012-08-22 12:35:03 +00:00
Andreas Fabri 5eabc5b78e label of cite must be in the same line 2012-08-21 12:41:52 +00:00
Andreas Fabri af87732f6a Add \anchor of chapters 2012-08-21 10:18:58 +00:00
Philipp Möller d3a9a641de Refurb package descriptions with a label for the license. 2012-08-20 14:28:36 +00:00
Andreas Fabri 17b59d98d2 Move function documentation to the right place 2012-08-20 10:58:30 +00:00
Andreas Fabri d12b1916ca :: is better than () as it then looks as it did with the old tools 2012-08-20 10:39:50 +00:00
Philipp Möller bcb04bb768 Has Model linkification 2012-08-20 10:36:01 +00:00
Andreas Fabri c3aa148407 Add '()' to function names so that doxygen generats links 2012-08-20 10:19:45 +00:00
Philipp Möller d5c15dafde fix double \cite commands 2012-08-17 13:46:35 +00:00
Philipp Möller 6a45864c1a Throw a set of ported doc files under version control 2012-08-09 16:07:44 +00:00
Philipp Möller e65a8028ea Replace tex-style quotes with quotes that you would expect, as there
is no way to handle them in the converter.

Needs to be revert before this is being merged into next.
2012-08-02 12:55:15 +00:00
Laurent Rineau db194534c7 First big patch to fix -Wunused-local-typedefs
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
 by -Wall since gcc-4.8 (not yet released).

The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
2012-08-01 13:29:16 +00:00
Philipp Möller b529971917 Merge the changes to ccPrecond and ccPostcond that have been in
features/doxy-pmoeller and add changes for ccRequires on top of it.

ATTN: This changeset should be unmerged before the whole branch goes
      back into next.
2012-06-20 13:57:36 +00:00
Sébastien Loriot 88f58d2512 merge from next 2012-06-01 07:27:29 +00:00
Sébastien Loriot 6b51332818 add code to benchmark to test specific situations 2012-05-31 12:59:50 +00:00
Sébastien Loriot 3de45905c0 use a dedicated version of the function assigning points to region in case
at least two extreme points are identical.

for the archive here is the result of the benchmark like done for r69398.
br_spl correspond to the same code but replacing the implementation of 
ch_akl_toussaint_assign_points_to_regions_deg by:
  for ( ; first != last; ++first )
  {
    //note that e!=w and s!=n except if the convex hull is a point (they are lexicographically sorted)
    if ( left_turn(*e, *w, *first ) )   
    {
        if (s!=w && left_turn( *s, *w, *first ) )       region1.push_back( *first );
        else if (e!=s && left_turn( *e, *s, *first ) )  region2.push_back( *first );
    }
    else
    {
        if (n!=e && left_turn( *n, *e, *first ) )       region3.push_back( *first );
        else if (w!=n && left_turn( *w, *n, *first ) )  region4.push_back( *first );
    }
  }  

The conclusion is that that version is always the fastest.

2 extreme points 
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |  1.34  |  2.61  | 16.15  | 16.69 |  18.31 |  20.91  |
    |branch   |  0.10  |  0.74  |  9.24  | 11.0  |  12.74 |  15.24  |
    |br_spl   |  0.12  |  0.91  | 10.18  | 11.88 |  13.68 |  15.88  |
    |--------------------------------------------------------------- 

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |  1.27  |  2.66  |  16.09 | 16.66 |  18.19  | 21.21  |
    |branch   |  0.10  |  0.8   |   9.49 | 11.36 |  13.09  | 15.55  |
    |br_spl   |  0.13  |  0.9   |  10.32 | 12.00 |  13.93  | 16.14  |
    --------------------------------------------------------------- |

 
3 extreme points
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   1.34 |   2.46 |  14.26 | 14.81 |   16.40 | 18.48  |
    |branch   |   0.18 |   0.87 |  10.07 | 11.76 |   13.52 | 15.59  |
    |br_spl   |   0.12 |   0.98 |  10.41 | 12.07 |   13.94 | 15.93  |
    |---------------------------------------------------------------| 

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   1.32 |   2.45 |  14.17 | 14.76 |   16.62 | 18.61  |
    |branch   |   0.19 |   0.86 |  10.21 | 12.03 |   13.66 | 15.96  |
    |br_spl   |   0.16 |   0.94 |  10.74 | 12.38 |   14.39 | 16.31  |
    |---------------------------------------------------------------| 

Convex hull is 2 points
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |  0.19  |  1.39  |  13.54 | 13.46 |  14.16  | 14.05  |
    |branch   |  0.11  |  0.54  |   5.02 |  4.96 |   5.09  |  5.06  |
    |br_spl   |  0.12  |  0.94  |   9.02 |  9.0  |   8.98  |  9.13  |
    |---------------------------------------------------------------| 

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   0.18 |   1.46 |  13.89 | 13.88 |   14.44 | 14.11  |
    |branch   |   0.14 |   0.58 |   5.12 |  5.07 |    5.07 |  5.29  |
    |br_spl   |   0.14 |   0.97 |   9.28 |  9.28 |    9.30 |  9.54  |
    |---------------------------------------------------------------| 

4 extreme points
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------| 
    |next     |   2.37 |   2.97 |   9.84 |  8.07 |    7.76 | 9.0    |
    |branch   |   0.10 |   0.50 |   6.76 |  7.36 |    7.42 | 8.66   |
    |br_spl   |   0.13 |   0.46 |   6.74 |  7.30 |    7.38 | 8.65   |
    |---------------------------------------------------------------|

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   2.34 |   3.07 |   9.91 |  8.01 |    7.78 | 9.17   |
    |branch   |   0.11 |   0.54 |   6.78 |  7.44 |    7.58 | 8.93   |
    |br_spl   |   0.14 |   0.50 |   6.82 |  7.44 |    7.51 | 8.94   |
    |---------------------------------------------------------------|
2012-05-31 12:48:42 +00:00
Sébastien Loriot cf9a4e8742 update benchmark 2012-05-30 16:06:57 +00:00
Sébastien Loriot 8c67ae989b add a input for an example. I don't know how the testsuite could work without the file 2012-05-30 16:03:07 +00:00
Sébastien Loriot d6f0881f52 make sure ranges are not empty.
benchmark results are still valid
2012-05-30 15:52:46 +00:00
Sébastien Loriot a4b5ae22aa The akl_toussaint algo first determines extreme points along x and y axis, and then
associates each input point outside the diamond defined by the aforementioned extreme points
to one of the 4 regions defined. The old implementation did not take into account 
the fact that the extreme points where also tested, which resulted in filter failures.

To avoid that, the range of input points is split (artificially) in 5 ranges and
the association part is done for each range. The implementation is faster when using
random access iterators as input.

Here is the result of a benchmark on random points in a disk.
In order to have significant running time, the same convex hull
is computed several times (nb runs) and the total time is reported.


Using a vector of points as input

nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|  
nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
---------------------------------------------------------------
next     | 2.34s  | 2.95s  |  9.88s | 8.02s | 7.80s   | 9.06s  |
branch   | 0.11s  | 0.49s  |  6.79s | 7.49s | 7.43s   | 8.74s  |
---------------------------------------------------------------


Using a list of points as input

nb pts   |     10 |    100 |   1000 | 10000 |  100000 | 1000000|  
nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
---------------------------------------------------------------
next     |  2.34s | 3.16s  |  9.85s | 8.08s |   7.84s | 9.27s  |
branch   |  0.14s | 0.54s  |  6.93s | 7.51s |   7.61s | 8.98s  |
---------------------------------------------------------------
2012-05-30 15:17:59 +00:00
Sébastien Loriot d2a513713b update dont_submit 2012-05-30 13:47:14 +00:00
Sébastien Loriot f5dbd8f841 add program to bench runtime of convexhull algorithms 2012-05-30 13:41:20 +00:00
Sébastien Loriot 2bd87a7c7a add a test to ensure projection_traits is working 2012-05-28 07:51:18 +00:00
Sébastien Loriot 19857458b6 deprecation warnings 2012-05-28 07:28:03 +00:00
Laurent Rineau a37c74d534 Add license files, per package 2012-01-16 15:54:22 +00:00
Laurent Rineau 2af2160942 Turn \ccLicenseQPL into \ccLicenseGPL 2012-01-13 17:13:55 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Laurent Rineau 93486787c3 The inside of ccPkgDescription must not contain black lines between macros
Otherwise that inserts a buggy "<p>" tag in the package overview where the
doctype does not allow it.
2011-11-15 19:16:23 +00:00
Andreas Fabri fde8fd1c5a Add missing requirement on the traits class. 2011-10-29 21:22:38 +00:00
Sébastien Loriot 554f62d411 remove executable property from copyright files 2011-10-03 08:18:16 +00:00
Andreas Fabri d10a333947 Add a file with the copyright holder(s) to the package_info 2011-09-29 20:45:16 +00:00
Laurent Rineau fdb7ea6c6b prepare ccPkgHowToCiteCgal for CGAL-3.10 (in 2012) 2011-09-28 16:15:05 +00:00
Laurent Rineau 1e3c229440 merge from next 2011-08-26 13:55:12 +00:00
Laurent Rineau ac9877372d Update all PkgDescription files to CGAL-3.9 2011-06-27 14:31:45 +00:00