Philipp Möller
5f6b09c484
Fix types of loop counters to size_t.
2012-06-20 09:15:34 +00:00
Sébastien Loriot
19857458b6
deprecation warnings
2012-05-28 07:28:03 +00:00
Menelaos Karavelas
9201c1f2c3
implementation and documentation for the Rebind_vertex and Rebind_face small
...
feature of the TDS_2 concept.
The release manager has approved the commit directly into the next branch.
2012-05-24 14:07:56 +00:00
Laurent Rineau
95bec3999c
Use Unique_has_map instead of std::map (patch from Andreas Fabri)
...
The gain on copies of T2 or T3 is the following:
afabri@klimt /cygdrive/c/cgal/next/Triangulation_3/benchmark/Triangulation_3
$ ./copy 1000000 2
36.806 sec
afabri@klimt /cygdrive/c/cgal/next/Triangulation_3/benchmark/Triangulation_3
$ ./copy 1000000 2
4.865 sec
The benchmarck copy.cpp is the following (not commited):
#define CGAL_T3_HASH
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_3.h>
#include <CGAL/Timer.h>
#include <CGAL/point_generators_3.h>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_3<K> Delaunay;
typedef K::Point_3 Point;
typedef CGAL::Creator_uniform_3<double,Point> Creator;
int main(int argc, char **argv)
{
int n=1000000;
int rep=100;
if (argc>=2)
n=atoi(argv[1]);
if (argc>=3)
rep=atoi(argv[2]);
std::vector<Point> points;
points.reserve(n);
CGAL::Random_points_in_sphere_3<Point,Creator> g(1);
CGAL::copy_n( g, n, std::back_inserter(points));
Delaunay original;
original.insert(points.begin(),points.end());
double res = 0;
for (int r=0;r<rep;++r){
CGAL::Timer t; t.start();
Delaunay delaunay=original;
t.stop();
res+=t.time();
}
std::cout << res << std::endl;
return 0;
}
2012-03-30 12:37:19 +00:00
Sébastien Loriot
498c0a6e1e
Make the insert-by-range function more permissive
...
The condition is now to be convertible to the point type, pair<point,info>,...
This was the behavior before the insert-by-range-with-info methods were
introduced.
2012-01-24 17:25:20 +00:00
Olivier Devillers
1eb0ad5c1b
optimize
2012-01-24 16:24:56 +00:00
Olivier Devillers
8722c292d7
replace inexact_locate by has_inexact_negative_orientation
2012-01-24 09:45:13 +00:00
Sébastien Loriot
a7456a2736
merge from next
2012-01-16 15:28:51 +00:00
Laurent Rineau
0e3de8807e
Fix performances of Triangulation_2 with EPEC
...
There was a performance degradation between CGAL-3.7 and CGAL-3.8, when
Triangulation_2 is used with EPEC. This patch fixes the issue. Using a
functor that is specialized for EPEC, in inexact_orientation, to_double is
not called on p.x() but on p.approx().x().
2012-01-16 13:45:16 +00:00
Sébastien Loriot
fca9a7bf54
*add operator>> for Constrained_triangulation_2
...
*update demo
*add save CDT for demo
see the related small feature:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Add_read_istream_for_constrained_triangulation .
2012-01-16 13:32:05 +00:00
Laurent Rineau
8f59fd9592
Turn QPL into LGPLv3+
2012-01-13 16:33:35 +00:00
Laurent Rineau
5b5dd33848
merge changes from next
2012-01-09 12:33:39 +00:00
Sébastien Loriot
eddf2131d6
merge from next
2011-12-30 11:09:29 +00:00
Sébastien Loriot
59b50cc467
make static variable in remove thread_safe.
...
I choose this solution since making the container global variable of
the class penalize classes that do not use remove functions.
The overhead introduced is small (less than 2-3% of the total remove time).
2011-12-29 16:35:40 +00:00
Laurent Rineau
6ed56d75b5
merge from next
2011-10-25 15:48:02 +00:00
Olivier Devillers
5f4f11e2df
not turning always in the same manner in a triangle speed up the walk (for long walks)
2011-10-25 11:31:01 +00:00
Sébastien Loriot
91a5327fa8
change LGPLv2 -> LGPLv3
2011-10-10 13:48:25 +00:00
Olivier Devillers
ef043927fd
too conservative check removed, for fast removal in delaunay 2d
2011-09-06 15:21:27 +00:00
Sébastien Loriot
98ddbf9c7e
merge packages Spatial_sorting, Triangulation_2 and Triangulation_3 from branch spatial_sorting-add_info-sloriot
2011-05-24 15:48:31 +00:00
Marc Glisse
19b75ba29c
Remove unused lines
2011-04-12 10:08:00 +00:00
Laurent Rineau
5604fef79f
Move <CGAL/apply_to_range.h> to trunk/Triangulation_2...
...
... to avoid that useful file to be removed by error if we remove
trunk/Qt_widget one day (but also because it is more logical).
2011-03-29 09:38:36 +00:00
Laurent Rineau
fc2e05e67d
Triangulation_2_projection_traits_3 is now a model of DelaunayMeshTraits_2.
2011-03-23 17:28:51 +00:00
Sébastien Loriot
6340a510c5
merge the code for Triangulation_2 to insert range of points with info
...
protected by macro CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO
2011-01-11 07:40:47 +00:00
Sébastien Loriot
3e04fb16fb
merge packages related to projection traits into the trunk.
2011-01-11 07:18:36 +00:00
Sébastien Loriot
5f674516b0
add precondition to dual functions to check that objects are from the triangulation.
2010-12-23 15:55:50 +00:00
Laurent Rineau
96162627aa
Merge the following small features in trunk:
...
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Remove_cluster
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Structural_filtering
Merge also a partial support of:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Rt::vertices_inside_conflict_zone
(vertices_inside_conflict_zone" is added in Regular_triangulation_3, without documenting it)
2010-12-10 17:02:10 +00:00
Laurent Rineau
1caaf5665c
- triangulate_half_hole was quadratic because std::list::size is a linear
...
function (not with all compilers, but at least with g++-4.4).
I have a very nasty test case where list_edges.size is more than
700000. With a quadratic function, mmy cruncher computer was not even able
to insert *one* constraint in half a day.
- Remove also the unused variable vb, and the initialization of tempo
(which is re-initialized a second time later, without using its first
value).
2010-11-23 11:07:42 +00:00
Andreas Fabri
a9fc8fc464
Remove unused variable
2010-11-22 07:56:00 +00:00
Laurent Rineau
168d31b6d6
Commit that feature directly to trunk:
...
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Triangulation_2::mirror_edge%28Edge%29
Code + manual + small test
Why directly to trunk: the patch is very low risk, I have ran the test
suite and the manual testsuite, and there is already a Triangulation_2
package in candidate packages (cannot have two candidates for one package).
2010-11-16 17:27:06 +00:00
Laurent Rineau
e90e28169a
Apply the same patch as for Constrained_triangulation_2.h in revision 59626
...
to Constrained_triangulation_plus_2.h:
|------------------------------------------------------------------------
|r59626 | lrineau | 2010-11-10 19:42:53 +0100 (Wed, 10 Nov 2010) | 3 lines
|
|Fix an infinite loop in CDT<EPIC, TDS, Exact_predicates_tag>
|Add a test, that know passes, and previously failed.
|
|------------------------------------------------------------------------
2010-11-12 10:39:22 +00:00
Laurent Rineau
8aaa43a8eb
Cosmetic: minimize the diff between
...
Constrained_triangulation_2::insert_constraint
and
Constrained_triangulation_plus_2::insert_subconstraint
(Add a comment, adjust the whitespace)
2010-11-12 10:26:33 +00:00
Laurent Rineau
ecfd82e287
Fix an infinite loop in CDT<EPIC, TDS, Exact_predicates_tag>
...
Add a test, that know passes, and previously failed.
2010-11-10 18:42:53 +00:00
Laurent Rineau
ea084037e3
Revert those commits:
...
| ------------------------------------------------------------------------
| r59165 | afabri | 2010-10-11 15:27:39 +0200 (Mon, 11 Oct 2010) | 1 line
| Changed paths:
| M /trunk/Triangulation_2/include/CGAL/Triangulation_euclidean_traits_xy_3.h
| M /trunk/Triangulation_2/include/CGAL/Triangulation_euclidean_traits_xz_3.h
| M /trunk/Triangulation_2/include/CGAL/Triangulation_euclidean_traits_yz_3.h
|
| Use the renamed class which now is in the Kernel package
| ------------------------------------------------------------------------
| r59159 | afabri | 2010-10-11 15:14:31 +0200 (Mon, 11 Oct 2010) | 1 line
| Changed paths:
| D /trunk/Triangulation_2/include/CGAL/internal/Triangulation_euclidean_traits_projected_3.h
|
| Move implementation of Projection_traits from Triangulation_2 to Kernel
| ------------------------------------------------------------------------
Now the work is in a branch.
2010-11-04 11:04:12 +00:00
Laurent Rineau
3b66f50862
Make operator<< of Weighted_point compatible with the pretty-mode (of
...
CGAL::set_pretty_mode).
2010-10-14 13:52:18 +00:00
Andreas Fabri
ef9882a4e4
Use the renamed class which now is in the Kernel package
2010-10-11 13:27:39 +00:00
Andreas Fabri
335fd1825f
Move implementation of Projection_traits from Triangulation_2 to Kernel
2010-10-11 13:14:31 +00:00
Sébastien Loriot
5bde754940
remove warnings
2010-07-15 09:14:09 +00:00
Olivier Devillers
974a5380d0
restore the old removal procedure for removal in Delaunay triangulation
...
if degree of removed point is > 7
The fast removal is still effective since the
specialized functions for degrees 3,4,5,6, and 7 are used.
Differences in benchmarks for high degrees between old and new was not
big anyway.
2010-07-15 07:51:12 +00:00
Sébastien Loriot
acd9a77bf7
add missing requirements to be used with natural_neighbor_coordinates_2
2010-07-05 10:07:39 +00:00
Sylvain Pion
049a45f32f
Remove useless default and copy ctors, and assignment operator.
2010-06-29 14:55:59 +00:00
Laurent Rineau
7254994bc3
Fix a warning (base class must be initialized).
2010-06-29 12:34:53 +00:00
Sébastien Loriot
5767088b4f
merge from branches/experimental-packages/Triangulation_2_new_projection_traits:
...
-factorization of projection trait classes into an internal trait class
-add missing functors to Triangulation_euclidean_traits_XX_3 required by CDT with intersections.
2010-06-24 15:34:38 +00:00
Laurent Rineau
7a8b79aa18
Merged revisions 57043-57044,57048,57055,57059,57069,57071 via svnmerge from
...
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r57043 | sloriot | 2010-06-24 09:56:01 +0200 (Thu, 24 Jun 2010) | 3 lines
bug fix: missing Compare_distance in Triangulation_euclidean_traits_XX_3.h
........
r57044 | sloriot | 2010-06-24 10:04:32 +0200 (Thu, 24 Jun 2010) | 2 lines
update CHANGES
........
r57048 | sloriot | 2010-06-24 10:45:57 +0200 (Thu, 24 Jun 2010) | 2 lines
add missing const (thx Sylvain)
........
r57055 | sloriot | 2010-06-24 11:43:38 +0200 (Thu, 24 Jun 2010) | 2 lines
update doc
........
r57059 | lrineau | 2010-06-24 14:13:53 +0200 (Thu, 24 Jun 2010) | 2 lines
Yet another typo. I hope this it the last one.
........
r57069 | lrineau | 2010-06-24 17:12:43 +0200 (Thu, 24 Jun 2010) | 2 lines
cmake 2.8rc3 is published.
........
r57071 | lrineau | 2010-06-24 17:20:21 +0200 (Thu, 24 Jun 2010) | 2 lines
Fix yet another typo about CGAL_AUTO_?LINK_(GMP|MPFR)... :-(
........
2010-06-24 15:22:12 +00:00
Andreas Fabri
4d5300f583
Finally use ptrdiff_t as return type for insert(beg, end)
2010-06-23 13:29:04 +00:00
Andreas Fabri
9eb297b9e6
Integer32 -> size_t
2010-06-22 20:44:46 +00:00
Andreas Fabri
3bdbbd1404
As the insertion of points in a regular triangulation can reduce the number of vertices we have to replace size_t with ptrdiff_t (Thank you Sylvain for pointing this out)
2010-06-21 16:12:59 +00:00
Andreas Fabri
8e75125383
int -> size_type/std::size_t
2010-06-21 13:19:03 +00:00
Sébastien Loriot
29acae75e0
correct bug:
...
could not call points_begin() with regular_triangulation
2010-06-14 13:49:28 +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
Sébastien Loriot
5d2ee0dc70
add missing using push_back
...
(was unable to call push_back(Constraint) defined in base class)
2010-06-08 11:25:58 +00:00