Commit Graph

203 Commits

Author SHA1 Message Date
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 &hearts; 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
Sylvain Pion a17c7edac5 Removed the deprecated functions Cell:mirror_index() and Cell::mirror_vertex().
(deprecated since March 2005)
2008-07-28 16:15:02 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Sylvain Pion 68845e33ae - Use the new kernel typedefs K::Oriented_side and co.
- Use Kernel_traits<> instead of fetching ::R.
- Rename "pt" to "Point" for template argument to make it more uniform.
2008-07-17 08:27:13 +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 7918617ae4 removed Conflict_tester_for_find_conflicts_[2|3] that were redundant
to Conflict_tester_[2|3]
2008-07-04 09:35:56 +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
Camille Wormser a6d18262ae adds (finite_) incident_facets(Vertex) for the 2D case,
deprecates the usage of (finite_) incident_cells in the 2D case.
2008-06-05 02:51:51 +00:00
Sylvain Pion 2d5de17427 Slight optimization in draw_dual() 2008-04-30 08:16:19 +00:00
Camille Wormser 8d16e7529b removed an unused parameter (warning in some platforms of the test suite) 2008-04-21 13:12:30 +00:00
Laurent Rineau ed75d4f3f4 Remove an unused parameter.
People should compile their code with -O2 -Wextra, to see those warnings.
2008-04-21 07:41:52 +00:00
Camille Wormser 952afd12d8 removed unused code 2008-04-20 06:11:56 +00:00
Camille Wormser 646258adb8 finished rewriting the incident_*(vertex):
- all the code is factored around visit_incident_cells.
- incident_edges has been added
- finite versions of all incident_*(vertex) have been added
  thanks to a Filter template parameter
2008-04-20 05:48:13 +00:00
Sylvain Pion 1d8779b171 Rename the following functions:
det2x2_by_formula
  det3x3_by_formula
  det4x4_by_formula
  det5x5_by_formula
  det6x6_by_formula
to:
  determinant

How cute...  a name independent of the dimension, and even readable !
2008-04-09 13:35:34 +00:00
Sylvain Pion ebb5e40b14 Remove casts to Sign.
They are useless since we merged the various enum types.
2008-04-09 13:09:17 +00:00
Sylvain Pion 643ea487a0 Remove casts to Comparison_result.
They are useless since we merged the various enum types.
2008-04-09 12:46:22 +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 b740e90de0 Rename the following functions:
sign_of_determinant2x2
  sign_of_determinant3x3
  sign_of_determinant4x4
  sign_of_determinant5x5
  sign_of_determinant6x6
to:
  sign_of_determinant

So that we have less dimension-dependent namings, at least internally...
2008-04-09 12:20:25 +00:00
Sylvain Pion c3ee0c0087 Remove CGAL_T2_USE_ITERATOR_AS_HANDLE and CGAL_T3_USE_ITERATOR_AS_HANDLE
as they are now always defined and things work.
2008-04-03 12:14:58 +00:00
Sylvain Pion 028d3cfc73 Add missing operator==(CGAL_NULL_TYPE) for the Face_circulator.
Other cleanups.
2008-04-03 11:56:16 +00:00
Camille Wormser 049a65f766 adds incident_edges and factors all incident_* code
by wrapping everything around a visit_incident_cells
method.
2008-04-01 14:44:18 +00:00
Sylvain Pion a47abc28d1 Use <boost/bind.hpp> instead of <CGAL/functional.h>. 2008-03-10 01:21:00 +00:00
Sylvain Pion 6a9740d043 Remove obsolete workarounds for __sgi. 2008-01-20 23:09:58 +00:00
Sylvain Pion 07d41fe4c8 Add preconditions in set_neighbor() that a cell is not the neighbor of itself. 2008-01-10 22:43:26 +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 ea0b9ea02b Disable short name macros for T2 and T3 to see if they are
still really needed.
2007-12-30 23:54:19 +00:00