Commit Graph

162 Commits

Author SHA1 Message Date
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
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
Philipp Möller 8eb30ef805 Replaced all uses of predecessor/successor with prev/next. 2011-06-07 16:21:58 +00:00
Laurent Rineau 167dd190c7 Fix compilation error about boost::bind
Fix an ambiguity between boost::bind and std::bind (C++0x): prefix
bind with boost:: explicitly.
2011-06-03 16:42:30 +00:00
Sébastien Loriot 0bed78feda use ccDeprecated for the whole class 2011-05-30 11:38:24 +00:00
Laurent Rineau 3c02e07b23 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.
2011-04-28 17:45:22 +00:00
Laurent Rineau c97205f085 Global handling of CMake policies (second part)
We declare 
  cmake_minimum_required(VERSION 2.6.2)
but we also use
  cmake_policy(VERSION 2.8.4)
to declare that our CMake scripts are OK with all the defaults of CMake policies
as of CMake-2.8.4. That shuts down the warnings of CMake-2.8.4.

That way, we no longer need any declaration of specific policies.

Those two lines must be present and maintained in all our CMakeLists.txt
files (the one for the libraries, and also the one for examples and demos,
and maybe tests).
2011-04-28 10:55:56 +00:00
Laurent Rineau 0631943153 Uniform capitalization in our CMake script: use lowercase for commands 2011-04-28 10:36:18 +00:00
Laurent Rineau ca5c92e034 Global maintenance of CMakeLists.txt: CMake minimal version is -2.6.2
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
  - change cmake_minimum_required to VERSION 2.6.2
  - no longer any need for the policy CMP0003 (was for 2.4.x)
  - no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
2011-04-27 17:58:27 +00:00
Laurent Rineau da95064578 Update the \ccPkgHowToCiteCgal tag for CGAL-3.8 (2011). 2011-02-24 15:21:10 +00:00
Sébastien Loriot 3e04fb16fb merge packages related to projection traits into the trunk. 2011-01-11 07:18:36 +00:00
Laurent Rineau cdf0322256 Let's remove all makefiles, now. 2010-08-23 11:03:02 +00:00
Laurent Rineau 8679a3911e Merged revisions 56835,56864-56870,56876,56895-56897 via svnmerge from
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch

........
  r56835 | lrineau | 2010-06-17 12:56:52 +0200 (Thu, 17 Jun 2010) | 6 lines
  
  Remove the constructor Gmpfr(long double) on Microsoft Visual C++. A big
  comment in the source code explains why.
  
  The testsuite will check that the construction of Gmpfr from a long double
  on MSVC still works and produces the right Gmpfr.
........
  r56864 | afabri | 2010-06-18 11:04:47 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use tie from boost::
........
  r56865 | afabri | 2010-06-18 11:11:49 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use bind from boost::
........
  r56866 | afabri | 2010-06-18 11:38:50 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use bind from boost:: (detected in Mesh_3 VC10 testsuite)
........
  r56867 | lrineau | 2010-06-18 11:39:24 +0200 (Fri, 18 Jun 2010) | 3 lines
  
  cmake-2.8.2rc2 is out.
  /bigobj is necessary
........
  r56868 | afabri | 2010-06-18 11:52:37 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Add #include <fstream>
........
  r56869 | afabri | 2010-06-18 11:55:33 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Shorten filename as with path it exceeds easily 256 letters which poor Visual C++ can't handle
........
  r56870 | afabri | 2010-06-18 12:24:30 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use tie from boost::
........
  r56876 | lrineau | 2010-06-18 16:40:36 +0200 (Fri, 18 Jun 2010) | 3 lines
  
  New try to fix the issue of Gmpfr(long double) with MSVC and libmpfr-1.dll
  compiled by Mingw.
........
  r56895 | lrineau | 2010-06-20 23:16:40 +0200 (Sun, 20 Jun 2010) | 3 lines
  
  Using boost::bind is not sufficient" "bind" without qualifier was
  ambiguous, according to MSVC2010, with std::bind (from C++0x).
........
  r56896 | lrineau | 2010-06-20 23:18:29 +0200 (Sun, 20 Jun 2010) | 3 lines
  
  Qualify "bind" with "boost::", to avoid the ambiguity (according to
  MSVC2010), with std::bind (C++0x).
........
  r56897 | lrineau | 2010-06-20 23:19:17 +0200 (Sun, 20 Jun 2010) | 2 lines
  
  Stupid typo!
........
2010-06-20 21:48:20 +00:00
Andreas Fabri 6ed149c10b Don't submit Qt3 demo 2010-06-16 15:22:45 +00:00
Andreas Fabri 4a7b9a7573 Convex hull demo is part of the 2D Bounding Volumes demo 2010-06-16 15:20:44 +00:00
Andreas Fabri 6901b29c95 Remove frame and replace pdf/gif by png 2010-06-16 14:15:50 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Marc Glisse cdfff1df5f cleanup extra ';' 2010-04-24 09:05:33 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Laurent Rineau 5e4c755bdb Merged revisions 53668-53669,53678-53679,53682-53686 via svnmerge from
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch

........
  r53668 | yvinec | 2010-01-19 11:00:41 +0100 (Tue, 19 Jan 2010) | 3 lines
  
  added changes for Mesh_3
........
  r53669 | yvinec | 2010-01-19 11:04:38 +0100 (Tue, 19 Jan 2010) | 3 lines
  
  fixed page layout in Changes for Mesh_3
........
  r53678 | spion | 2010-01-20 13:32:36 +0100 (Wed, 20 Jan 2010) | 2 lines
  
  Link AK_d and reorder to have Modular close to NT.
........
  r53679 | lrineau | 2010-01-20 13:37:23 +0100 (Wed, 20 Jan 2010) | 9 lines
  
  Merge from trunk:
    | New Revision: 53666
    |  Author: sloriot
    |  Date: 2010-01-19 08:41:16 +0100 (Tue, 19 Jan 2010)
    |  
    |  Log message:
    |  
    | remove warnings
........
  r53682 | lrineau | 2010-01-20 14:31:41 +0100 (Wed, 20 Jan 2010) | 2 lines
  
  Simplify the URL to CORE, so that "_" is not in the URL (Pb with manual tools)
........
  r53683 | lrineau | 2010-01-20 14:42:23 +0100 (Wed, 20 Jan 2010) | 3 lines
  
  Fix the package description of AK (fix the bib label and the version of
  CGAL)
........
  r53684 | lrineau | 2010-01-20 14:45:53 +0100 (Wed, 20 Jan 2010) | 1 line
  
  clean PkgDescription.tex
........
  r53685 | lrineau | 2010-01-20 15:01:09 +0100 (Wed, 20 Jan 2010) | 3 lines
  
  - Update PkgDexcription.tex to year 2010.
  - Add manual-3.6.bib
........
  r53686 | lrineau | 2010-01-20 15:03:10 +0100 (Wed, 20 Jan 2010) | 1 line
  
  Update the biblio shipped in manual tools, using manual-3.6.bib
........
2010-01-20 14:07:18 +00:00