mirror of https://github.com/CGAL/cgal
Add WKT support for Multipolygon_with_holes
This commit is contained in:
parent
24ca8b4eb4
commit
879b7ea139
|
|
@ -4,7 +4,6 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Polygon_repair_2/Polygon_repair_2.h>
|
||||
#include <CGAL/Polygon_repair_2/draw_multipolygon_with_holes_2.h>
|
||||
|
||||
// #include <CGAL/IO/WKT.h>
|
||||
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/IO/WKT.h>
|
||||
#include <CGAL/Polygon_repair_2/Multipolygon_with_holes_2.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
|
@ -11,7 +12,7 @@ int main(int argc, char* argv[])
|
|||
{
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon;
|
||||
typedef std::deque<Polygon> MultiPolygon;
|
||||
|
||||
typedef CGAL::Multipolygon_with_holes_2<Kernel> Multipolygon_with_holes_2;
|
||||
{
|
||||
std::ifstream is((argc>1)?argv[1]:"data/polygons.wkt");
|
||||
std::list<Polygon> polys;
|
||||
|
|
@ -33,5 +34,14 @@ int main(int argc, char* argv[])
|
|||
for(Polygon p : mp)
|
||||
std::cout<<p<<std::endl;
|
||||
}
|
||||
|
||||
{
|
||||
std::ifstream is((argc>2)?argv[2]:"data/multipolygon.wkt");
|
||||
Multipolygon_with_holes_2 mp;
|
||||
CGAL::IO::read_multi_polygon_WKT(is, mp);
|
||||
std::cout << mp << std::endl;
|
||||
CGAL::IO::write_multi_polygon_WKT(std::cout, mp);
|
||||
std::cout << std::endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#include <CGAL/Point_3.h>
|
||||
#include <CGAL/Polygon_2.h>
|
||||
#include <CGAL/Polygon_with_holes_2.h>
|
||||
#include <CGAL/Polygon_repair_2/Multipolygon_with_holes_2.h>
|
||||
|
||||
#include <CGAL/IO/WKT/traits_point.h>
|
||||
#include <CGAL/IO/WKT/traits_point_3.h>
|
||||
|
|
@ -345,6 +346,22 @@ bool read_multi_polygon_WKT(std::istream& in,
|
|||
return !in.fail();
|
||||
}
|
||||
|
||||
|
||||
template<typename Kernel, typename Container>
|
||||
bool read_multi_polygon_WKT(std::istream& in,
|
||||
Multipolygon_with_holes_2<Kernel,Container>& mp)
|
||||
{
|
||||
return read_multi_polygon_WKT(in, mp.polygons());
|
||||
}
|
||||
|
||||
|
||||
template<typename Kernel, typename Container>
|
||||
std::ostream& write_multi_polygon_WKT(std::ostream& out,
|
||||
Multipolygon_with_holes_2<Kernel,Container>& mp)
|
||||
{
|
||||
return write_multi_polygon_WKT(out, mp.polygons());
|
||||
}
|
||||
|
||||
//! \ingroup PkgStreamSupportIoFuncsWKT
|
||||
//!
|
||||
//! \brief writes `point` into a WKT stream.
|
||||
|
|
|
|||
Loading…
Reference in New Issue