mirror of https://github.com/CGAL/cgal
Fixed boundary tags
This commit is contained in:
parent
c0279e9ed3
commit
47c817d741
|
|
@ -23,14 +23,18 @@
|
||||||
#ifndef CGAL_NO_INTERSECTION_SURFACE_SWEEP_2_H
|
#ifndef CGAL_NO_INTERSECTION_SURFACE_SWEEP_2_H
|
||||||
#define CGAL_NO_INTERSECTION_SURFACE_SWEEP_2_H
|
#define CGAL_NO_INTERSECTION_SURFACE_SWEEP_2_H
|
||||||
|
|
||||||
|
#include <CGAL/license/Surface_sweep_2.h>
|
||||||
|
|
||||||
/*! \file
|
/*! \file
|
||||||
*
|
*
|
||||||
* Definition of the No_intersection_surface_sweep_2 class.
|
* Definition of the No_intersection_surface_sweep_2 class.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <iterator>
|
||||||
#include <boost/mpl/assert.hpp>
|
#include <boost/mpl/assert.hpp>
|
||||||
|
|
||||||
#include <CGAL/license/Surface_sweep_2.h>
|
|
||||||
#include <CGAL/assertions.h>
|
#include <CGAL/assertions.h>
|
||||||
#include <CGAL/memory.h>
|
#include <CGAL/memory.h>
|
||||||
#include <CGAL/Surface_sweep_2/Event_comparer.h>
|
#include <CGAL/Surface_sweep_2/Event_comparer.h>
|
||||||
|
|
@ -38,9 +42,6 @@
|
||||||
#include <CGAL/Multiset.h>
|
#include <CGAL/Multiset.h>
|
||||||
#include <CGAL/Arrangement_2/Arr_traits_adaptor_2.h>
|
#include <CGAL/Arrangement_2/Arr_traits_adaptor_2.h>
|
||||||
#include <CGAL/Arr_tags.h>
|
#include <CGAL/Arr_tags.h>
|
||||||
#include <vector>
|
|
||||||
#include <algorithm>
|
|
||||||
#include <iterator>
|
|
||||||
|
|
||||||
#ifndef CGAL_SS_VERBOSE
|
#ifndef CGAL_SS_VERBOSE
|
||||||
|
|
||||||
|
|
@ -144,10 +145,21 @@ public:
|
||||||
);
|
);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
typedef typename Arr_are_all_sides_oblivious_tag<
|
/*!
|
||||||
Left_side_category, Bottom_side_category,
|
*/
|
||||||
Top_side_category, Right_side_category >::result
|
typedef typename Arr_all_sides_oblivious_category<Left_side_category,
|
||||||
Are_all_sides_oblivious_category;
|
Bottom_side_category,
|
||||||
|
Top_side_category,
|
||||||
|
Right_side_category>::result
|
||||||
|
All_sides_oblivious_category;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
*/
|
||||||
|
typedef typename Arr_sides_category<Left_side_category,
|
||||||
|
Bottom_side_category,
|
||||||
|
Top_side_category,
|
||||||
|
Right_side_category>::result
|
||||||
|
Sides_category;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef CGAL::Surface_sweep_2::Event_comparer<Traits_adaptor_2, Event>
|
typedef CGAL::Surface_sweep_2::Event_comparer<Traits_adaptor_2, Event>
|
||||||
|
|
@ -424,7 +436,9 @@ protected:
|
||||||
* \param sc The subcurve corresponding to cv.
|
* \param sc The subcurve corresponding to cv.
|
||||||
*/
|
*/
|
||||||
void _init_curve_end(const X_monotone_curve_2& cv, Arr_curve_end ind,
|
void _init_curve_end(const X_monotone_curve_2& cv, Arr_curve_end ind,
|
||||||
Subcurve* sc);
|
Subcurve* sc, Arr_all_sides_oblivious_tag);
|
||||||
|
void _init_curve_end(const X_monotone_curve_2& cv, Arr_curve_end ind,
|
||||||
|
Subcurve* sc, Arr_not_all_sides_oblivious_tag);
|
||||||
|
|
||||||
/*! Handle the subcurves that are to the left of the event point (i.e.,
|
/*! Handle the subcurves that are to the left of the event point (i.e.,
|
||||||
* subcurves that we are done with).
|
* subcurves that we are done with).
|
||||||
|
|
@ -435,7 +449,9 @@ protected:
|
||||||
* Such an event is usually the left endpoint of its incident right
|
* Such an event is usually the left endpoint of its incident right
|
||||||
* subcurves, and we locate their position in the status line.
|
* subcurves, and we locate their position in the status line.
|
||||||
*/
|
*/
|
||||||
void _handle_event_without_left_curves();
|
void _handle_event_without_left_curves(Arr_all_sides_oblivious_tag);
|
||||||
|
void _handle_event_without_left_curves(Arr_all_sides_not_finite_tag);
|
||||||
|
void _handle_event_without_left_curves(Arr_not_all_sides_not_finite_tag);
|
||||||
|
|
||||||
/*! Sort the left subcurves of an event point according to their order in
|
/*! Sort the left subcurves of an event point according to their order in
|
||||||
* their status line (no geometric comparisons are needed).
|
* their status line (no geometric comparisons are needed).
|
||||||
|
|
@ -522,7 +538,7 @@ protected:
|
||||||
bool is_new)
|
bool is_new)
|
||||||
{
|
{
|
||||||
_update_event_at_open_boundary(e, cv, ind, is_new,
|
_update_event_at_open_boundary(e, cv, ind, is_new,
|
||||||
Are_all_sides_oblivious_category());
|
All_sides_oblivious_category());
|
||||||
}
|
}
|
||||||
|
|
||||||
void _update_event_at_open_boundary(Event* e,
|
void _update_event_at_open_boundary(Event* e,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue