Commit Graph

565 Commits

Author SHA1 Message Date
Sylvain Pion b3d61591fa - Put nb as static data member, instead of static in a function, which
prevents GCC 2.95 from inlining.
2001-10-18 10:20:34 +00:00
Sylvain Pion b500db5dc4 - Missing std:: detected by CodeWarrior. 2001-10-17 16:10:12 +00:00
Sylvain Pion fcda2d8b5b - Put the testers private. 2001-10-03 09:12:57 +00:00
Sylvain Pion e58f10939d - Remove old Delaunay remove 2D code.
- Remove now useless clear_cells_only().
2001-10-02 09:01:58 +00:00
Sylvain Pion 85ababf8b0 - Proper remove_2D() implementation based on code from Delaunay_2. 2001-10-02 08:53:08 +00:00
Sylvain Pion 83333b2b33 - Face_circulator and incident_faces() for the 2D case.
- various create_face() functions copied from TDS_2.
2001-10-02 08:48:45 +00:00
Sylvain Pion 880df8ddd4 - Face_circulator for the 2D case. 2001-10-02 08:39:15 +00:00
Sylvain Pion ca818c4254 - Cleanup/formatting.
- Add a precondition v!=NULL in remove().
2001-10-01 19:45:04 +00:00
Sylvain Pion c5bc679281 - Natural_neighbors_3 friend of Delaunay_3. 2001-10-01 17:26:13 +00:00
Sylvain Pion d9bd82f1ea - Better formatting. 2001-10-01 13:57:12 +00:00
Sylvain Pion 49dc2e3d88 - TDS::Edge/Facet iterators now support operator->().
- T_3::Vertex_iterator -> All_vertices_iterator and similar.
- Point_iterator.
2001-10-01 11:47:42 +00:00
Sylvain Pion 05e98253e2 - Line too long. 2001-10-01 08:38:17 +00:00
Sylvain Pion ad71db665a - Treat more corner cases, smallest dimensions. 2001-09-28 18:07:56 +00:00
Sylvain Pion 170aece820 - some fixes and paranoia. 2001-09-28 15:32:44 +00:00
Sylvain Pion ac6d917882 - degree() returns int instead of unsigned.
- New functions : _reorient(), remove_decrease_dimension(),
  remove_from_simplex().
- Some functions work better in more dimensions : test_dim_down(),
  incident_vertices().
