<div>
<div>Hello all,</div>
<div>&nbsp;</div>
<div>I&#39;m a relatively new VTK developer.&nbsp; I am using Java as the gui for my VTK applications.&nbsp; I had a hard time getting started and finding examples written in Java.&nbsp; I have ported a dozen examples to Java to get familiar with it.&nbsp; I wanted to post my examples so other Java enthusiasts could get up to speed on VTK a bit more easily.&nbsp; I hope this helps. 
</div>
<div>&nbsp;</div>
<div>Best Regards,</div>
<div>Todd</div>
<div>&nbsp;</div></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>
<p>package examples;<br>/*-----------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; ProbeComb.tcl converted to Java<br>&nbsp;&nbsp;&nbsp; October 17, 2006</p>
<p>&nbsp;&nbsp;&nbsp; This shows how to probe a dataset with a plane.<br>&nbsp;&nbsp;&nbsp; The probed data is then contoured.<br>&nbsp; -----------------------------------------------------------*/<br>import vtk.*;</p>
<p>public class ProbeComb {<br>&nbsp;&nbsp;&nbsp; // in the static contructor we load in the native code<br>&nbsp;&nbsp;&nbsp; // The libraries must be in your path to work<br>&nbsp;&nbsp;&nbsp; static {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkCommonJava&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
System.loadLibrary(&quot;vtkFilteringJava&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkIOJava&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkImagingJava&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkGraphicsJava&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
System.loadLibrary(&quot;vtkRenderingJava&quot;);<br>&nbsp;&nbsp;&nbsp; }</p>
<p><br>&nbsp; public static void main(String s[]) {</p>
<p>&nbsp;&nbsp;&nbsp; //create pipeline<br>&nbsp;&nbsp;&nbsp; //----------------<br>&nbsp;&nbsp;&nbsp; vtkPLOT3DReader pl3d = new vtkPLOT3DReader();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pl3d.SetXYZFileName(&quot;c:/user/VTK/Data/combxyz.bin&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pl3d.SetQFileName(&quot;c:/user/VTK/Data/combq.bin&quot;);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pl3d.SetScalarFunctionNumber(100);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pl3d.SetVectorFunctionNumber(202);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pl3d.Update();</p>
<p><br>/*&nbsp; We create three planes and position them in the correct<br>&nbsp;&nbsp;&nbsp; position using transform filters. They are then appended<br>&nbsp;&nbsp;&nbsp; together and used as a probe. */<br>&nbsp;&nbsp;&nbsp; vtkPlaneSource plane = new vtkPlaneSource();
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plane.SetResolution(50,50);</p>
<p>&nbsp;&nbsp;&nbsp; //Plane 1<br>&nbsp;&nbsp;&nbsp; vtkTransform transP1 = new vtkTransform();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP1.Translate(3.7, 0.0, 28.37);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP1.Scale(5, 5, 5);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP1.RotateY(90);</p>
<p>&nbsp;&nbsp;&nbsp; vtkTransformPolyDataFilter tpd1 = new vtkTransformPolyDataFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd1.SetInput(plane.GetOutput());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd1.SetTransform(transP1);</p>
<p>&nbsp;&nbsp;&nbsp; vtkOutlineFilter outTpd1 = new vtkOutlineFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outTpd1.SetInput(tpd1.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkPolyDataMapper mapTpd1 = new vtkPolyDataMapper();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mapTpd1.SetInput(outTpd1.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkActor tpd1Actor = new vtkActor();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd1Actor.SetMapper(mapTpd1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd1Actor.GetProperty().SetColor(0,0,0);</p>
<p><br>&nbsp;&nbsp;&nbsp; //Plane 2<br>&nbsp;&nbsp;&nbsp; vtkTransform transP2 = new vtkTransform();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP2.Translate(9.2, 0.0, 31.20);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP2.Scale(5, 5, 5);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP2.RotateY(90);</p>
<p>&nbsp;&nbsp;&nbsp; vtkTransformPolyDataFilter tpd2 = new vtkTransformPolyDataFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd2.SetInput(plane.GetOutput());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd2.SetTransform(transP2);</p>
<p>&nbsp;&nbsp;&nbsp; vtkOutlineFilter outTpd2 = new vtkOutlineFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outTpd2.SetInput(tpd2.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkPolyDataMapper mapTpd2 = new vtkPolyDataMapper();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mapTpd2.SetInput(outTpd2.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkActor tpd2Actor = new vtkActor();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd2Actor.SetMapper(mapTpd2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd2Actor.GetProperty().SetColor(0,0,0);</p>
<p><br>&nbsp;&nbsp;&nbsp; //Plane 3<br>&nbsp;&nbsp;&nbsp; vtkTransform transP3 = new vtkTransform();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP3.Translate(13.27, 0.0, 33.30);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP3.Scale(5, 5, 5);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transP3.RotateY(90);</p>
<p>&nbsp;&nbsp;&nbsp; vtkTransformPolyDataFilter tpd3 = new vtkTransformPolyDataFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd3.SetInput(plane.GetOutput());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd3.SetTransform(transP3);</p>
<p>&nbsp;&nbsp;&nbsp; vtkOutlineFilter outTpd3 = new vtkOutlineFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outTpd3.SetInput(tpd3.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkPolyDataMapper mapTpd3 = new vtkPolyDataMapper();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mapTpd3.SetInput(outTpd3.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkActor tpd3Actor = new vtkActor();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd3Actor.SetMapper(mapTpd3);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpd3Actor.GetProperty().SetColor(0,0,0);</p>
<p>&nbsp;&nbsp;&nbsp; vtkAppendPolyData appendF = new vtkAppendPolyData();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; appendF.AddInput(tpd1.GetOutput());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; appendF.AddInput(tpd2.GetOutput());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; appendF.AddInput(tpd3.GetOutput());</p>
<p>/*&nbsp; The vtkProbeFilter takes two inputs. One is a dataset<br>&nbsp;&nbsp;&nbsp; to use as the probe geometry (SetInput); the other is<br>&nbsp;&nbsp;&nbsp; the data to probe (SetSource). The output dataset<br>&nbsp;&nbsp;&nbsp; structure (geometry and topology) of the probe is the
<br>&nbsp;&nbsp;&nbsp; same as the structure of the input. The probing<br>&nbsp;&nbsp;&nbsp; process generates new data values resampled from the<br>&nbsp;&nbsp;&nbsp; source.*/<br>&nbsp;&nbsp;&nbsp; vtkProbeFilter probe = new vtkProbeFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; probe.SetInput(appendF.GetOutput
());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; probe.SetSource(pl3d.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkContourFilter contour = new vtkContourFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contour.SetInput(probe.GetOutput());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contour.GenerateValues(50, pl3d.GetOutput().GetScalarRange());</p>
<p>&nbsp;&nbsp;&nbsp; vtkPolyDataMapper contourMapper = new vtkPolyDataMapper();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contourMapper.SetInput(contour.GetOutput());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contourMapper.SetScalarRange(pl3d.GetOutput().GetScalarRange());</p>
<p>&nbsp;&nbsp;&nbsp; vtkActor planeActor = new vtkActor();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; planeActor.SetMapper(contourMapper);</p>
<p>&nbsp;&nbsp;&nbsp; vtkStructuredGridOutlineFilter outline = new vtkStructuredGridOutlineFilter();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outline.SetInput(pl3d.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkPolyDataMapper outlineMapper = new vtkPolyDataMapper ();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outlineMapper.SetInput(outline.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkActor outlineActor = new vtkActor();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outlineActor.SetMapper(outlineMapper);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outlineActor.GetProperty().SetColor(0, 0, 0);</p>
<p>&nbsp;&nbsp;&nbsp; // create planes<br>&nbsp;&nbsp;&nbsp; // Create the RenderWindow, Renderer and both Actors<br>&nbsp;&nbsp;&nbsp; vtkRenderer renderer = new vtkRenderer ();<br>&nbsp;&nbsp;&nbsp; vtkRenderWindow renWin = new vtkRenderWindow();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; renWin.AddRenderer(renderer);
<br>&nbsp;&nbsp;&nbsp; vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iren.SetRenderWindow(renWin);</p>
<p>&nbsp;&nbsp;&nbsp; renderer.AddActor(outlineActor);<br>&nbsp;&nbsp;&nbsp; renderer.AddActor(planeActor);<br>&nbsp;&nbsp;&nbsp; renderer.AddActor(tpd1Actor);<br>&nbsp;&nbsp;&nbsp; renderer.AddActor(tpd2Actor);<br>&nbsp;&nbsp;&nbsp; renderer.AddActor(tpd3Actor);<br>&nbsp;&nbsp;&nbsp; renderer.SetBackground(1, 1, 1);
</p>
<p>&nbsp;&nbsp;&nbsp; renWin.SetSize(500, 500);</p>
<p>&nbsp;&nbsp;&nbsp; vtkCamera cam1=renderer.GetActiveCamera();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cam1.SetClippingRange(3.95297, 50);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cam1.SetFocalPoint(8.88908, 0.595038, 29.3342);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cam1.SetPosition(-12.3332, 31.7479, 41.2387);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cam1.SetViewUp
(0.060772, -0.319905, 0.945498);</p>
<p>&nbsp;&nbsp;&nbsp; renWin.Render();<br>&nbsp;&nbsp;&nbsp; iren.Start();</p>
<p>&nbsp; }//main</p>
<p>}//class ProbeComb</p>
<p><br>&nbsp;</p>
<p>&nbsp;</p></div>