<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>
<div>&nbsp;</div>
<div>
<p>package examples;</p>
<p>//This example demonstrates the use of the contour filter, and the use of<br>//the vtkSampleFunction to generate a volume of data samples from an<br>//implicit function.</p>
<p>import vtk.*;</p>
<p>public class VisQuad {<br>//&nbsp; in the static contructor we load in the native code<br>//&nbsp; The libraries must be in your path to work<br>&nbsp; static {<br>&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkCommonJava&quot;);<br>&nbsp;&nbsp;&nbsp; System.loadLibrary
(&quot;vtkFilteringJava&quot;);<br>&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkIOJava&quot;);<br>&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkImagingJava&quot;);<br>&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkGraphicsJava&quot;);<br>&nbsp;&nbsp;&nbsp; System.loadLibrary(&quot;vtkRenderingJava&quot;);
<br>&nbsp; }</p>
<p>&nbsp; public static void main(String s[]) {</p>
<p>//&nbsp;&nbsp;&nbsp; VTK supports implicit functions of the form f(x,y,z)=constant. These<br>//&nbsp;&nbsp;&nbsp; functions can represent things spheres, cones, etc. Here we use a<br>//&nbsp;&nbsp;&nbsp; general form for a quadric to create an elliptical data field.
<br>&nbsp;&nbsp;&nbsp; vtkQuadric quadric = new vtkQuadric();<br>&nbsp;&nbsp;&nbsp; quadric.SetCoefficients(.5, 1, .2, 0, .1, 0, 0, .2, 0, 0);</p>
<p>//&nbsp;&nbsp;&nbsp; vtkSampleFunction samples an implicit function over the x-y-z range<br>//&nbsp;&nbsp;&nbsp; specified (here it defaults to -1,1 in the x,y,z directions).<br>&nbsp;&nbsp;&nbsp; vtkSampleFunction sample = new vtkSampleFunction();<br>&nbsp;&nbsp;&nbsp; sample.SetSampleDimensions
(30, 30, 30);<br>&nbsp;&nbsp;&nbsp; sample.SetImplicitFunction(quadric);</p>
<p>//&nbsp;&nbsp;&nbsp; Create five surfaces F(x,y,z) = constant between range specified. The<br>//&nbsp;&nbsp;&nbsp; GenerateValues() method creates n isocontour values between the range<br>//&nbsp;&nbsp;&nbsp; specified.<br>&nbsp;&nbsp;&nbsp; vtkContourFilter contours = new vtkContourFilter();
<br>&nbsp;&nbsp;&nbsp; contours.SetInput(sample.GetOutput());<br>&nbsp;&nbsp;&nbsp; contours.GenerateValues(5, 0.0, 1.2);</p>
<p>&nbsp;&nbsp;&nbsp; vtkPolyDataMapper contMapper = new vtkPolyDataMapper();<br>&nbsp;&nbsp;&nbsp; contMapper.SetInput(contours.GetOutput());<br>&nbsp;&nbsp;&nbsp; contMapper.SetScalarRange(0.0, 1.2);</p>
<p>&nbsp;&nbsp;&nbsp; vtkActor contActor = new vtkActor();<br>&nbsp;&nbsp;&nbsp; contActor.SetMapper(contMapper);</p>
<p>//&nbsp;&nbsp;&nbsp; We&#39;ll put a simple outline around the data.<br>&nbsp;&nbsp;&nbsp; vtkOutlineFilter outline = new vtkOutlineFilter();<br>&nbsp;&nbsp;&nbsp; outline.SetInput(sample.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkPolyDataMapper outlineMapper = new vtkPolyDataMapper();<br>&nbsp;&nbsp;&nbsp; outlineMapper.SetInput(outline.GetOutput());</p>
<p>&nbsp;&nbsp;&nbsp; vtkActor outlineActor = new vtkActor();<br>&nbsp;&nbsp;&nbsp; outlineActor.SetMapper(outlineMapper);<br>&nbsp;&nbsp;&nbsp; outlineActor.GetProperty().SetColor(0,0,0);</p>
<p>//&nbsp;&nbsp;&nbsp; The usual rendering stuff.<br>&nbsp;&nbsp;&nbsp; vtkRenderer ren = new vtkRenderer();<br>&nbsp;&nbsp;&nbsp; vtkRenderWindow renWin = new vtkRenderWindow();<br>&nbsp;&nbsp;&nbsp; renWin.AddRenderer(ren);<br>&nbsp;&nbsp;&nbsp; vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();
<br>&nbsp;&nbsp;&nbsp; iren.SetRenderWindow(renWin);</p>
<p>&nbsp;&nbsp;&nbsp; ren.SetBackground(1, 1, 1);<br>&nbsp;&nbsp;&nbsp; ren.AddActor(contActor);<br>&nbsp;&nbsp;&nbsp; ren.AddActor(outlineActor);</p>
<p>&nbsp;&nbsp;&nbsp; iren.Initialize();<br>&nbsp;&nbsp;&nbsp; renWin.Render();<br>&nbsp;&nbsp;&nbsp; iren.Start();<br>&nbsp; }//main<br>}//class VisQuad<br></p></div>