Sébastien Loriot
8d602ed8c2
Merge branch 'triangulation_3-copy_tds-sloriot'
...
Approved by the release manager
Conflicts:
Alpha_shapes_3/test/Alpha_shapes_3/copy_tds.h
Triangulation_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h
it introduces a more general copy_tds that allows to copy tds with different types of simplices.
2013-04-29 11:09:01 +02:00
Sébastien Loriot
0beb1a8861
add an extra overload to please MSVC
2013-04-19 08:38:56 +02:00
Sébastien Loriot
498492e770
add set_infinite_vertex to Triangulation_3 and use it with copy_tds
...
the 2D version already exists
2013-04-12 16:04:59 +02:00
Sébastien Loriot
f9e0c97aac
for convenience add a default to simple converter
...
it is useful if you want to copy the tds of a familly
alpha-shape into a fixed one
2013-04-11 20:03:32 +02:00
Laurent Rineau
bd0930fc26
Fix segfaults in T3, caused by the use of CGAL_assume
...
I wonder why the compiler created buggy code. Anyway, I found easy
workarounds, without reintroducing the warnings.
2013-02-22 16:15:04 +01:00
Laurent Rineau
66c5d23154
Use CGAL_assume to remove warnings
2013-02-20 18:55:43 +01:00
Andreas Fabri
8b5b56adb1
make index an unsigned int
2013-02-15 11:30:08 +01:00
Andreas Fabri
afeea1e124
replace size_t with int in loops over the vertices of a cell
2013-02-07 17:26:32 +01:00
Sébastien Loriot
aeb1edeae8
Merge branch 'triangulation_3-copy_tds-sloriot-old' into triangulation_3-copy_tds-sloriot
2012-12-18 19:57:32 +01:00
Sébastien Loriot
7843d7ce20
using internal::TDS_3 namespace
2012-12-17 16:39:04 +01:00
Philipp Möller
3e98c46535
Correct syntax for uniform initialization
2012-12-12 11:24:34 +01:00
Philipp Möller
ae1b135c54
Replace usage of CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG
2012-12-11 17:46:14 +01:00
Sébastien Loriot
c25f925174
renaming functor in copy_tds
2012-12-05 12:43:54 +01:00
Sébastien Loriot
6152194fa8
remove boolean for first vertex
2012-12-05 12:43:54 +01:00
Sébastien Loriot
47fea6c6f1
merge experimental-packages/Triangulation_3_copy_tds to a proper branch
2012-12-05 12:43:53 +01:00
Sébastien Loriot
825bfe6144
make create_star_3 non recursive only after 100 recursive calls.
...
The speed observed on random data set produced by simple_2.cpp is equivalent
to the original recursive version and faster than the version better this commit
2012-10-30 13:42:47 +00:00
Laurent Rineau
795c71fc9b
Fix headers of Mesh_2 and Mesh_3. All were missing #include.
...
I found out that way that <CGAL/Mesh_3/Refine_facets.h> and
<CGAL/Mesh_3/Protect_edges_sizing_field> were using global functions
instead of functors of the traits class.
Note also the funny bug that <CGAL/Regular_triangulation_cell_base_3.h> was
depending on <CGAL/Triangulation_vertex_base_3.h>!
2012-10-08 09:33:38 +00:00
Philipp Möller
caf3cce0d1
Silence unused parameter warnings. Leave the ones from the test-suite
...
that could signal incomplete tests.
2012-06-22 14:22:16 +00:00
Laurent Rineau
5acc79e554
Add comments to explain what happens with the use of Default Dt_3
2012-04-23 16:54:47 +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
Laurent Rineau
8f59fd9592
Turn QPL into LGPLv3+
2012-01-13 16:33:35 +00:00
Laurent Rineau
7df0200a6b
Reintegrate /branches/features/Power_test_3-VC_64bit-GF into next.
2011-11-17 17:11:42 +00:00
Laurent Rineau
3089c5d022
Revert that patch. Andreas agreed that he should not have commited that to
...
next before the branch ShewchuckKernel-GF is tested in candidates
Reverted commit:
| ------------------------------------------------------------------------
| r66076 | afabri | 2011-10-26 21:29:58 +0200 (Wed, 26 Oct 2011) | 1 line
| Changed paths:
| M /branches/next/Triangulation_3/include/CGAL/internal/Static_filters/Power_test_3.h
|
| Split the operator in two functions to avoid an ICE for VC++ 64bit release compilations
| ------------------------------------------------------------------------
2011-10-27 13:57:12 +00:00
Andreas Fabri
1c055d6951
Split the operator in two functions to avoid an ICE for VC++ 64bit release compilations
2011-10-26 19:29:58 +00:00
Andreas Fabri
706e98cd3b
Workaround for ICE on VC++ generating 64bit code
2011-10-14 13:04:06 +00:00
Laurent Rineau
b7c33d7b2e
Add a comment to mark the end of move_if_no_collision
...
The function body of Triangulation_3<Gt,Tds>::move_if_no_collision is so
long that comments should be added to mark blocks ends. For now, mark the
end of the function body.
2011-08-24 13:39:51 +00:00
Laurent Rineau
1fb7632ec3
Fix a bug in finite_adjacent_vertices when dimension()==1.
...
When tr.dimension()==1, tr.finite_adjacent_vertices(...) and
tr.finite_incident_edges(...) returned infinite things.
2011-07-28 16:53:11 +00:00
Andreas Fabri
e8fb926dae
Add missing return statements
2011-06-29 14:19:27 +00:00
Sébastien Loriot
cc9929b7de
qualify boost::bind to avoid ambiguity on windows.
2011-06-08 06:36:55 +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
Sébastien Loriot
2c2ce21536
remove commented lines from example.
...
int -> size_type
2011-03-04 07:12:17 +00:00
Sébastien Loriot
c1ff39de9a
fix documentation from branch (code merged in r60697)
2011-02-28 17:22:38 +00:00
Andreas Fabri
be782ec8e3
Use CGAL::abs instead of fabs
2011-02-16 15:53:26 +00:00
Laurent Rineau
a2daef39ab
Add a comment, that explain a tricky line of code.
...
(Actually, seeing the code, I first thought there was a bug. But then I
understood. That is why I think the comment may be is helpful for others).
2011-02-11 10:43:45 +00:00
Laurent Rineau
7e1f88e0cb
Abort operator>> as soon as one of the error flags failbit or badbit is set
...
on the stream. That avoids a possible very long loop if the stream format
is not the excepted one (imagine that is >> n sets n to INTMAX...)
2011-02-08 16:13:38 +00:00
Sébastien Loriot
68c3dfbfa9
add missing default constructor
2011-02-07 11:11:10 +00:00
Sébastien Loriot
af6f99ed1a
protect code using insert points with info by range using macro
...
CGAL_TRIANGULATION_3_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO
2011-01-10 17:54:57 +00:00
Sébastien Loriot
3181ed9401
merge only the code to insert points with info by range from the branch
...
/branches/experimental-packages/Triangulation_insert_with_info/Triangulation_3
2011-01-10 16:00:51 +00:00
Laurent Rineau
eea1755591
Merge the candidate branch of
...
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Rt::vertices_inside_conflict_zone
in trunk.
2010-12-21 16:36:04 +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
Sébastien Loriot
dfa20899ef
derecursion of create_star_3:
...
I remade a benchmark and finally when using boost::thread_specific_ptr,
using a std::vector is faster than the dedicated vector-class I previously
use.
I also retry using a tuple instead of a dedicated class to store variables
useful for the emulated recursion but tuple is (on my machine) slower.
benchmark results are the following (points are randomly taken in a sphere,
time is in seconds and is the mean of 10 idendical runs)
nb points | 1000 100000 100000 1000000 10000000
-----------------------------------------------------------------------------
trunk version | 0.0088 0.0928 0.9865 10.216 102.99
with vector | 0.0096 0.0900 0.9817 10.075 102.24
with vector and tuple | 0.0100 0.0948 0.9981 10.219 104.58
recursive version | 0.0080 0.0936 0.9732 10.141 102.33
2010-11-24 07:27:04 +00:00
Laurent Rineau
77a2bead80
Add missing svn properties (keywords and eol-style).
2010-09-20 12:12:46 +00:00
Stéphane Tayeb
ca4f9f11e8
Add an overload of insert_in_hole() in class Regular_triangulation_3 to ensure that hidden points are properly treated.
2010-08-04 15:36:38 +00:00
Sylvain Pion
8bd594a8be
Simplification : the case dim==1 should work for dim==0 as well.
2010-07-27 12:55:09 +00:00
Sylvain Pion
fdd4243639
nearest_vertex_in_cell() : handle dimension == 0.
2010-07-27 12:48:53 +00:00
Sébastien Loriot
599b23129e
missing using
2010-07-08 09:04:57 +00:00
Stéphane Tayeb
771b6f1b79
Fix bug on g++-4.5 -std=c++0x: use int[3] instead of unsigned char[3] to store vertex indices.
2010-07-07 11:26:48 +00:00
Sébastien Loriot
9567810ef8
add macro CGAL_TDS_USE_OLD_CREATE_STAR_3 in TDS_3.h so that user can
...
still use the old recursive version of create_star_3.
2010-06-28 14:06:14 +00:00
Sébastien Loriot
238f5a8479
change a private into protecter to have access to hidden_tester in derived class
...
add a using find_conflicts so that can call T3 version from class inheriting from DT or RT
2010-06-25 21:13:06 +00:00