#include VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2); VTK_MODULE_INIT(vtkRenderingFreeType); #include #include #include #include #include #include #include #include #include #include #include #include #include double node[12] = {100.0,50.1,20.2,102.5,51.0,22.2,110.0,55.1,30.0,120.0,60.2,35.0 }; double elem[5] = { 0.0,1.0,2.0,3.0,0.0 }; int main(int argc, char *argv[]) { int num1,i1; char filename[128] = "example.vtu"; vtkSmartPointer points = vtkSmartPointer::New(); num1 = 4; for (i1 = 0; i1 < num1; i1++) points->InsertNextPoint(node[i1 * 3], node[i1 * 3 + 1], node[i1 * 3 + 2]); vtkSmartPointer tetra = vtkSmartPointer::New(); vtkSmartPointer cellArray = vtkSmartPointer::New(); num1 = 1; for (i1 = 0; i1 < num1; i1++) { tetra->GetPointIds()->SetId(0, (int)(elem[5 * i1]+0.5)); tetra->GetPointIds()->SetId(1, (int)(elem[5 * i1 + 1]+0.5)); tetra->GetPointIds()->SetId(2, (int)(elem[5 * i1 + 2]+.5)); tetra->GetPointIds()->SetId(3, (int)(elem[5 * i1 + 3]+.5)); cellArray->InsertNextCell(tetra); } vtkSmartPointer unstructuredGrid = vtkSmartPointer::New(); unstructuredGrid->SetPoints(points); unstructuredGrid->SetCells(VTK_TETRA, cellArray); vtkSmartPointer writer = vtkSmartPointer::New(); writer->SetFileName(filename); writer->SetInputData(unstructuredGrid); writer->Write(); return EXIT_SUCCESS; }