VTK绘制多边形的一般过程为:
vtkPoints可以视为多边形的顶点,而vtkCellArray存储vtkPoints的id(索引),同时也决定着细分多边形的胞元形状。例如一个简单的多边形——三角形的构成如下:
vtkNew<vtkPoints> points;
points->SetNumberOfPoints(3);
points->SetPoint(0,0,0,0);//id + position
points->SetPoint(1,1,0,0);
points->SetPoint(2,0,1,0);
vtkNew<vtkCellArray> poly;
poly->AllocateEstimate(1,3);//胞元数量+胞元大小
poly->InsertNextCell(3);//胞元大小
poly->InsertCellPoint(0);//id
poly->InsertCellPoint(1);//id
poly->InsertCellPoint(2);//id
运行结果如图:
同理,四边形的需要四个点,如下图,按顺序将点 0123 存入vtkPoints和vtkCellArray即可。