Andreas Fabri
94567d8745
wip
2013-04-16 15:09:05 +02:00
Andreas Fabri
80ef57d590
rename class
2013-04-16 12:46:34 +02:00
Sébastien Loriot
62fcc226b8
add a method to insert a range of points with info in cdt
2013-04-16 07:37:51 +02:00
Jane Tournois
a9275d1a5b
add default value for start of inexact_locate
2013-04-12 14:48:10 +02:00
Jane Tournois
e023f42a51
make inexact_locate public also in Triangulation_2
2013-04-12 14:32:16 +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
Andreas Fabri
5e08e87d3d
Make the example more interesting.
...
Fix const correctness.
Fix the Subconstraint_iterator.
Improve the manual.
2013-04-03 15:28:46 +02:00
Andreas Fabri
f7d7395864
Merge branch 'OLD' into CGAL-use_leda-GF
...
Conflicts:
Boolean_set_operations_2/test/Boolean_set_operations_2/test_polygon_validation.cpp
Envelope_2/test/Envelope_2/test_envelope_segments.cpp
Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp
2013-03-27 20:22:54 +01:00
Laurent Rineau
b6ffa7c425
Merge branch 'CGAL-fix_warnings-GF'
...
That branch was successfully tested in CGAL-4.2-Ic-205.
2013-03-27 12:23:31 +01:00
Andreas Fabri
8a45fcea5a
Merge branch 'OLD' into Triangulation_2-NewPolylineConstraint-GF
...
Conflicts:
Triangulation_2/doc/Triangulation_2/Triangulation_2.txt
2013-03-21 13:41:53 +01:00
Laurent Rineau
6026df138a
Fix mis-compilations of Triangulation_2 with -O3 -DCGAL_NDEBUG
...
With recent g++ versions, when -DCGAL_NDEBUG and -O3 was in the compilation
flags, my patch using 'CGAL_assume' triggered mis-compilation of cases
where the dimension() was 1, for all uses of the following pattern:
CGAL_assume(i>=0 && i<= 1);
[...] 1-i [...]
The fix is to use "(i==0)?1:0" instead.
2013-03-19 14:29:18 +01:00
Andreas Fabri
67226de083
use CGAL::compare instead of compare to avoid Koenig lookup
2013-03-15 16:25:05 +01:00
Andreas Fabri
950e858555
remove unused parameters
2013-03-12 09:50:46 +01:00
Laurent Rineau
ef37a934a6
Fix warning "_ri may be used uninitialized"
2013-02-27 19:35:56 +01:00
Laurent Rineau
403031ce7f
Fix warnings
2013-02-27 18:21:24 +01:00
Andreas Fabri
c7e68385be
remove unused variables and #if 0 buggy non used code
2013-02-26 16:52:55 +01:00
Laurent Rineau
2d8da664a3
Merge branch 'CGAL-fix_warnings-gdamiand'
...
Conflicts:
.gitignore
Skin_surface_3/examples/Skin_surface_3/CMakeLists.txt
2013-02-22 13:02:37 +01:00
Laurent Rineau
66c5d23154
Use CGAL_assume to remove warnings
2013-02-20 18:55:43 +01:00
Sébastien Loriot
e9e31dc6f3
remove unused file
2013-02-19 13:57:41 +01:00
Andreas Fabri
2740aa9c05
use size_type instead of int
2013-02-07 15:16:03 +01:00
Andreas Fabri
c6dd56cf0f
suppress a warning. The hypothetical problem cannot occur
2013-02-07 15:15:27 +01:00
Andreas Fabri
462ad57712
Remove a declaration without definition
2013-02-07 15:13:48 +01:00
Andreas Fabri
f9cd5ec08a
Merge remote-tracking branch 'origin/Triangulation_2-NewPolylineConstraint-GF' into Triangulation_2-NewPolylineConstraint-GF
...
Conflicts:
.gitattributes
2013-01-21 14:33:33 +01:00
Andreas Fabri
b307771892
bug fix for natural_neighbor_coordinates_2 using a small feature in the conflict zone functions of Delaunay_triangulation_2
2013-01-08 12:34:37 +01:00
Philipp Möller
0f34f2a89e
Merge branch 'Maintenance-include-less-boost-pmoeller'
2012-12-21 09:44:18 +01:00
Sébastien Loriot
41362b6b57
Merge branch 'triangulation_2-cstr_using_ranges'
2012-12-21 08:42:25 +01:00
Sébastien Loriot
84caad7137
using the regular triangulation filtered traits using flags in the kernel
2012-12-20 16:12:38 +01:00
Sébastien Loriot
59f9e8a778
add constructor from range for 2D Delaunay and Regular triangulation
2012-12-19 17:10:57 +01:00
Sébastien Loriot
09e42c760e
fix source vertex and face types
2012-12-19 10:52:56 +01:00
Sébastien Loriot
853c658a18
add copy_tds with converter in TDS2
2012-12-19 10:15:03 +01:00
Philipp Möller
71ea8e6e22
Minimal boost includes
...
Replace type_traits.hpp and utility.hpp with the respective
fine-grained includes.
2012-12-14 18:13:59 +01:00
Laurent Rineau
96319a1365
reintegrate '^/branches/features/Triangulation_2_UseTraitsInHierarchy-GF'
2012-11-07 14:59:00 +00:00
Sébastien Loriot
ef81760b85
macro renaming
2012-11-02 08:58:21 +00:00
Laurent Rineau
ef5b895a93
merge from next
2012-11-02 08:49:12 +00:00
Sébastien Loriot
6ff851e791
macro renaming
2012-11-02 08:44:08 +00:00
Sébastien Loriot
6da5e9e84d
unrecursive version of propagating_flip and propagate_conflicts
...
for CDT2 and DT2 using 100 recursive calls before switching to
a local stack in a function.
2012-10-30 13:16:52 +00:00
Sébastien Loriot
720244f8f8
apply the same choice as the one made in r73262 for CDT_2
2012-10-24 21:39:38 +00:00
Sébastien Loriot
cd165546fc
Remove all alternatives to propagating_flip to keep one that allow to use the call
...
stack for at most 100 recursive calls and switch to a non-recursive function
that uses a local std::stack to emulate the call stack.
Benchmarks show the following results:
7 runs on 10,000,000 random in unit circle points
43.67074 : Old implementation
43.91474 : use stack for 100 first call then non-recursive with stack
44.07075 : use stack for 100 first call then non-recursive with vector
44.57079 : Local vector
45.0068 : Local stack
45.87886 : Local fixed size array
46.3829 : Local "home-made" small vector
53.41534 : Thread-local vector
2012-10-24 21:35:17 +00:00
Sébastien Loriot
a7b02bd716
merge experimental-packages/Triangulation_2-unrecursive
2012-10-24 09:26:32 +00:00
Sébastien Loriot
5c4ae5d477
windows mixes up Fb template parameter with nested Fb type from base class
2012-08-22 06:48:49 +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
Marc Glisse
a758751485
Remove / comment out unused local typedefs. Fix one place where FT was used instead of RT (homogeneous coordinates, probably never compiled).
2012-07-28 06:21:06 +00:00
Sébastien Loriot
3e750c6fd7
temporary hack to work around assertion
2012-07-17 12:08:49 +00:00
Laurent Rineau
49404f75f5
Improved patch
...
The Constraint_hierarchy is now templated by T, an anonymous type (that is
a Vertex_handle when the constraint hierarchy is used in Ct_plus_2), and a
Compare operator, that have a comparison member function:
bool operator()(T, T);
In Ct_plus_2, the Compare operator passed to the Constraint_hierarchy
compares the vertices with a Less_xy_2, implemented by Less_x_2, and
Less_y_2.
The test test/Triangulation_2/include/CGAL/_test_cls_hierarchy_2.h has been
tweaked, to check that the type T passed in the hierarchy no longer needs
to have a point() member function, as it was before May 2010 (when GF has
determinized the Cdt_plus_2 using too simple patch).
2012-06-28 09:16:23 +00:00
Andreas Fabri
7cb640d05d
The Constraint_hierarchy_2 gets an additional LessXY_2 functor as template argument so that it no longer applies operator<(Point,Point)
2012-06-25 10:11:56 +00:00
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
Philipp Möller
8529612009
Drop some never implemented members from the hierarchy.
...
Remove keep_points from PCT and PHierarchy.
Document the effect of the fixed member in simplify.
2012-05-14 13:09:03 +00:00
Philipp Möller
a3ae98b371
Add a range overload for insert_constraint and document it.
...
Fix the return types in the documentation.
Add both overloads of push_back to be more similar to C_t_plus
2012-05-14 12:10:16 +00:00
Philipp Möller
bd81c4fe68
Minor copy&paste fix
2012-05-11 15:14:02 +00:00
Philipp Möller
af62f9848b
constness, insert pair<Point, Point>, Self typedef
2012-05-11 13:27:17 +00:00
Philipp Möller
c72b426896
Propagated that change up through the hierarchy. (*it)-> syntax for
...
Vertex_it still feels a little bit awkward but is the best we can get.
2012-05-10 16:02:11 +00:00
Philipp Möller
918a6084ab
Node is now entirely encapsulated.
2012-05-10 14:26:46 +00:00
Philipp Möller
a2c0e017e3
Dropped the H_ prefix and purged some typedefs.
2012-05-10 13:53:43 +00:00
Philipp Möller
cfea03d54b
Dropped out-dated examples, simplify.cpp example compiles.
2012-05-10 13:35:00 +00:00
Philipp Möller
9464dccbb5
Clean up and Node conversions.
2012-05-10 09:51:09 +00:00
Philipp Möller
3c98b60509
Removed simplification from this package.
2012-05-09 15:38:28 +00:00
Philipp Möller
092f09e490
Replaces Squared_distance_cost with the version from the Triangulation_2 package.
2012-05-09 15:36:59 +00:00
Philipp Möller
57417b0050
Removed executable property.
2012-05-09 15:34:38 +00:00
Philipp Möller
38228d6982
Added conversions to Skiplist, integrated it somewhat into
...
constraint_hierarchy, merged some code there and added a Default to
the triangulation.
2012-05-09 13:39:36 +00:00
Philipp Möller
9d91dcc2ef
proper naming
2012-05-04 16:24:30 +00:00
Philipp Möller
f43213905b
Removed unnecessary include.
2012-05-04 16:22:23 +00:00
Philipp Möller
328e59e04e
A vertex base for Polyline_constraint_hierarchy
2012-05-04 15:55:02 +00:00
Philipp Möller
da6f1be1d2
Typenamified constrained_triangulation, partially integrated skiplist
2012-05-04 13:39:22 +00:00
Andreas Fabri
f9489d4dc5
insert_polyline ->insert_constraint
2012-05-03 15:10:34 +00:00
Andreas Fabri
e2b039379b
Add remove_points_from_constraints
2012-04-26 11:36:13 +00:00
Andreas Fabri
97949be7cb
Add remove_points_from_constraint
2012-04-26 11:31:04 +00:00
Andreas Fabri
e650998cc3
code follows doc
2012-04-26 09:41:56 +00:00
Andreas Fabri
bf657edffc
Duplicate and modify functions as they are more efficient
2012-04-20 22:31:23 +00:00
Andreas Fabri
271f52dbd4
Add an error function for polyline simplification
2012-04-20 10:33:46 +00:00
Andreas Fabri
c19ff964b2
Add files for Polyline_constrained_triangulation_2
2012-04-20 10:11:18 +00:00
Andreas Fabri
c8c67ab24c
Add insert_constraint(Vertex_handle vaa, Vertex_handle vbb, OutputIterator out)
2012-04-20 10:10:08 +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