import java.awt.BorderLayout;

import javax.swing.JFrame;

import vtk.vtkActor;
import vtk.vtkAlgorithmOutput;
import vtk.vtkBoxWidget;
import vtk.vtkCanvas;
import vtk.vtkDataSetMapper;
import vtk.vtkDataSetReader;
import vtk.vtkInteractorStyleTrackball;
import vtk.vtkRenderWindow;
import vtk.vtkRenderWindowInteractor;
import vtk.vtkRenderer;


public class MyWidget {

	
	public static void main(String[] args) {

		vtkCanvas panel = new vtkCanvas();
		//
		vtkDataSetReader reader = new vtkDataSetReader();
		reader.SetFileName("image.txt");
		reader.Update();
		reader.CloseVTKFile();
		
		//vtkDataSet data = reader.GetOutput();
		vtkAlgorithmOutput output = reader.GetOutputPort();
		vtkDataSetMapper mapper = new vtkDataSetMapper();
		vtkActor actor = new vtkActor();

		mapper.SetInputConnection(output);
		
		vtkBoxWidget boxw = new vtkBoxWidget();
				
		actor.SetMapper(mapper);
		
		
		vtkRenderer ren1 = new vtkRenderer();
		ren1.AddActor(actor);
		ren1.SetBackground(0.1,0.2,0.4);
		
		vtkRenderWindow renwin = new vtkRenderWindow();
		renwin.AddRenderer(ren1);
		
		vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();
	    iren.SetRenderWindow(renwin);
	    iren.SetInteractorStyle(new vtkInteractorStyleTrackball());
	    
	    boxw.SetInteractor(iren);
	    
		
		panel.GetRenderer().AddActor(actor);
		
		//
		JFrame f = new JFrame("Widget Test");
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setSize(500, 500);
		f.setLocationRelativeTo(null);
		f.getContentPane().setLayout(new BorderLayout());
		f.getContentPane().add(panel, BorderLayout.CENTER);
		f.setVisible(true);		

	}	
}
