<div>
<div>Hello all,</div>
<div> </div>
<div>I'm a relatively new VTK developer. I am using Java as the gui for my VTK applications. I had a hard time getting started and finding examples written in Java. I have ported a dozen examples to Java to get familiar with it. I wanted to post my examples so other Java enthusiasts could get up to speed on VTK a bit more easily. I hope this helps.
</div>
<div> </div>
<div>Best Regards,</div>
<div>Todd</div></div>
<div> </div>
<div>
<p>package examples;</p>
<p>import vtk.*;</p>
<p>/*<br> * Bare Tcl source: multipleIso.tcl<br> * CS Facility path: /sys/www/classes/cs5630/vtk/tcl/graphics/examplesTcl/multipleIso.tcl<br> * --------------------------------------------------------------------------------
<br> */</p>
<p>/**<br> * This example shows how to use isosurfaces<br> */<br>public class MultipleIsoComb {</p>
<p> // in the static contructor we load in the native code<br> // The libraries must be in your path to work<br> static {<br> System.loadLibrary("vtkCommonJava");<br> System.loadLibrary("vtkFilteringJava");
<br> System.loadLibrary("vtkIOJava");<br> System.loadLibrary("vtkImagingJava");<br> System.loadLibrary("vtkGraphicsJava");<br> System.loadLibrary("vtkRenderingJava");
<br> }</p>
<p> public static void main(String s[]) {<br> // Read the data files<br> vtkPLOT3DReader pl3d = new vtkPLOT3DReader();<br> pl3d.SetXYZFileName("c:/user/VTK/Data/combxyz.bin");<br> pl3d.SetQFileName
("c:/user/VTK/Data/combq.bin");<br> pl3d.SetScalarFunctionNumber(100);<br> pl3d.SetVectorFunctionNumber(202);<br> pl3d.Update();</p>
<p> double range[] = pl3d.GetOutput().GetPointData().GetScalars().GetRange();<br> double min=range[0];<br> double max=range[1];<br> double value=(min+max)/2.0;</p>
<p> vtkContourFilter cf = new vtkContourFilter();<br> cf.SetInput(pl3d.GetOutputDataObject(0));<br> cf.SetValue(0, value);<br> cf.UseScalarTreeOn();</p>
<p> int numberOfContours=5;<br> double epsilon= (max - min) / (double)(numberOfContours * 10);<br> min=min+epsilon;<br> max=max-epsilon;</p>
<p> vtkPolyData pd[] = new vtkPolyData[numberOfContours];<br> vtkPolyDataMapper mapper[] = new vtkPolyDataMapper[numberOfContours];</p>
<p> for (int i=0; i<numberOfContours; i++) {<br> double val=min + ((i - 1) / (double)(numberOfContours - 1) )*(max - min);<br> cf.SetValue(0, val);<br> cf.Update();<br> pd[i]=new vtkPolyData();<br>
pd[i].CopyStructure(cf.GetOutput);<br> pd[i].GetPointData(DeepCopy(cf.GetOutput().GetPointData()));<br> vtkPolyDataMapper mapper$i<br> mapper$i SetInput pd$i<br> eval mapper$i SetScalarRange \
<br> [[[[pl3d GetOutput] GetPointData] GetScalars] GetRange]<br> vtkActor actor$i<br> actor$i AddPosition 0 [expr $i * 12] 0<br> actor$i SetMapper mapper$i<br> ren1 AddActor actor$i
<br> }</p>
<p><br> }//main<br>}//class</p>
<p> </p></div>