summaryrefslogtreecommitdiff
path: root/src/cgaladv_minkowski2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgaladv_minkowski2.cc')
-rw-r--r--src/cgaladv_minkowski2.cc22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/cgaladv_minkowski2.cc b/src/cgaladv_minkowski2.cc
index fb8dd4b..8d0bf62 100644
--- a/src/cgaladv_minkowski2.cc
+++ b/src/cgaladv_minkowski2.cc
@@ -31,14 +31,11 @@
#include "grid.h"
#include "cgal.h"
-#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
+
#include <CGAL/minkowski_sum_2.h>
extern CGAL_Nef_polyhedron2 minkowski2(CGAL_Nef_polyhedron2 a, CGAL_Nef_polyhedron2 b);
-
-struct K2 : public CGAL::Exact_predicates_exact_constructions_kernel {};
-typedef CGAL::Polygon_2<K2> Poly2;
-typedef CGAL::Polygon_with_holes_2<K2> Poly2h;
+extern CGAL_Poly2 nef2p2(CGAL_Nef_polyhedron2 p);
//-----------------------------------------------------------------------------
// Pretty-print a CGAL polygon.
@@ -78,9 +75,9 @@ void print_polygon_with_holes (const CGAL::Polygon_with_holes_2<Kernel, Containe
return;
}
-static Poly2 nef2p2(CGAL_Nef_polyhedron2 p)
+CGAL_Poly2 nef2p2(CGAL_Nef_polyhedron2 p)
{
- std::list<K2::Point_2> points;
+ std::list<CGAL_ExactKernel2::Point_2> points;
Grid2d<int> grid(GRID_COARSE);
typedef CGAL_Nef_polyhedron2::Explorer Explorer;
@@ -105,15 +102,14 @@ static Poly2 nef2p2(CGAL_Nef_polyhedron2 p)
Explorer::Point ep = E.point(E.target(fcirc));
double x = to_double(ep.x()), y = to_double(ep.y());
grid.align(x, y);
- points.push_back(K2::Point_2(x, y));
+ points.push_back(CGAL_ExactKernel2::Point_2(x, y));
}
}
}
- return Poly2(points.begin(), points.end());
+ return CGAL_Poly2(points.begin(), points.end());
}
-
-static CGAL_Nef_polyhedron2 p2nef2(Poly2 p2) {
+static CGAL_Nef_polyhedron2 p2nef2(CGAL_Poly2 p2) {
std::list<CGAL_Nef_polyhedron2::Point> points;
for (size_t j = 0; j < p2.size(); j++) {
double x = to_double(p2[j].x());
@@ -126,7 +122,7 @@ static CGAL_Nef_polyhedron2 p2nef2(Poly2 p2) {
CGAL_Nef_polyhedron2 minkowski2(CGAL_Nef_polyhedron2 a, CGAL_Nef_polyhedron2 b)
{
- Poly2 ap = nef2p2(a), bp = nef2p2(b);
+ CGAL_Poly2 ap = nef2p2(a), bp = nef2p2(b);
if (ap.size() == 0) {
PRINT("WARNING: minkowski() could not get any points from object 1!");
@@ -135,7 +131,7 @@ CGAL_Nef_polyhedron2 minkowski2(CGAL_Nef_polyhedron2 a, CGAL_Nef_polyhedron2 b)
PRINT("WARNING: minkowski() could not get any points from object 2!");
return CGAL_Nef_polyhedron2();
} else {
- Poly2h x = minkowski_sum_2(ap, bp);
+ CGAL_Poly2h x = minkowski_sum_2(ap, bp);
// Make a CGAL_Nef_polyhedron2 out of just the boundary for starters
return p2nef2(x.outer_boundary());
contact: Jan Huwald // Impressum