WriteVTU
vtk-examples/Java/IO/WriteVTU
Description¶
vtkXMLUnstructuredGridWriter object writes the VTK XML UnstructuredGrid file format.
One unstructured grid input can be written into one file in any number of streamed pieces (if supported by the rest of the pipeline). The standard extension for this writer's file format is "vtu". This writer is also used to write a single piece of the parallel file format.
Question
If you have a question about this example, please use the VTK Discourse Forum
Code¶
WriteVTU.java
import vtk.vtkActor;
import vtk.vtkNamedColors;
import vtk.vtkNativeLibrary;
import vtk.vtkRenderWindow;
import vtk.vtkRenderWindowInteractor;
import vtk.vtkRenderer;
import vtk.vtkPoints;
import vtk.vtkTetra;
import vtk.vtkCellArray;
import vtk.vtkUnstructuredGrid;
import vtk.vtkXMLUnstructuredGridWriter;
import vtk.vtkXMLUnstructuredGridReader;
import vtk.vtkDataSetMapper;
public class WriteVTU
{
// -----------------------------------------------------------------
// Load VTK library and print which library was not properly loaded
static
{
if (!vtkNativeLibrary.LoadAllNativeLibraries())
{
for (vtkNativeLibrary lib : vtkNativeLibrary.values())
{
if (!lib.IsLoaded())
{
System.out.println(lib.GetLibraryName() + " not loaded");
}
}
}
vtkNativeLibrary.DisableOutputWindow(null);
}
// -----------------------------------------------------------------
public static void main(String args[])
{
//parse command line arguments
if (args.length != 1)
{
System.err.println("Usage: java -classpath ... Filename(.vtu) e.g tetra_test.vtu");
return;
}
String Filename = args[0];
int VTK_TETRA = 10;
vtkNamedColors colors = new vtkNamedColors();
//Renderer Background Color
double Bgcolor[] = new double[4];
colors.GetColor("Seagreen", Bgcolor);
vtkPoints points = new vtkPoints();
points.InsertNextPoint(0, 0, 0);
points.InsertNextPoint(1, 0, 0);
points.InsertNextPoint(1, 1, 0);
points.InsertNextPoint(0, 1, 1);
vtkTetra tetra = new vtkTetra();
tetra.GetPointIds().SetId(0, 0);
tetra.GetPointIds().SetId(1, 1);
tetra.GetPointIds().SetId(2, 2);
tetra.GetPointIds().SetId(3, 3);
vtkCellArray cellArray = new vtkCellArray();
cellArray.InsertNextCell(tetra);
vtkUnstructuredGrid unstructuredGrid = new vtkUnstructuredGrid();
unstructuredGrid.SetPoints(points);
unstructuredGrid.SetCells(VTK_TETRA, cellArray);
// Write file
vtkXMLUnstructuredGridWriter writer = new vtkXMLUnstructuredGridWriter();
writer.SetFileName(Filename);
writer.SetInputData(unstructuredGrid);
writer.Write();
// Read and display file for verification that it was written correclty
vtkXMLUnstructuredGridReader reader = new vtkXMLUnstructuredGridReader();
reader.SetFileName(Filename);
reader.Update();
vtkDataSetMapper mapper = new vtkDataSetMapper();
mapper.SetInputConnection(reader.GetOutputPort());
vtkActor actor = new vtkActor();
actor.SetMapper(mapper);
// Create the renderer, render window and interactor.
vtkRenderer ren = new vtkRenderer();
vtkRenderWindow renWin = new vtkRenderWindow();
renWin.AddRenderer(ren);
vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();
iren.SetRenderWindow(renWin);
// Visualise
ren.AddActor(actor);
ren.SetBackground(Bgcolor);
renWin.SetSize(300, 300);
renWin.Render();
iren.Initialize();
iren.Start();
}
}