Commit Graph

138 Commits

Author SHA1 Message Date
Daniel Funke 77e2f38d6c move addition and deletion of tempoary points on far sphere into own methods 2015-04-22 13:10:15 +02:00
Daniel Funke 8d29fc6e6e Enable parallel insertion of points with info 2015-04-16 17:40:05 +02:00
Laurent Rineau 72e0a3e677 Fix warnings about signed/unsigned
The code involved is about TBB.
2015-01-21 12:59:07 +01:00
Clement Jamin 982f140911 Use tbb::task_scheduler_init::default_num_threads...
... instead of boost:🧵:hardware_concurrency
2014-07-02 15:10:34 +02:00
Clement Jamin 55ff0a9404 Add a warning in comments 2014-07-02 10:49:44 +02:00
Clement Jamin 5a6623c3fa Move typedef since Vector_3 is not available in all kernels
TODO: find a better fix later
2014-07-01 17:00:05 +02:00
Clement Jamin 7145f7db0b Replaced some C++11 lambda functions by functors +change mutex (static=>member) 2014-06-03 18:18:12 +02:00
Clement Jamin c9c8335811 More code clean-up 2014-05-27 13:46:34 +02:00
Clement Jamin ce17a717c7 Restore some profiling code and remove some 2014-05-27 13:33:33 +02:00
Clement Jamin 2f78d27bd3 Code clean-up 2014-05-27 13:21:16 +02:00
Clement Jamin 5101c3d2e7 Added my name in a few places + implementation history 2013-10-15 11:14:58 +02:00
Clement Jamin 29525dfcb7 Back-quotes for could_lock_zone and true + minor fixes + replace 0 by NULL 2013-10-15 10:27:35 +02:00
Clement Jamin fc10668b31 Spelling mistake + minor change 2013-07-23 17:17:38 +02:00
Clement Jamin 8aaee67985 Removed some "p_" prefixes in variable names 2013-07-12 15:49:45 +02:00
Clement Jamin fcdf906f06 Option to add temporary points on a far sphere before insertion
Helps to reduce contention on the infinite vertex
But removing those points in the end takes time
so it's only worth it when points lie on a surface.
2013-07-02 12:57:26 +02:00
Clement Jamin bc360c8b13 Changes for GCC compilation + removed some trailing spaces 2013-06-07 17:40:53 +02:00
Clement Jamin 440a654a58 Added a concurrency-safe version of DT3::find_conflicts + better doc 2013-06-05 17:23:19 +02:00
Clement Jamin b43f28c6ab Renamed p_could_lock_zone + use NULL instead of 0 + CGAL_TRIANGULATION_3_PROFILING 2013-06-05 13:44:34 +02:00
Clement Jamin 6a85889a1e New constructor + minor changes 2013-04-10 18:07:14 +02:00
Clement Jamin 1cc98e9abd Updated doc + code clean-up 2013-04-03 17:34:21 +02:00
Clement Jamin e6b33376bb Avoid multiple calls to tbb::enumerable_thread_specific::local() 2013-03-29 17:16:26 +01:00
Clement Jamin 4399f8218b Untabify (missed some of them last time) 2013-03-28 10:13:32 +01:00
Clement Jamin cc9dde002e Untabify 2013-03-27 15:30:46 +01:00
Clement Jamin c3e9699887 Clean-up + better "profiling" 2013-03-27 14:39:10 +01:00
Clement Jamin de1f43e30b The remove is now fully parallel.
The remove operations are done in parallel as long as the dimension stays = 3, then the few remaining points are removed sequentially.
2013-03-27 13:47:40 +01:00
Clement Jamin 57d84ecb24 New constructor for Tri_3 and TDS + new way of testing "dim down" in the 3D case
New constructor taking 4 non-coplanar vertices, for faster construction of very small triangulations => a 3D triangulation is directly constructed.
The new "test_dim_down_using_incident_cells_3" is used in the 3D and will be used by the parallel version.
2013-03-26 19:00:37 +01:00
Clement Jamin a29a847e55 Some tests with parallel removal of vertices. 2013-02-20 17:39:15 +01:00
Clement Jamin 44b8217d54 New/modified constructors for triangulations.
Can now take a lock data structure as parameter.
2013-02-19 10:39:39 +01:00
Clement Jamin bce43fbb8e Improved the way parallelism is handle in Mesh_3/Triangulation_3
Added a better support for parallelism in Triangulation_3.
Simplified how to enable/disable concurrency in Mesh_3.
Moved the Compact_container stategies to a new file.
2013-02-15 18:07:43 +01: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
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 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 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
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
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 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
Andreas Fabri 1e12152c5f int size_t fixes 2010-06-24 12:50:37 +00:00
Andreas Fabri d185e4152f Finally use ptrdiff_t as return type for insert(beg, end) 2010-06-23 13:35:35 +00:00
Andreas Fabri b456cdb994 int -> size_type/std::size_t 2010-06-21 20:31:19 +00:00
Andreas Fabri c79a1ebbf6 int -> size_type/std::size_t 2010-06-21 14:12:02 +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
Laurent Rineau 7e87099363 Merge the branch /branches/candidate-packages/Triangulation_3
- Work from:
    Pedro Machado Manhaes de Castro <Pedro.Machado@sophia.inria.fr>
    Olivier Devillers <Olivier.Devillers@sophia.inria.fr>