2001-09-28 12:48:46 +00:00
Sylvain Pion 07beca8227 - New function degree(v). 2001-09-27 16:06:12 +00:00
Sylvain Pion d0578874d6 - Use handles for the TDS_2 in remove(). 2001-09-27 15:35:58 +00:00
Sylvain Pion b80c618977 - BCC doesn't have a working std::unique_copy, so change incident_vertices(). 2001-09-27 11:15:23 +00:00
Sylvain Pion 44a5ece648 - New function TDS::create_face() to prepare for the merge TDS_2/TDS_3. 2001-09-27 10:18:15 +00:00
Sylvain Pion 2e24db5b41 - Use the iterators defined in CGAL/iterator.h. 2001-09-27 08:58:29 +00:00
Sylvain Pion 805c36b7ab - Change argument order of set_adjacency(). 2001-09-24 17:57:00 +00:00
Sylvain Pion 42994a87ed - Move set_number_of_vertices() into create_vertex()/delete_vertex(). 2001-09-24 11:50:01 +00:00
Sylvain Pion 9a76e764c1 - Missing typename for SunPro. 2001-09-24 08:14:37 +00:00
Sylvain Pion 4e8e1995c2 - line too long. 2001-09-21 08:48:18 +00:00
Sylvain Pion 4f0bff9669 - Fix thinkos. 2001-09-20 15:57:32 +00:00
Sylvain Pion 3b79035c4d - Adds is_edge(Vertex_handle u, Vertex_handle v) in TDS.
- Adds incident_cells() and incident_vertices() templated by output iterators.
- various improvements.
2001-09-20 10:37:25 +00:00
Sylvain Pion e3e3528f21 - New function find_conflicts(Point, Cell_handle, bfit, cit, ifit) in
Delaunay.
- New star_hole(Vertex_handle, cell_begin, cell_end, Cell_handle, int) in TDS.
- New Get_one_output_iterator.
- create_star_[23] are back ans faster.
2001-09-20 10:26:53 +00:00
Sylvain Pion cef5ebc5fe - More consts in the Conflict_testers. 2001-09-18 18:28:02 +00:00
Sylvain Pion 9138993d59 - const correcteness in remove() and co.
- New function : bool coplanar(p, q, r, s);
2001-09-18 17:57:28 +00:00
Sylvain Pion 26f53db953 - Finite_vertex_iterator -> Finite_vertices_iterator, idem for cell, facet and
edge.
2001-09-17 16:58:32 +00:00
Sylvain Pion 59b95be3ca - VC++ fixes. 2001-09-17 12:38:05 +00:00
Sylvain Pion 9e24f5a7d1 - SunPro fixes. 2001-09-17 11:41:56 +00:00
Sylvain Pion 4bf48624b3 - Replace &* by ->handle(). 2001-09-13 17:14:03 +00:00
Sylvain Pion 28f7114c42 - Compare_distance_3 is now required by Delaunay (moved from Hierarchy).
- Compare_[xyz]_3 and Equal_3 are replaced by Compare_xyz_3.
2001-09-13 16:35:49 +00:00
Sylvain Pion 491bf7e85f - Introduce a traits wrapper less_distance(). 2001-09-13 08:59:44 +00:00
Sylvain Pion d681ef0a60 - New internal function in Delaunay : nearest_vertex_in_cell(). 2001-09-12 16:36:58 +00:00
Sylvain Pion 87a160c8b6 - Use Pointer<> directly, no need for Triangulation_*_handle_3<>. 2001-09-11 15:45:51 +00:00
Sylvain Pion abdd13d718 - Lines too long. 2001-09-11 14:41:06 +00:00
Sylvain Pion 305e9efa7e - Add missing typedefs for GCC 3. 2001-09-11 14:24:03 +00:00
Sylvain Pion 9048c5ff7e - Add an assertion. 2001-09-11 14:20:42 +00:00
Sylvain Pion 74d356ca46 - Don't rely on the default ctor of handles. 2001-09-07 19:56:29 +00:00
Sylvain Pion 3a879d286c - Split *_iterators into Finite_*_iterators. 2001-09-07 19:06:33 +00:00
Sylvain Pion dad4705287 - TDS functions now use handles instead of pointers.
- Triangulation::Vertex == TDS::Vertex.  Idem for Cell.
- Handles can't be constructed from iterators/circulators : &* is needed.
- More simplifications.
2001-09-07 15:53:31 +00:00
Sylvain Pion 68e80f75c3 - for-scope bug for VC++. 2001-09-06 10:06:45 +00:00
Sylvain Pion 70e971f34e - New function TDS::delete_cells(begin, end). 2001-09-03 16:39:22 +00:00
Sylvain Pion fdad40eb7f - insert_conflict() now increases the number of vertices. 2001-09-03 16:21:26 +00:00
Sylvain Pion 0a18cf3b02 - Add delete_cells(begin, end).
- Add star_hole_[23]() versions deleting the old cells.
- Rewrite insert_in_edge() case dim==3 re-using code.
2001-09-03 16:19:01 +00:00
Sylvain Pion a9b6ef4770 - Be more storage efficient, and general clean up. 2001-09-03 16:14:03 +00:00
Sylvain Pion 18e7f467cd - Internal classes now templated either by Tds or Tr so they are more easily
reusable.
2001-08-31 17:45:50 +00:00
Sylvain Pion dfeb59e321 - Remove deprecated code. 2001-08-31 14:40:30 +00:00
Sylvain Pion 84cc95f90a - Move find_conflict() and insert_conflict() from the TDS to Triangulation.
- Rewrite TDS::create_star to TDS::star_hole_[23].
- New TDS internal functions change_orientation(Cell *) and
  set_adjacency(Cell *a, Cell *b, int a, int b).
