mirror of https://github.com/CGAL/cgal
35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
#include <list>
|
|
#include <fstream>
|
|
#include <CGAL/Simple_cartesian.h>
|
|
#include <CGAL/Visibility_complex_2.h>
|
|
#include <CGAL/Visibility_complex_segment_traits.h>
|
|
|
|
typedef CGAL::Simple_cartesian<int> K;
|
|
typedef CGAL::Visibility_complex_segment_traits<K> Gt;
|
|
typedef Gt::Disk Segment;
|
|
typedef CGAL::Visibility_complex_2<Gt> Visibility_complex;
|
|
typedef Visibility_complex::Antichain Antichain;
|
|
typedef Antichain::Linear_sweep_iterator Linear_sweep_iterator;
|
|
typedef Antichain::Vertex Vertex;
|
|
|
|
int main()
|
|
{
|
|
// Reading circles from file
|
|
std::list<Segment> D;
|
|
std::ifstream ifs("input");
|
|
std::istream_iterator<Segment> ifs_it(ifs),ifs_end;
|
|
std::copy(ifs_it,ifs_end,back_inserter(D));
|
|
|
|
// Computing the antichain
|
|
std::list<Vertex> V; // dummy empty constraint list
|
|
Antichain A(D.begin(),D.end(),V.begin(),V.end());
|
|
|
|
// Sweep of the visibility complex using an iterator
|
|
for (Linear_sweep_iterator v = A.sweep_begin();
|
|
v != A.sweep_end();
|
|
++v)
|
|
std::cout << *v << std::endl;
|
|
|
|
return 0;
|
|
}
|