- The work is:
    - displacement for 3D triangulation (Olivier and Pedro)
         https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Move_T2T3
2010-05-31 08:48:09 +00:00
Laurent Rineau 7aedbdf5eb Missing using Tr_base:: (for strict ansi compliance) 2010-05-10 08:43:22 +00:00
Laurent Rineau c4d182b8c7 Oops. Typo.
Locate testing was not testing the right headers.
2010-05-08 11:35:32 +00:00
Laurent Rineau 2257b8b2ab Fix for strict-ansi compliance 2010-05-08 11:24:59 +00:00
Andreas Fabri 6edc1c3f73 Remove random_shuffle from insert(b,e) functions as spatial_sort does it now 2010-01-27 13:50:23 +00:00
Sylvain Pion f374ec280c Be paranoid : detect potential users of CGAL_DELAUNAY_3_OLD_REMOVE. 2010-01-13 16:32:32 +00:00
Sylvain Pion 45b6d32b62 Remove old (CGAL < 3.0) version of the remove() code (which could be triggered by CGAL_DELAUNAY_3_OLD_REMOVE).
No one complained about the new code, so let's remove the old remove.
2010-01-13 13:44:54 +00:00
Sylvain Pion d09319501c Use canonical form for for-loops over iterator ranges. 2009-11-10 12:53:07 +00:00
Sylvain Pion ba4092e0b1 After 7 years of deprecation, it's probably safe to make the code actually
match the spec by having remove return void and not bool anymore.
2009-11-10 12:01:49 +00:00
Sylvain Pion 828a6eeabc Merge the Triangulation_3_Location_policy branch.
- Deprecate the "hierarchy" implementation detail in the package API.
- Introduce a Location_policy parameter instead.
- Add a "Complexity and Performance" section in the user manual.
- Add a benchmark program (dont_submit'ed for now)

Note : merge done by hand as svnmerge.py got too easily confused...
2009-11-04 12:57:51 +00:00
Sylvain Pion 53bcc5fafe Remove traces of Natural_neighbors_3 (friendship declaration).
I can't find where this class is defined.
2009-09-06 16:19:30 +00:00
Sylvain Pion 7aa8c1535a Move internal files under CGAL/internal/ and their code under CGAL::internal:: . 2009-08-26 12:52:38 +00:00
Andreas Fabri 2b6c2a8488 VC++ doesn't know whether Tds is the template parameter or the inherited typedef ... Tds; which is defined in the scope of the base class Triangulation_3 2009-08-20 08:10:35 +00:00
Sylvain Pion 443277dab0 Pass Cell_handle and Vertex_handle by value instead of by const&. This undoes :
r19107 | afabri | 2003-10-17 10:49:19 +0200 (Ven 17 oct 2003) | 2 lignes
    Added const& for gaining performance

which was justified at the time by the fact that on VC++, handles encapsulated iterators.
2009-08-17 15:11:03 +00:00
Sylvain Pion 57603f0b3b Allow CGAL::Default for the TDS parameters of the three main triangulation classes.
(patch extracted from the Triangulation_3_Location_policy branch as it is mostly orthogonal)
2009-08-17 09:48:07 +00:00
Sébastien Loriot 129f5dda73 avoid using temporary point in side_of_sphere predicate of Delaunay_triangulation_3 (thus avoiding accessing the point of the infinite vertex) 2009-08-14 15:10:36 +00:00
Sylvain Pion 919321e300 Give the TDS the ability to store a more general Cell_data in cells,
than just an implicit access to a conflict_flag.
2009-08-11 20:05:42 +00:00
Sylvain Pion 395b1d569e Remove white spaces at end of lines. 2009-08-04 13:36:15 +00:00
Sylvain Pion ffedfc0d58 Add some locate() and insert() convenient overloads, taking the start hint as a
Vertex_handle (instead of the Cell_handle currently).
2009-07-24 21:57:38 +00:00
Sylvain Pion 7df2a2df3b Remover short name macros. See PR 1551. 2009-04-21 18:34:14 +00:00
Monique Teillaud ba9b7b7143 incident_vertices(vertex) renamed as adjacent_vertices()
old name left for backward compatibility (and old functions still tested)
2009-04-08 10:06:32 +00:00
Sylvain Pion 4aa1cb057a Remove my email adress from header files. 2008-10-11 20:21:08 +00:00
Sylvain Pion eff6efd3af CGAL_NULL and CGAL_NULL_TYPE are now constant macros, so replace them by:
- CGAL_NULL -> NULL
- CGAL_NULL_TYPE -> CGAL::Nullptr_t (typedef to const void *)
2008-07-12 21:58:52 +00:00
Manuel Caroli 7f70bb34c1 moved identical remove helper functions from
Delaunay_triangulation_3 and Regular_triangulation_3
to Triangulation_3
2008-07-03 12:11:31 +00:00
Manuel Caroli 3e82523f3c minor change due to warning in the test suite 2008-07-03 07:55:17 +00:00
Manuel Caroli 3a6da39537 introduced a visitor Vertex_remover and modified the functions called by remove
such that they are equal in both 
Delaunay_triangulation_3 and Regular_triangulation_3
2008-07-02 15:03:25 +00:00
Sylvain Pion 2d5de17427 Slight optimization in draw_dual() 2008-04-30 08:16:19 +00:00
Sylvain Pion b0f2c77fdc Remove casts to Oriented_side.
They are useless since we merged the various enum types.
2008-04-09 12:35:10 +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 b197e42c61 Slight optimization 2007-06-11 16:19:24 +00:00
Sylvain Pion ae242392dc Use CGAL_make_vector() 2007-04-02 20:19:14 +00:00
Christophe Delage a7f0ead112 Triangulation_3 iterator range insert and constructors now
use spatial_sort.
Examples and demos now call range insert when possible.
2007-03-30 09:30:22 +00:00
Nico Kruithof dd96d5559d removed extra template argument from find_conflicts to make SUN happy again. 2006-09-27 08:01:05 +00:00
Nico Kruithof 245a988b26 Coded one generic insert for Delaunay and regular. 2006-09-18 15:35:02 +00:00
Nico Kruithof 9c781b9d34 Merged find_conflicts_{2|3} into find_conflicts.
Deprecated find_conflicts_{2|3}.
2006-08-25 09:25:33 +00:00
Sylvain Pion a5c7104283 "equi-distant" -> "equidistant" 2006-08-07 16:13:17 +00:00
Sylvain Pion cf872de855 - Add a new TCellBase model Triangulation_cell_base_with_circumcenter_3,
which stores the circumcenter.
- Delaunay.dual() now calls the .circumcenter() function of the cell
  to retrieve it.
- It implies a new requirement on the TCellBase, for the Delaunay::dual()
  case, hence the default model T_cell_base_3 provides a new function
  (and the concept is updated).
2006-08-04 18:23:08 +00:00
Sylvain Pion 102341c2c6 Delaunay :
- add function .dual_support(Cell_handle, int) returning a Line_3.
- replace the requirements Plane_3, Construct_perpendicular_line_3
  and Construct_plane_3 by the new Construct_equi_distant_line_3.
2006-08-04 15:21:57 +00:00
Sylvain Pion b67eec7d14 Remove blanks at end of line 2006-08-04 15:18:36 +00:00
Laurent Saboret db6a8f948c Change CVS keywords to SVN style 2006-02-16 14:30:13 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret ee07ad352c Move packages to trunk root 2006-02-14 08:58:20 +00:00