Я написал программу, используя CGAL следующим образом:Как получить вершины треугольника в триангуляции треугольника delaunay?
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Triangulation_vertex_base_2<K> Vb;
typedef CGAL::Triangulation_face_base_with_info_2<FaceInfo2,K> Fbb;
typedef CGAL::Constrained_triangulation_face_base_2<K,Fbb> Fb;
typedef CGAL::Triangulation_data_structure_2<Vb,Fb> TDS;
typedef CGAL::Exact_predicates_tag Itag;
typedef CGAL::Constrained_Delaunay_triangulation_2<K, TDS, Itag> CDT;
typedef CDT::Point Point;
typedef CGAL::Polygon_2<K> Polygon_2;
int main()
{
//construct two non-intersecting nested polygons
Polygon_2 polygon1;
polygon1.push_back(Point(0,0));
polygon1.push_back(Point(2,0));
polygon1.push_back(Point(2,2));
polygon1.push_back(Point(0,2));
CDT cdt;
insert_polygon(cdt,polygon1);
CDT::Finite_faces_iterator t=cdt.faces_begin();
for (t = cdt.finite_faces_begin(); t != cdt.finite_faces_end(); t++)
{
//how can i achieve that?
}
}
Я хочу, чтобы вершины треугольников из cdt.finite_faces_begin()
в треугольник, t
пункта, что в каждой итерации для цикла.
например. В первой итерации цикла я получаю вершины первого треугольника, а во второй итерации цикла я получаю вершины первых + вторых треугольников, а в третьем - первые вершины + второй + третий треугольник и т. д. как я могу это достичь?
вы должны уточнить, что вы хотите получить. Когда вы зацикливаете на лицах, в теле цикла вы можете что-то сделать с i-м лицом. Если вы хотите что-то сделать для первого + второго + .. + i, вы должны собрать его в контейнере. –