51 assert(points.size()==0);
52 assert(cells.size()==0);
54 auto inpoints =vtkSmartPointer<vtkPoints>::New();
56 for (
int i=0; i<points_in.size(); i+=2)
57 inpoints->InsertNextPoint(points_in[i], points_in[i+1],0);
60 auto aPolyData= vtkSmartPointer<vtkPolyData>::New();
61 aPolyData->SetPoints(inpoints);
64 auto delaunay = vtkSmartPointer<vtkDelaunay2D>::New();
65 delaunay->SetInputData(aPolyData);
67 auto dgrid=delaunay->GetOutput();
70 auto npoints=dgrid->GetNumberOfPoints();
71 auto ncells=dgrid->GetNumberOfPolys();
73 auto vtkpoints=dgrid->GetPoints();
74 for (
int i=0;i<npoints;i++)
77 vtkpoints->GetPoint(i,x);
78 points.push_back(x[0]);
79 points.push_back(x[1]);
82 auto pts =vtkSmartPointer<vtkIdList>::New();
84 for (vtkIdType i=0;i<ncells;i++)
86 dgrid->GetCellPoints(i,pts);
87 cells.push_back(pts->GetId(0));
88 cells.push_back(pts->GetId(1));
89 cells.push_back(pts->GetId(2));