2001-08-31 13:00:20 +00:00
Sylvain Pion 2d9def425a - Remove non default ctors.
- Various small modifications.
2001-08-31 12:44:28 +00:00
Sylvain Pion 44f2fd0d1b - Remove obsolete comment. 2001-08-31 11:47:09 +00:00
Sylvain Pion 744fed8117 - Removes instantiations of handle2pointer().
- Mark test_dim_down() const, and optimize it a bit by avoiding point copies.
2001-08-28 14:31:40 +00:00
Sylvain Pion 1c72acd547 - conflict_flat only needs to be a char. int is too big. 2001-08-28 14:16:07 +00:00
Sylvain Pion f584679a14 - Fix typo. 2001-08-28 14:15:34 +00:00
Sylvain Pion 6463443bea - Use new placement operator instead of allocator.construct() to avoid the
creation/copy/destruction of a temporary.
2001-08-28 12:11:19 +00:00
Sylvain Pion dcd22083b4 - Merge find_conflicts_2 and find_conflicts_3. 2001-08-27 17:24:40 +00:00
Sylvain Pion 9a3a39bc2e - number_of_cells() can use the one if the TDS which is faster. 2001-08-27 17:19:01 +00:00
Sylvain Pion 062fa9702a - Document the precondition is_vertex() to delete_vertex().
- Replace strange ds_cell constructor by the copy_constructor.
- Remove unused function init().
2001-08-17 17:30:31 +00:00
Sylvain Pion ebbb8ccd74 - Some cleanups to allow an expensive check for is_free(), given that the
default one may answer true when it's not (for the unlucky only :).
2001-08-17 17:09:58 +00:00
Sylvain Pion 53f21ca3f1 - Use DS_Container<Vertex> to store the vertices.
- Remove Triangulation_ds_vertex_iterator.
2001-08-17 16:31:16 +00:00
Sylvain Pion 72b0ccff1c - Make Free_elt more compact so that it can fit in the same size as the
smallest possible vertex.
2001-08-17 16:29:42 +00:00
Sylvain Pion 4eece15fa4 - Change the default. 8192 seems to be enough. 2001-08-17 14:23:15 +00:00
Sylvain Pion ac29c0c2ae - Change conflict_flag to unsigned. 2001-08-17 13:12:36 +00:00
Sylvain Pion 225f1aa0e8 - Remove obsolete code. The conflict flag no longer interacts with the
iterator.
2001-08-17 12:57:14 +00:00
Sylvain Pion e136d73779 - DS_Container uses an allocator.
- list_pointers moved out of ds_cell, and moved to a Free_elt class,
  placeholder for a free cell.
2001-08-17 12:48:45 +00:00
Sylvain Pion e9bb7f6985 - Use an anonymous union. 2001-08-16 12:26:54 +00:00
Sylvain Pion d4d9576e12 - New function Triangulation_3<>::collinear_position() which is a cleaner
replacement of all calls to compare_[xyz].
2001-08-14 16:42:12 +00:00
Sylvain Pion dabd538f51 - Circulators don't store a TDS* anymore as it's not used.
- ds_cell_iterator removed, replaced by DS_Container::iterator.
- other ds_iterators use the one above internally, also don't derive from
  Triangulation_utils_3.
- const correctness fixes.
2001-08-14 13:01:46 +00:00
Sylvain Pion d264245525 - Remove list pointer from ds_cell, to make it more compact. 2001-08-14 12:43:04 +00:00
Sylvain Pion 78cf8c8ea6 - TDS uses DS_Container. 2001-08-14 12:39:21 +00:00
Sylvain Pion fba31a1039 - New cell container. 2001-08-14 12:26:57 +00:00
Sylvain Pion 3ed5ceecfe - Commonize code between operator=() and copy_triangulation() in
Triangulation_3.h.
- Remove useless template arguments in the copy ctor.
2001-08-13 15:19:40 +00:00
Sylvain Pion 07ffc6e11e - Use std::swap instead of temporary variables in swap(). 2001-08-13 14:32:22 +00:00
Sylvain Pion 02cd2e8de9 - ds_cell doesn't derive from Triangulation_util_3 anymore, as this wasted
memory for nothing with GCC 2.95.
2001-07-31 09:04:53 +00:00
Sylvain Pion a9d9307b0f - Cleanup traits requirement : Construct_object_3. 2001-07-23 13:44:28 +00:00
Sylvain Pion e39c99682f - Don't put the traits' function objects as data members of the
triangulations.
2001-07-20 12:07:41 +00:00
Sylvain Pion df8a0961d6 - small cell list handling cleanup. 2001-07-20 12:06:29 +00:00
Sylvain Pion a74f95fdb9 - Replace Coplanar_orientation_3 taking 4 points, by the one taking 3 points.
- Remove Collinear_3 from the traits.
2001-07-18 14:21:26 +00:00
Sylvain Pion c1a779e871 - Fix mirror_vertex() and mirror_index(). 2001-07-18 12:15:22 +00:00
Sylvain Pion a0fa2007f7 - replace delete Cell by delete_cell() in Regular. 2001-07-13 10:07:51 +00:00
Sylvain Pion e758218d3a - copy_tds() cleanups. 2001-07-13 09:36:49 +00:00
Sylvain Pion 0fcb2d8854 - Small cleanups for order_of_creation. 2001-07-13 08:11:56 +00:00
Sylvain Pion 0cb69ceece - print_cells and read_cells small cleanup. 2001-07-10 19:26:05 +00:00
Sylvain Pion e559e0bd02 - New functions : TDS.create_vertex() and TDS.delete_vertex(). 2001-07-09 19:16:59 +00:00
Monique Teillaud 27e02c22c2 copy_tds modified to preserve the order_of_creation of vertices 2001-07-06 08:29:05 +00:00
Monique Teillaud eafd7146a0 cleanup 2001-07-05 09:46:25 +00:00
Monique Teillaud 03f147798b in: std::ostream & operator<<
vertices are now output in the order of their creation
This is done to have no problem while removing vertices
in a Delaunay triangulation read from a file
2001-07-05 09:38:03 +00:00
Sylvain Pion 6d7e27f0f6 - Add a init() method to the cell base. 2001-07-03 11:27:01 +00:00
Sylvain Pion 3e73d8fe2c - _previous_cell and _next_cell are not set in the cell constructor and
destructor automatically, so we do it by hand now for the list members of
  the TDS (via init_cell_list).
