diff --git a/Packages/Sweep_line_2/examples/Sweep_line_2/example4.C b/Packages/Sweep_line_2/examples/Sweep_line_2/example4.C new file mode 100644 index 00000000000..3d35be4f501 --- /dev/null +++ b/Packages/Sweep_line_2/examples/Sweep_line_2/example4.C @@ -0,0 +1,102 @@ +// examples/Sweep_line/example4.C +// ------------------------------ +#include +#include + +#include +#include + +#include + +#include +//#include + +#include +#include + +typedef CGAL::Quotient NT; +typedef CGAL::Cartesian R; +typedef CGAL::Arr_polyline_traits Traits; + +typedef Traits::Point Point; +typedef Traits::X_curve X_curve; +typedef Traits::Curve Curve; + +using namespace CGAL; + + +CGAL_BEGIN_NAMESPACE + +std::ostream& operator<<(std::ostream& os, + const Curve& cv) +{ + typedef Curve::const_iterator Points_iterator; + + os<>(std::istream& in, + Curve& cv) +{ + std::size_t size; + + in >> size; + + for (unsigned int i = 0; i < size; i++){ + Point p; + + in >> p; + + cv.push_back(p); + } + + return in; +} + +CGAL_END_NAMESPACE + + +template +void read_polylines(Container& curves) +{ + int num_polylines = 0; + + std::cin >> num_polylines; + std::cout<<"number of polylines is : " << num_polylines<>polyline; + + curves.push_back(polyline); + + polyline.clear(); + } +} + +int main() +{ + std::list polylines; + + read_polylines(polylines); + + Traits traits; + std::list subcurves; + CGAL::sweep_to_produce_subcurves_2(polylines.begin(),polylines.end(), + traits, std::back_inserter(subcurves)); + + for (std::list::iterator scv_iter = subcurves.begin(); + scv_iter != subcurves.end(); scv_iter++) + std::cout<<*scv_iter<