Cutter
VTKExamples/Java/Miscellaneous/Cutter
Description¶
This example demonstrates how to use vtkCutter by cutting through a cube.
Code¶
Cutter.java
import vtk.*; public class Cutter { static { System.loadLibrary("vtkCommonJava"); System.loadLibrary("vtkFilteringJava"); System.loadLibrary("vtkIOJava"); System.loadLibrary("vtkImagingJava"); System.loadLibrary("vtkGraphicsJava"); System.loadLibrary("vtkRenderingJava"); } public static void main(String[] args) { vtkCubeSource cube = new vtkCubeSource(); cube.SetXLength(40); cube.SetYLength(30); cube.SetZLength(20); vtkPolyDataMapper cubeMapper = new vtkPolyDataMapper(); cubeMapper.SetInputConnection(cube.GetOutputPort()); //create a plane to cut,here it cuts in the XZ direction (xz normal=(1,0,0);XY =(0,0,1),YZ =(0,1,0) vtkPlane plane = new vtkPlane(); plane.SetOrigin(10,0,0); plane.SetNormal(1,0,0); //create cutter vtkCutter cutter = new vtkCutter(); cutter.SetCutFunction(plane); cutter.SetInput(cubeMapper.GetInput()); cutter.Update(); vtkPolyDataMapper cutterMapper = new vtkPolyDataMapper(); cutterMapper.SetInputConnection( cutter.GetOutputPort()); //create plane actor vtkActor planeActor = new vtkActor(); planeActor.GetProperty().SetColor(1.0,1,0); planeActor.GetProperty().SetLineWidth(2); planeActor.SetMapper(cutterMapper); //create cube actor vtkActor cubeActor = new vtkActor(); cubeActor.GetProperty().SetColor(0.5,1,0.5); cubeActor.GetProperty().SetOpacity(0.5); cubeActor.SetMapper(cubeMapper); //create renderers and add actors of plane and cube vtkRenderer ren = new vtkRenderer(); ren.AddActor(planeActor); ren.AddActor(cubeActor); //Add renderer to renderwindow and render vtkRenderWindow renWin = new vtkRenderWindow(); renWin.AddRenderer(ren); renWin.SetSize(600, 600); vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow(renWin); ren.SetBackground(0,0,0); renWin.Render(); iren.Start(); } }