- add_cell made private.
2001-07-03 09:51:10 +00:00
Sylvain Pion 43beb5f9ce Remove add_cell 2001-07-03 09:44:23 +00:00
Sylvain Pion c9e2ee96af - Use tds.create_cell() instead of new Cell + add_cell. 2001-07-03 09:43:57 +00:00
Monique Teillaud 92d48ef9b3 *** empty log message *** 2001-07-02 09:39:59 +00:00
Monique Teillaud 3af7ca32ad print_cells and read_cells member functions of the tds 2001-06-29 12:48:16 +00:00
Sylvain Pion 12bba78be8 - Add new typedefs. 2001-06-22 09:17:22 +00:00
Monique Teillaud 9fc7da46a6 cosmetic changes 2001-06-21 19:39:11 +00:00
Monique Teillaud 43b93b29f5 auteurs verifies et mis a jour, entetes uniformisees 2001-06-21 18:03:45 +00:00
Monique Teillaud 5512f0e47f dual 2001-06-21 15:09:33 +00:00
Sylvain Pion def9164058 - Remove obsolete headers. 2001-06-21 13:38:29 +00:00
Monique Teillaud 2600f11b35 dual of cells and facets added 2001-06-21 13:30:59 +00:00
Monique Teillaud eb0ac8bd89 _3 removed in the names of the contruction function objects 2001-06-21 13:30:30 +00:00
Sylvain Pion 0378cb030b - Use correct standard headers. 2001-06-20 18:56:56 +00:00
Monique Teillaud c9b9baee45 missing preconditions added in insert_conflict 2001-06-20 10:15:54 +00:00
Monique Teillaud 3ab6e40ad8 missing #include <CGAL/basic.h> added 2001-06-20 09:20:32 +00:00
Monique Teillaud 8cb7425a05 cut line > 80 char 2001-06-19 14:53:04 +00:00
Andreas Fabri c5173a44ad undo of the previous change and simplification of the signature of clear_cells_only 2001-06-19 14:36:22 +00:00
Andreas Fabri d1f2c4fdb6 put body of clear_cells only in the class definition.
Otherwise it does not compile on Borland
2001-06-19 13:19:23 +00:00
Monique Teillaud 5bd678a5a9 default template parameters 2001-06-18 20:52:12 +00:00
Sylvain Pion 311ba3db9a - Remove a "new Cell" in Triangulation_3.
- Privatize a few member functions of TDS.
2001-06-15 14:06:40 +00:00
Sylvain Pion 3a5630d3af - Add short names for Triangulation_hierarchy_vertex_base_3 and
Triangulation_hierarchy_3 .
2001-06-14 14:01:06 +00:00
Sylvain Pion ad2c4d0638 - Remove warning from last change. 2001-06-14 09:22:41 +00:00
Sylvain Pion 929360a714 - Change prototype of tds::clear_cells_only() to avoid unnecessary vector
copy.
2001-06-13 13:59:25 +00:00
Sylvain Pion 5f947ebea9 - Cleanup vertex_3 and cell_3.
- Move #include <...short_names> before all the others.
2001-06-07 16:54:21 +00:00
Sylvain Pion b1a71bb0ab - Add missing typename for MipsPro. 2001-06-05 07:36:50 +00:00
Sylvain Pion 169c9e1399 - Add a warning when using deprecated functions. 2001-06-01 08:29:10 +00:00
Sylvain Pion 7cf39e572c - preconditions(is_vertex()) changed to expensive. 2001-06-01 08:14:16 +00:00
Sylvain Pion 31e8679975 - Use std::vector instead of std::list, with a reserved size : 7% speed up. 2001-05-31 17:10:39 +00:00
Sylvain Pion 5a93ae7d93 - Remove useless constructors.
- Add const to info().
- Formatting.
2001-05-31 16:06:45 +00:00
Sylvain Pion c893dab239 - Use Vertex_handle instead of Vertex * for the remove.
- Some better formatting.
2001-05-31 15:49:13 +00:00
Sylvain Pion 8e8baf7d3f - New short name :
#define Delaunay_remove_tds_halfedge_compare_3_2    DRthc32
2001-05-31 14:07:45 +00:00
Sylvain Pion f3e1b63ce5 - Remove traces of geometry in Delaunay_remove_tds. 2001-05-31 13:49:50 +00:00
Sylvain Pion 58edae48ab - Cleanup. 2001-05-31 08:50:04 +00:00
Sylvain Pion 5d9005da5c - Change function order to try to fix BCC. 2001-05-31 07:09:22 +00:00
Sylvain Pion 0cb7a829f4 - One more VC++ for()-scope workaround. 2001-05-31 06:34:41 +00:00
Monique Teillaud 9832d7d7e0 cleanup 2001-05-30 13:50:25 +00:00
Sylvain Pion 516872a46e - Hierarchy traits now uses Compare_distance_3. 2001-05-29 16:45:00 +00:00
Monique Teillaud 3bbf5ac20b useless on_unbounded_side in fill_hole cancelled 2001-05-29 09:14:42 +00:00
Sylvain Pion e6fb58bb8a VC++ fix 2001-05-28 12:45:36 +00:00
Sylvain Pion 392ff43801 - Move Triangulation_hierarchy_vertex_base_3<> in its own file. 2001-05-22 14:40:07 +00:00
Sylvain Pion 7671a475c2 - Fix lines too long.
- Remove obsolete and commented code.
2001-05-22 12:14:07 +00:00
Sylvain Pion e0cfd7d1ad - Better identifiable macro names. 2001-05-22 09:50:43 +00:00
Sylvain Pion a28b7b0db4 - Add new classes defined for the remove. 2001-05-22 07:05:58 +00:00
Sylvain Pion 33e8bcbac5 - Fix memory leak. 2001-05-21 20:36:34 +00:00
Sylvain Pion 37162f7184 - Regular works again 2001-05-18 18:04:09 +00:00
Monique Teillaud 825fc80a33 - all interfaces of tds.insertxxx() changed 2001-05-18 14:35:44 +00:00
Monique Teillaud 899790fc95 petit bug fix is_edge 2001-05-18 07:23:10 +00:00
Sylvain Pion 9bc6ef6b73 - Use the Delaunay test-suite for testing the hierarchy.
- remove() returns a bool.
2001-05-18 07:14:10 +00:00
Monique Teillaud f6dec9dc2f menage 2001-05-17 17:02:38 +00:00
Monique Teillaud 3858090f8f bug in is_edge() fixed 2001-05-17 15:10:30 +00:00
Sylvain Pion de4518e22c - Delete bad code. 2001-05-17 09:33:04 +00:00
Sylvain Pion 2d4e762673 - Fix BCC/KCC warning. 2001-05-17 08:53:34 +00:00
Sylvain Pion 6bcef5d831 - Formatting 2001-05-16 16:01:16 +00:00
Monique Teillaud 1e6f40a26a REMOVE IS WORKING !!!!!!!! 2001-05-16 12:42:55 +00:00
Sylvain Pion 8e7cf2ae3a - for() scope VC++ bug. 2001-05-05 07:38:49 +00:00
Sylvain Pion a858164b51 - Added push_back() member functions. 2001-05-04 11:19:49 +00:00
Sylvain Pion acca415438 - Remove old code. 2001-05-04 07:28:21 +00:00
Sylvain Pion 7058a2346c - Mega cleanup and speedup. 2001-05-03 16:06:29 +00:00
Sylvain Pion 2fefbd3605 - Mark the vertices which belong to cells in conflict by set_cell(NULL),
which allows to get rid of calling incident_vertices() which is costly.
  This brings a 30% improvement :)
2001-05-03 13:07:08 +00:00
Sylvain Pion 47f4f046a6 - Use POSITIVE instead of LEFTTURN when dealing with 3D orientation. 2001-05-02 15:25:10 +00:00