Commit Graph

53 Commits

Author SHA1 Message Date
Andreas Fabri a14cf913e9 WIP: In Lazy.h we now have a single macro for boost and c++11 thread 2015-09-11 14:54:11 +02:00
Andreas Fabri 220651bc88 Use CGAL_THREAD_LOCAL as thread_local only comes with VC201 2015-09-04 18:09:50 +02:00
Jane Tournois 4cf8655c00 move all the cdt.dual(v) code from Triangulation_2 to Mesh_2
we do not change the API of Triangulation_2 for now
maybe later, and this version should be easy to keep backward compatible
2015-05-19 08:54:33 +02:00
Jane Tournois 4cf43198e2 dual(v) returns an OutputIterator that collects rays and segments
to do so, use the Dispatch_output_iterator

- Constrained Voronoi diagram is now a class that has a pointer to a CDT
as member. We don't need an extra CDT anymore
- update examples
- also update the CDT 2 demo to see Voronoi cells, that are only valid when the
triangulation is Delaunay (constrained or not)
2014-10-07 15:03:41 +02:00
Jane Tournois 8d87ccf8c2 add a dual(vertex) function to DT2 and CDT2
- in DT2, it returns the Voronoi cell as a Polygon_2
- in CDT2, it returns the - possibly clipped - "bounded Voronoi cell"
see Seidel1988 or http://hal.inria.fr/docs/00/54/68/79/PDF/centroidal-vd.pdf

also add an example that computes the full BVD
2014-10-03 16:52:48 +02:00
Andreas Fabri 462ad57712 Remove a declaration without definition 2013-02-07 15:13:48 +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
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 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 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
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 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
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
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
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 5f674516b0 add precondition to dual functions to check that objects are from the triangulation. 2010-12-23 15:55:50 +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
Andreas Fabri 4d5300f583 Finally use ptrdiff_t as return type for insert(beg, end) 2010-06-23 13:29:04 +00:00
Andreas Fabri 8e75125383 int -> size_type/std::size_t 2010-06-21 13:19:03 +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
Olivier Devillers 8948095088 adding this-> 2010-06-01 07:29:36 +00:00
Olivier Devillers 9778b2d9a2 remove warning unused variable 2010-05-31 10:05:12 +00:00
Olivier Devillers 49d210b07d fixing missing this-> 2010-05-31 09:56:00 +00:00
Laurent Rineau d168a37440 Merge the branch /branches/candidate-packages/Triangulation_2
- Work from:
    Pedro Machado Manhaes de Castro <Pedro.Machado@sophia.inria.fr>
    Olivier Devillers <Olivier.Devillers@sophia.inria.fr>
- The work is:
    - fast removal for Delaunay_2 (Olivier)
    - displacement for 2D triangulation (Olivier and Pedro)
         https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Move_T2T3
2010-05-31 08:24:29 +00:00
Laurent Rineau 75cc6f6057 Better C++ compliance (errors detected by Intel Compiler strict-ansi mode) 2010-05-08 10:07:13 +00:00
Andreas Fabri b6f7fc6b47 Add this-> for Ansi compliance (why not using??) 2010-05-07 12:48:44 +00:00
Andreas Fabri d0ffd795ee Add 'this->' for strict ANSI compliance 2010-05-04 11:35:23 +00:00
Andreas Fabri 2ae72afd4d Use a symbolic perturbation so that in the grid case all diagonals have the same orientation 2010-02-25 15:29:19 +00:00
Andreas Fabri be700acaba Change rng; Remove random_shuffle 2010-01-27 15:22:31 +00:00
Pedro Machado Manhaes de Castro 78e138ea32 clean-up move stuffs, since they are not documented yet 2009-09-03 11:44:12 +00:00
Pedro Machado Manhaes de Castro 474d133ae7 improves speed form water to whine in the average 2008-10-08 13:44:06 +00:00
Pedro Machado Manhaes de Castro 64ae70e699 convex hull do not matter (even in this case) + little optimization 2008-03-21 15:32:54 +00:00
Pedro Machado Manhaes de Castro 55b1c90e6b little optimization 2008-03-14 12:46:43 +00:00
Pedro Machado Manhaes de Castro c50c75af92 little optimization for vertices of degree 3 2008-03-13 12:31:52 +00:00
Pedro Machado Manhaes de Castro 960f122b28 Optimizing move() 2008-03-10 11:07:15 +00:00
Pedro Machado Manhaes de Castro 8e40af475e Flexibility 2008-02-26 15:38:19 +00:00
Pedro Machado Manhaes de Castro a79f32b497 fixing move(It, It) 2008-02-22 14:05:30 +00:00
Pedro Machado Manhaes de Castro 8c07487188 Adding a method that moves a vertex from its coordinate to another one given by an arg. point. Also including a method that moves a set of points by giving a list of pairs (Vertex, Point). 2008-02-20 13:10:05 +00:00
Sylvain Pion 88ed563f44 Remove some workarounds for SunPRO + RW's STL:
CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG
CGAL_CFG_RWSTD_NO_MEMBER_TEMPLATES  (partially so far)
CGAL_make_vector
CGAL_make_list
2008-01-03 14:50:13 +00:00
Sylvain Pion f11efea26a Slight optimization 2007-06-11 16:18:58 +00:00
Sylvain Pion 6ad01b8bc6 Use CGAL_make_vector 2007-04-02 20:40:18 +00:00
Christophe Delage c3450d9161 Added spatial_sort support in iterator range insert() & ctors.
This adds requirements to TriangulationTraits2 concept :
Less_x_2 and Less_y_2 predicates.

Also fixes a few bugs in RT2 (hidden points were sometimes forgotten
in degenerate dimensions.)
2007-03-21 15:29:30 +00:00
Andreas Fabri 58a21dbe89 bugfix and code simplification 2007-03-15 18:08:18 +00:00
Andreas Fabri d9f901560e bugfix and get rid of warning 2007-03-15 15:35:47 +00:00
Sylvain Pion 930150c7ee - Remove some warnings, and some useless point copies. 2006-03-25 11:16:13 +00:00