package vtk.sample.rendering; import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.SwingUtilities; import vtk.vtkActor; import vtk.vtkConeSource; import vtk.vtkNativeLibrary; import vtk.vtkPolyDataMapper; import vtk.rendering.awt.vtkAwtComponent; public class AwtConeRendering { // ----------------------------------------------------------------- // 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) { SwingUtilities.invokeLater(new Runnable() { public void run() { // build VTK Pipeline vtkConeSource cone = new vtkConeSource(); cone.SetResolution(8); vtkPolyDataMapper coneMapper = new vtkPolyDataMapper(); coneMapper.SetInputConnection(cone.GetOutputPort()); vtkActor coneActor = new vtkActor(); coneActor.SetMapper(coneMapper); // VTK rendering part vtkAwtComponent awtWidget = new vtkAwtComponent(); awtWidget.getRenderer().AddActor(coneActor); // UI part JFrame frame = new JFrame("SimpleVTK"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new BorderLayout()); frame.getContentPane().add(awtWidget.getComponent(), BorderLayout.CENTER); frame.setSize(400, 400); frame.setLocationRelativeTo(null); frame.setVisible(true); } }); } }