Commit Graph

119 Commits

Author SHA1 Message Date
Efi Fogel 53415657dc cleanup 2003-01-23 14:49:30 +00:00
Tali Zvi f224e38dd5 Added includes are required. 2003-01-19 22:02:49 +00:00
Tali Zvi 2e7a62aadf Fixed a small debug line that did not compile. 2003-01-14 19:25:03 +00:00
Tali Zvi 26d46420e1 Combined common methods in Sweep_lin_tight by passing the tag as a
template argument.
Added comments and documentation.
2003-01-13 20:54:24 +00:00
Tali Zvi 7bd4aaf287 Added code to avoid inserting curves to events more than once in
case one of the curves is vertical.
2002-12-30 19:42:57 +00:00
Tali Zvi c2035f08ce Fixed a bug with calculating a reference point. 2002-12-30 19:42:22 +00:00
Tali Zvi 345fb24eb9 Removed printouts. 2002-12-30 09:12:19 +00:00
Tali Zvi e90ec34ec8 Renamed Sweep_line_base to Sweep_line_tight 2002-12-30 08:43:04 +00:00
Tali Zvi 127c440051 Added support to report a unique list of subcurves.
That is overlapping curves are reported only once.
2002-12-29 14:07:57 +00:00
Tali Zvi 2c801ff28a Added typenames to resolve g++ 3.2 compiler warnings. 2002-12-29 14:06:57 +00:00
Tali Zvi 2caff56b54 Fixed some debugging information. 2002-12-26 11:02:51 +00:00
Tali Zvi 96e6f118f5 Moified the Sweep_line class to be templated with an event class and
a subcurve class.
The event is templated with the subcurve class.
All these changes are to allow using the sweep to create a planar map.
2002-12-24 10:38:34 +00:00
Tali Zvi 2f1daf97d2 Added support for vertical curves and overlapping curves. 2002-12-19 12:39:34 +00:00
Tali Zvi 377c18a8f4 Removed printouts. 2002-12-12 15:20:57 +00:00
Tali Zvi be78c13a67 Fixed a bug related to reporting internal intersection points only. 2002-12-12 14:50:41 +00:00
Tali Zvi ed619bf911 minor changes. 2002-12-11 15:43:24 +00:00
Tali Zvi 03246133c1 Removed unused code. 2002-12-11 15:38:47 +00:00
Tali Zvi db47ee96c6 Added support for vertical curves. 2002-12-09 15:33:41 +00:00
Tali Zvi d237c67ee9 Fixed a bug in the "sorting" of the left curves in an event.
Added ids to events and curves for debug purposes.
2002-12-02 15:03:50 +00:00
Efi Fogel 989f511f30 Moved definition of templated functions into class to pasify MSVC 2002-12-01 20:46:45 +00:00
Tali Zvi 248eadad85 Fixed a bug in the sorting of curves in an event. 2002-12-01 15:52:26 +00:00
Tali Zvi f330286f0c Removed printouts. 2002-12-01 15:50:45 +00:00
Tali Zvi f78d341cf5 Added new implementation of the sweep line algorithm. 2002-12-01 10:26:46 +00:00
Efi Fogel 8c9d8dd0d0 Moved methods inside their class so that it compiles by MSVC 2002-11-20 09:01:26 +00:00
Efi Fogel 08280a018b introduced intersection tag 2002-11-14 15:28:51 +00:00
Tali Zvi 13300365b9 Code cleanup. 2002-11-07 09:40:54 +00:00
Tali Zvi 36f8d4631d Fixed file name. 2002-11-07 09:39:13 +00:00
Tali Zvi 2fc7c717ad Moved the implementation in the various files into one main class to
handle all Sweepline interface.
2002-11-03 14:06:14 +00:00
Tali Zvi 92d083ef27 The implementation of this has been moved to Sweep_lie_2.h. 2002-11-03 14:01:40 +00:00
Tali Zvi 6bb1811e40 The implementation of this has been moved to m_aggregate_insert.h in
the Arrangement package.
2002-11-03 14:00:42 +00:00
Tali Zvi f91e28eb58 Added a reset() method so that methods in a single instance
of the class can be called more than once.
Removed unused methods.
2002-11-03 13:59:34 +00:00
Tali Zvi 9beab45717 The global functions have been replaced with methods in Sweep_line_2.h. 2002-11-03 13:58:22 +00:00
Tali Zvi ecf05e7608 Mostly code cleanup (removed debug messages).
Improved the data structure initialization.
Fixed a bug that occured when the input Planar Map was not empty.
2002-10-24 14:28:30 +00:00
Tali Zvi 51e1719e9b Due to a bug in MSVC, the Point_plus_rep could not be templated with
a subdivision class. Therefore, I modified the class so it is templated
with traits and vertex_handle classes instead.
2002-10-24 14:27:24 +00:00
Tali Zvi 85bedd9ef6 Fixed a performance bug in the sweep. When calling the insert functions
on the planar map, I made sure the non-intersect version of the inserts are
being called.
I also cleaned up the code a bit.
2002-10-23 13:29:16 +00:00
Tali Zvi d811cdbef5 Code cleanup. 2002-10-23 13:28:16 +00:00
Tali Zvi 925b372cdb I mostly cleaned up the code.
I also fixed the default constructor for the Point_plus_handle.
2002-10-23 13:25:39 +00:00
Ester Ezra a9a37aa295 Cutting lines to 80 columns. 2002-10-03 17:07:33 +00:00
Ester Ezra c400bc610a F`ixing header. 2002-10-03 17:04:35 +00:00
Ester Ezra 50a6f5679f Adding the internal function sweep_to_report_intersecting_curves. 2002-10-03 12:39:52 +00:00
Ester Ezra 566130eabe The function reporting on all curves intersecting in a common point and
the point of intersection.
2002-10-03 12:38:15 +00:00
Ester Ezra 2ad6ddf9ea Adding the internal function sweep_do_curves_intersect, which checks whether
a given collection of curves contain intersections.
2002-10-02 16:35:41 +00:00
Ester Ezra 3f5ce683b8 Adding the field intersection_exist_ for the new sweep-line function
sweep_do_curves_intersect_2.
2002-10-02 16:34:22 +00:00
Ester Ezra 614d98adad The sweep line function checking whether a given collection of curves contain
intersections (in the entirior of the curves) .
2002-10-02 16:31:06 +00:00
Sylvain Pion 972ec4f898 - Fixes for SunPro.
- Add missing typename.
- Remove "unused argc" in the test-suite.
2002-04-25 21:17:50 +00:00
Shai Hirsch d1f6b3a5f9 Typos 2002-04-24 17:27:53 +00:00
Shai Hirsch fb5d5b4232 Removing CGAL_ALLOCATOR until error is resolved. 2002-04-24 17:23:56 +00:00
Ester Ezra 20d82c62b7 Changing the name edge_points -> endpoints 2002-04-16 14:09:21 +00:00
Efi Fogel 74ea42678a Removed redundant <source> parameter from insert_from_vertex() calls 2002-04-12 23:10:53 +00:00
Efi Fogel 7d2c5d51ef Porting to MSVC 2002-04-12 20:44:38 +00:00
Eran Leiserowitz e1f5bf7178 fixed 80 letters per line problem 2002-03-21 15:59:33 +00:00
Eran Leiserowitz e882c262c8 fixed indentation 2002-03-21 15:58:48 +00:00
Eran Leiserowitz c78f2fbb62 added a file header 2002-03-21 15:55:05 +00:00
Eran Leiserowitz 80e23dcfba added a tpedef for a derieved class, to avoid a -pedantic error 2002-03-21 13:27:44 +00:00
Eran Leiserowitz 152e12f885 fixed file name in the file header 2002-03-20 13:02:34 +00:00
Eran Leiserowitz 0d0209d3e4 changed temporary X_curve vars to X_curve_plus, fixed cout line flow 2002-03-19 10:17:01 +00:00
Ester Ezra 3ef1baab0c Fixing a spelling mistake in the ifdef line. 2002-02-26 18:27:01 +00:00
Ester Ezra 65f826f4ad An auxilaiary class for Sweep_line_to_planar_map_2.
It contains a point and its corresponding vertex handle.
2002-02-21 11:53:40 +00:00
Ester Ezra caa969ab8e . 2002-02-21 11:52:26 +00:00
Ester Ezra 7cc2319d0d *** empty log message *** 2002-02-21 11:52:03 +00:00
Ester Ezra c8e96e71c4 . 2002-02-18 16:24:47 +00:00
Ester Ezra 4736284fd1 1. Adding the usage in the function handle_overlapping_curves.
2. Arranging 80 chars in line.
2002-02-18 14:58:20 +00:00
Ester Ezra 2e92815b62 Arranging 80 chars in line. 2002-02-18 14:57:42 +00:00
Ester Ezra 9f38198ef6 Inheriting the Sweep_curves_base_2 class.
Implementing:
1. The sweeping of curves to a container of disjoint-interior subcurves.
2. The sweeping of curves to a container of the arrangement (induced by the input curves) points.

Major functions:
1. sweep_curves_to_subcurves.
2. sweep_curves_to_points.

Major auxiliary function: update_subcurves. This function inserts to the subcurves
container non-intersecting subcurves on each event.
2002-02-17 21:03:19 +00:00
Ester Ezra 2640e25e60 Inheriting the Sweep_curves_base_2 class.
Implementing the sweeping of curves to a planar map.
Major function: sweep_curves_to_planar_map.
Major auxiliary function: update_subdivision. This function inserts to the planar map
non-intersecting subcurves on each event.
2002-02-17 20:59:11 +00:00
Ester Ezra 14d36e43da The base class of the Sweep line package.
Includes basic types and common functions.

The basic types provided are:
1.  Curve_node. A curve of the sweep line which consists the input curve and a list
	of the intersection points along it.
2. Intersection_point_node. A point of the arrangement induced by the input curve.
	Each such point holds all Curve_nodes enamating from it, ordered in a counrer
	clockwise order.
3. less_xy. A binary predicate orders two points lexicographically by their xy values.
4. less_yx. A binar predicate orders two Curve nodes on the status line.

5. Event queue: The queue structure of the sweep line algorithm.
6. Status line: The status structure of the sweep line algorithm.

The basic functions provided are:
1. handle_one_event: Handle on event from the event queue.
2. handle_overlapping_curves: Handle overlapping curves on the status after handling an event.
3. check_status_neighbors_intersection: Check for new neighbors on the status line and create new
events if needed.
2002-02-17 20:54:54 +00:00
Ester Ezra 4a2d7a548a The global function sweeping curves and contructs their correponsing intersection
points, an option to add the input points is provided.
2002-02-17 20:45:29 +00:00
Ester Ezra fad8a8bac3 The global function sweeping curves and contructs their correponsing disjoint-interior
subcurves.
2002-02-17 20:44:41 +00:00
Ester Ezra be0753f136 The global function sweeping curves and contructs their planar map. 2002-02-17 20:43:51 +00:00