Я могу видеть только черту проекции, использованную в примерах Делоне. И это выглядит достаточно просто.
Я пытаюсь использовать его в следующем коде, и я не могу понять это!
Возможно, я что-то делаю правильно, потому что Polygon_2 :: push_back сейчас ожидает Point_3.
Но остальное выплевывает страницы сообщений об ошибках.
Есть идеи?
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Boolean_set_operations_2.h>
#include <CGAL/Projection_traits_xy_3.h>
#include <iostream>
#include <list>
#include "print_utils.h"
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef CGAL::Projection_traits_xy_3<Kernel> Gt;
typedef CGAL::Polygon_2<Gt> Polygon_2;
typedef CGAL::Polygon_with_holes_2<Gt> Polygon_with_holes_2;
typedef Gt::Point_2 Point_3;
using namespace std;
int main(int argc, char* argv[])
{
Point_3 rp(1.840203021427314, 11.442402094914751, 1.6289004237251579);
Point_3 rq(-1.3754475586433301, 7.159592255512721, -0.8694054147780097);
Point_3 rr(5.879661577210586, 9.559327916542575, 0.530440182558408);
Point_3 aa(6.11, 18.550001, 5.775);
Point_3 ab(-6.11, 18.55, 5.775);
Point_3 ac(-6.11, 8.650001, 0);
Point_3 ad(6.11, 8.650002, 0.000001);
Polygon_2 pa;
pa.push_back(rp);
pa.push_back(rq);
pa.push_back(rr);
Polygon_2 pb;
pb.push_back(aa);
pb.push_back(ab);
pb.push_back(ac);
pb.push_back(ad);
list<Polygon_with_holes_2> result;
list<Polygon_with_holes_2>::const_iterator it;
CGAL::do_intersect(pa, pb);
// CGAL::intersection(pa, pb, std::back_inserter(result));
return EXIT_SUCCESS;
}