VTK/Java Code Samples
From KitwarePublic
< VTK
Building VTK Programmable filter in Java
This example change the point location by multiplying by 2 the z coordinate. Be aware, that the filter has one output port by DataSet type so you will have to figure out which port should be used depending on the processing you are doing.
import vtk.vtkFloatArray; import vtk.vtkPoints; import vtk.vtkPolyData; import vtk.vtkProgrammableFilter; public class MyFilter extends vtkProgrammableFilter { vtkPoints outputPoints; public MyFilter() { SetExecuteMethod(this, "compute"); } public void compute() { vtkPolyData polyDataInput = GetPolyDataInput(); vtkPolyData polyDataOutput = GetPolyDataOutput(); polyDataOutput.CopyStructure(polyDataInput); polyDataOutput.GetPointData().PassData(polyDataInput.GetPointData()); polyDataOutput.GetCellData().PassData(polyDataInput.GetCellData()); vtkPoints inputPoints = polyDataInput.GetPoints(); outputPoints = new vtkPoints(); outputPoints.SetNumberOfPoints(inputPoints.GetNumberOfPoints()); polyDataOutput.SetPoints(outputPoints); // for (int i = 0; i < inputPoints.GetNumberOfPoints(); i++) { outputPoints.SetPoint(i, inputPoints.GetPoint(i)[0], inputPoints.GetPoint(i)[1], inputPoints.GetPoint(i)[2] * 2); } } }