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
Sébastien Loriot
bb39c7d194
bug in Facet_extractor: missing * and ++
2010-06-25 12:58:37 +00:00
Laurent Rineau
0625b6c6bd
int -> std::size_t|size_type
2010-06-24 13:27:44 +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
97c2754da5
As the insertion of points in a regular triangulation can reduce the number of vertices we have to replace size_t with ptrdiff_t
2010-06-21 16:06:01 +00:00
Andreas Fabri
f555a82e17
int -> size_type/std::size_t
2010-06-21 14:16:24 +00:00
Andreas Fabri
c79a1ebbf6
int -> size_type/std::size_t
2010-06-21 14:12:02 +00:00
Laurent Rineau
8679a3911e
Merged revisions 56835,56864-56870,56876,56895-56897 via svnmerge from
...
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r56835 | lrineau | 2010-06-17 12:56:52 +0200 (Thu, 17 Jun 2010) | 6 lines
Remove the constructor Gmpfr(long double) on Microsoft Visual C++. A big
comment in the source code explains why.
The testsuite will check that the construction of Gmpfr from a long double
on MSVC still works and produces the right Gmpfr.
........
r56864 | afabri | 2010-06-18 11:04:47 +0200 (Fri, 18 Jun 2010) | 1 line
Use tie from boost::
........
r56865 | afabri | 2010-06-18 11:11:49 +0200 (Fri, 18 Jun 2010) | 1 line
Use bind from boost::
........
r56866 | afabri | 2010-06-18 11:38:50 +0200 (Fri, 18 Jun 2010) | 1 line
Use bind from boost:: (detected in Mesh_3 VC10 testsuite)
........
r56867 | lrineau | 2010-06-18 11:39:24 +0200 (Fri, 18 Jun 2010) | 3 lines
cmake-2.8.2rc2 is out.
/bigobj is necessary
........
r56868 | afabri | 2010-06-18 11:52:37 +0200 (Fri, 18 Jun 2010) | 1 line
Add #include <fstream>
........
r56869 | afabri | 2010-06-18 11:55:33 +0200 (Fri, 18 Jun 2010) | 1 line
Shorten filename as with path it exceeds easily 256 letters which poor Visual C++ can't handle
........
r56870 | afabri | 2010-06-18 12:24:30 +0200 (Fri, 18 Jun 2010) | 1 line
Use tie from boost::
........
r56876 | lrineau | 2010-06-18 16:40:36 +0200 (Fri, 18 Jun 2010) | 3 lines
New try to fix the issue of Gmpfr(long double) with MSVC and libmpfr-1.dll
compiled by Mingw.
........
r56895 | lrineau | 2010-06-20 23:16:40 +0200 (Sun, 20 Jun 2010) | 3 lines
Using boost::bind is not sufficient" "bind" without qualifier was
ambiguous, according to MSVC2010, with std::bind (from C++0x).
........
r56896 | lrineau | 2010-06-20 23:18:29 +0200 (Sun, 20 Jun 2010) | 3 lines
Qualify "bind" with "boost::", to avoid the ambiguity (according to
MSVC2010), with std::bind (C++0x).
........
r56897 | lrineau | 2010-06-20 23:19:17 +0200 (Sun, 20 Jun 2010) | 2 lines
Stupid typo!
........
2010-06-20 21:48:20 +00:00
Sébastien Loriot
4d0e30fd74
add comments
2010-06-16 15:04:30 +00:00
Sébastien Loriot
cf43255df7
Remove recursive call of create_star_3:
...
--create an internally used vector that can reserve its size when constructed
--create an internally used class to store information required to emulated the call stack
--the stack used to emulate the call stack is a static thread-safe vector of the function (thus a memory overhead)
These choices have been made so that the running time of the triangulation is still the same.
2010-06-16 12:27:22 +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
da7051d179
fixing missing this->
2010-05-31 09:58:31 +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
Sébastien Loriot
e3c0dd54fb
change private to protected (needed by 'using locate' in Alpha_shape_3 class)
2010-05-13 06:39:52 +00:00
Andreas Fabri
beaff6d265
Add 'using' statement for ansi-compliance
2010-05-11 07:08:10 +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
Sylvain Pion
85dc12f2a7
Remove empty lines at beginning and end of files
...
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Andreas Fabri
968a4abc45
std::min -> (std::min) for VC++
2010-01-27 14:49:38 +00:00
Andreas Fabri
d2d5e9df50
Remove random_shuffle from insert(b,e) functions as spatial_sort does it now
2010-01-27 14:24:29 +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
60ba9996f3
Replace CGAL::Random by Boost RNG (with geometric distribution)
...
in the hierarchy as well, to avoid global state sharing issues.
2010-01-26 16:02:53 +00:00
Sylvain Pion
84932f89cc
Make locate() deterministic using Boost RNGs.
...
The previous approach using a local CGAL::Random failed because it still uses a
global state through drand48()...
2010-01-26 14:55:44 +00:00
Sylvain Pion
ce3541e210
Improve locate() reproducibility.
2010-01-25 12:11:45 +00:00
Sylvain Pion
033d3ce790
Use Compact_container::owns_dereferencable() in order to speed up is_vertex,
...
is_edge, is_facet and is_cell.
In passing, fix bugs as the end iterators/handles were incorrectly treated !
2010-01-23 17:30:58 +00:00
Andreas Fabri
8ea590cec5
Add operator for MSVC 2005/2008 to avoid a matching ambiguity
2010-01-21 16:51:49 +00:00
Sylvain Pion
266a053335
More debugging aid : add an is_simplex() function to [expensive] check that
...
the handle passed to locate() belongs to the triangulation.
2010-01-14 23:20:18 +00:00
Sylvain Pion
a8e748d109
Bug-fix (for bug reproducable with probability ~1/50 with the test-suite) :
...
the "loc" Cell_handle was used after being invalidated by a call to insert()...
Note : this bug was also present in 3.5 (at least).
2010-01-14 18:08:46 +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
Manuel Caroli
4bcee3abdf
add geometric access functions point(...) +doc + tests
2009-12-04 12:14:50 +00:00
Sébastien Loriot
328fb9dfa4
correct bug in Compare_weighted_squared_radius_3::operator() with one point
2009-12-02 18:16:41 +00:00
Sylvain Pion
c37d102615
I ♥ VC++ !
2009-11-17 15:29:24 +00:00
Andreas Fabri
531ac243cc
Remove CGAL_CFG_MATCHING_BUG_6
2009-11-17 09:25:57 +00:00
Sylvain Pion
76a8ae7aaf
Forgot one conversion...
2009-11-10 13:44:05 +00:00
Sylvain Pion
0e26ea1bcc
Minor formatting changes.
2009-11-10 13:33:52 +00:00
Sylvain Pion
d09319501c
Use canonical form for for-loops over iterator ranges.
2009-11-10 12:53:07 +00:00
Sylvain Pion
228d3f6805
Introduce a symetric set_up_down() function which does both
...
set_up and set_down.
2009-11-10 12:29:16 +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
Sébastien Loriot
ba244ab842
correct wrong typedef
2009-10-23 20:27:04 +00:00
Sébastien Loriot
3f97a23120
add missing a public
2009-10-22 09:32:17 +00:00
Sébastien Loriot
ec6f2dbb9b
add no_deprecated_code macro
2009-10-20 21:54:12 +00:00
Sébastien Loriot
9b1e1f8b24
Regular_triangulation_filtered_traits_3 backward compatibility
2009-10-20 21:45:29 +00:00
Sébastien Loriot
910a6f94d6
Regular_triangulation_filtered_traits_3 is now deprecated
2009-10-20 21:44:47 +00:00
Sébastien Loriot
83d2efcd34
add operator() one wpoint to Compute_squared_radius_smallest_orthogonal_sphere_3
2009-10-20 17:48:26 +00:00
Laurent Rineau
83912b2952
Massive fix of svn:keywords properties, and $URL$ keyword.
2009-10-20 08:59:26 +00:00
Sébastien Loriot
b17dbb6348
copy-paste bug on windows platforms
2009-10-20 06:55:18 +00:00
Sébastien Loriot
7d50e382e1
take into account boolean stating wheather filter kernel and static filters should be used for regular_euclidean_traits_3.
...
This avoids the problem of specialization using the kernel type parameter of the traits.
2009-10-19 14:29:18 +00:00
Sébastien Loriot
1d86302f4f
remove accent
2009-10-15 13:42:57 +00:00
Laurent Rineau
9d7a29cc44
Fix the encoding of the accent in "S'ebastien Loriot": UTF-8!!
2009-10-15 13:29:53 +00:00
Sébastien Loriot
94e9b83218
add predicates Compare_weighted_squared_radius_3 in Regular traits which is the weighted equivalent of Compare_squared_radius_3 in the kernel. A semi-static filtered version is also provided.
2009-10-15 13:24:47 +00:00
Sébastien Loriot
a0ae099496
Add semi-static filtering for Power_test_3
2009-10-15 11:52:59 +00:00
Sébastien Loriot
6ff38dd39b
add parenthesis around terms of degree two to reduce the epsilon value while generating semi-static filters
2009-10-15 08:27:22 +00:00
Sylvain Pion
0e456b39d7
Remove useless comment.
2009-09-23 18:39:08 +00:00
Sylvain Pion
516f8d5eee
Same as revision 51948 on CGAL-3.5-branch :
...
Rename following the converging convention to prevent future incompatibility :
- Vertex_container -> Vertex_range
- Face_container -> Face_range
- Cell_container -> Cell_range
2009-09-15 17:12:03 +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
Sylvain Pion
4e4cf033dd
Swap initialization order of V[] and N[] so that it matches the declaration
...
order, in order to avoid a compiler warning.
2009-08-26 12:49:01 +00:00
Sylvain Pion
8573fe26ce
Rename CGALi to internal.
2009-08-24 17:10:04 +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
7c29a486d7
This seems to bring 1-2% speed improvement.
...
At least on the Mac, and on x86-64 with recent (4.4+) gcc.
2009-08-17 11:54:24 +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
6a2d8f54d1
Add missing include, and a few minor changes in the manual.
2009-08-07 20:58:18 +00:00
Sylvain Pion
094505bb76
Define Face_circulator together with the other types.
2009-08-07 20:50:32 +00:00
Sylvain Pion
7f61ffff50
Add a Rebind_vertex and a Rebind_cell to the TDS that allow to get new TDS types
...
with changes vertex/cell types. Documented as advanced in the TDS concept.
2009-08-04 14:32:30 +00:00
Sylvain Pion
8fdac12e77
Add insert_in_hole() function overloads (in T3 and TDS_3) taking an additional
...
Vertex_handle argument that specifies the vertex to be used for the new vertex
(instead of creating a new one internally).
2009-08-04 13:48:07 +00:00
Sylvain Pion
395b1d569e
Remove white spaces at end of lines.
2009-08-04 13:36:15 +00:00
Sylvain Pion
f846f65dcf
Fix indentation (4-spaces tabs had been introduced by Camille...).
2009-08-04 13:29:40 +00:00
Sylvain Pion
cb7bbc1619
Minor cleanup (un-share variable).
2009-08-04 12:58:30 +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
Manuel Caroli
ebdb067ab8
adding method insert that takes the return values of a point location query
...
to the triangulation hierarchy.
2009-05-12 15:10:42 +00:00
Sylvain Pion
7df2a2df3b
Remover short name macros. See PR 1551.
2009-04-21 18:34:14 +00:00
Sylvain Pion
62aac76768
Actually, much better naming (Range concept like) :
...
vertex_container() -> vertices()
cell_container() -> cells()
2009-04-10 15:23:53 +00:00
Sylvain Pion
525ac5818a
Add vertex_container() and cell_container() to the TDS.
2009-04-10 15:05:43 +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
Laurent Rineau
6108848419
Test and fix the input/output operator of CGAL::Triangulation_3
...
*in binary mode*.
2008-11-14 11:59:14 +00:00
Camille Wormser
0e0975df31
same derecursion, for find_conflict, this time.
2008-11-14 10:43:11 +00:00
Camille Wormser
182c824db5
Iterative version of the incident_...(vertex) methods.
...
See Andreas' e-mail:
> I just had a look at the code. The problem is that it calls
> incident_cells, which is implemented recursively, and for a
> vertex with many incident cells, as in your case the infinite
> vertex, the stack is full.
>
> We have to put it on our todo list.
I did it for 3D only because the degenerate 2D case should be
handled by the circulator anyway.
I did not add the test which explodes the call stack (in case we plug
the recursive version): too slow for a testsuite. But incident_...
methods are used everywhere in the code anyway.
2008-11-14 04:27:18 +00:00
Sylvain Pion
4aa1cb057a
Remove my email adress from header files.
2008-10-11 20:21:08 +00:00
Manuel Caroli
25a4741b11
revert change, code was right before
2008-09-15 20:54:02 +00:00
Manuel Caroli
a1802d060c
pass assignment operator argument as reference
2008-09-15 19:36:15 +00:00
Sylvain Pion
eede712857
- Fix "warning: array subscript is above array bounds" with g++ -O3.
...
It was actually a real bug.
- Rewrote the loops for clarity as well.
2008-08-20 08:37:44 +00:00
Sylvain Pion
051a87a8d6
Rename CGAL_kernel_assertion to CGAL_triangulation_assertion.
2008-08-12 13:56:13 +00:00
Sylvain Pion
93cae6500f
Remove deprecated functions find_conflicts_2 and find_conflicts_3
...
(deprecated in 2006, and internal).
2008-07-28 18:16:14 +00:00