Commit Graph

95 Commits

Author SHA1 Message Date
Efi Fogel 48cef11276 Used traits predicate instead of '==' operator 2003-04-09 18:43:51 +00:00
Efi Fogel d3c3a8d2f3 Used traits predicate instead of '==' operator 2003-04-09 18:37:26 +00:00
Efi Fogel dbc433b0e4 Clean up 2003-04-09 18:36:49 +00:00
Tali Zvi 3ce2a4133f Removed the call to curve_flip. 2003-03-30 20:57:01 +00:00
Tali Zvi 351249b03c Improved performance mostly by using hints to insert to the status line. 2003-03-30 18:24:46 +00:00
Tali Zvi 1c46314d09 Set the methods to be const. 2003-03-30 18:01:40 +00:00
Tali Zvi 96a84ef5b7 Implemented do_curves_intersect() 2003-03-09 20:13:45 +00:00
Tali Zvi 5f4ec73df6 Removed the global variable that was used to set compare function.
Instead I added a struct in the functor class that its member is
set when the compare function is changed.
2003-03-09 18:34:38 +00:00
Tali Zvi f3419ef1d0 A new wrapper class to the Sweep_line_tight_2 to hide the implementation
details of the Event and SubCurve classes.
2003-03-04 20:54:55 +00:00
Tali Zvi 9965fc6615 Commented an optimization that no longer works properly due to changes
in the traits.
2003-03-04 20:54:21 +00:00
Efi Fogel b9b38e0a24 Added typename back where necessary 2003-02-25 14:50:46 +00:00
Ron Wein 08a36b9bf1 Added preconditions to curve_compare_at_x_<left/right>() and remove curve_is_between_clockwise() to the triats wrapper. 2003-02-24 16:57:07 +00:00
Ron Wein 9e45f8b328 Fixed some long lines. 2003-02-24 08:12:36 +00:00
Ron Wein a3f9fe8edf Added a precondition to curve_get_point_status() and removed the special enum. 2003-02-24 08:10:37 +00:00
Tali Zvi 4a91c49e1d Modified the less functor to operate in two modes: compare_right and
compare_at. The first one is the old operation mode. The second one
is used in the FirstPass() function to catch degenerate cases.
A global variable is currently used to allow modifying the operation
mode.
2003-02-19 21:26:55 +00:00
Tali Zvi 083dc3f577 Fixed a typo. 2003-02-18 18:59:06 +00:00
Tali Zvi 42d468c058 Fixed the code so that curve_compare_at_x_right will not be called in case
the reference point is out of the range of the curves being compared.
2003-02-18 18:52:09 +00:00
Tali Zvi 756e3d79cb Fixed a bug with overlapping curves (there was an assumption that the two
end points of the overlapping curve are sorted by x).
Fixed code that allowed calling compare_at_x_right when the reference
point was not in the range of the curves.
Fixed documentation and debug output.
2003-02-18 18:49:56 +00:00
Ron Wein 4325587eab Added preconditions to curve_compare_at_x(), curve_compare_at_x_right() and curve_compare_at_x_left() 2003-02-11 11:15:00 +00:00
Efi Fogel 57cf4875d1 This is for Ron W., Replaced traits requirement compare_y with compare_xy 2003-02-09 14:00:57 +00:00
Efi Fogel 76ca3078b8 suppressed redundant assignment statement 2003-02-08 23:48:10 +00:00
Efi Fogel 8ff3124dec Another attempt to get around a compilation error on MSVC 6.0 2003-02-05 19:03:11 +00:00
Tali Zvi d4e01d7060 Modified the friend classes using template parameters, to avoid compilation
error in Borland (among others).
2003-01-29 20:48:14 +00:00
Efi Fogel bda5e4a6ef Removed reference to Ref_counted 2003-01-23 14:53:41 +00:00
Efi Fogel d315a3a68a shorten long names 2003-01-23 14:52:54 +00:00
Efi Fogel 95d76ee586 Changed category name to Has_left 2003-01-23 14:50:28 +00:00
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