Instructions for running vtk4.x from Matlab 6.x using the Java interface (I only tested this under Windows NT4) ------------------------------------- John Anast May 1, 2002 The Procter and Gamble Company anast.jm@pg.com ------------------------------------- updated July 15, 2002 ------------------------------------- **************** Procedure **************** 1) Build vtk4.x with Java wrapping 2) Compile all the vtk *.java files ... look in dir x:\vtk4x\VTKbin\java\vtk 3) compile vtkPanel.java and place it in java\vtk with the other classes ... look in x:\vtk4x\VTK\Wrapping\Java for the source file. 4) Add environment variable CLASSPATH = .;x:\vtk4x\vtkbin\java (NOTE: the leading period is important). Since vtk java wrappings have been packaged, you do not need to point to the \java\vtk folder, just \java At this point you should have a good vtk Java wrapping installed so try running VTKSimple to make sure the Java part is working okay ... look in x:\vtk4x\VTK\Wrapping\Java for the source code. 5) edit MatLab C:\MATLAB6p1\toolbox\local\classpath.txt to add drive:\path_to_the_classfiles Don't put the name of the classes there. Just the path is sufficient for matlab to pick up all the classes that exist in that directory. Since vtk java wrappings have been packaged, you do not need to point to the \java\vtk folder, just \java. For example, this works for me... P:\WinCVS\vtk40\VTKbin\java 6) Compile the vtkMatlab.java file (see below for code) and place the class file in the java directory (important not in java/vtk) .... try placing it in x:\vtk4x\vtkbin\java. You could place this file whereever you want if you add its path to the MatLab classpath or to the Environment variable CLASSPATH see steps 3) or 5) 7) Run the testvtk.m script (see code below) which attemps to load each class from MatLab. It should run fine and create all the zillion variables. If some are not created check that in cmake you enabled all the needed modules (patented etc). As vtk changes you may need to recomplie the list of vtk classes it loads, see the instructions for doing this in the comments of the script. 7b) Alternately you can run my script ckvtk.m (see code below) which dynamically creates the list and objects, writing log files with a.) successful creations and b.) any errors creating objects. Intenal comments tell whats going on. Note: you need to change the path in the script to point to your directory of vtk classes so it can generate the class list. (I know I could probably get this from the CLASSPATH variable but I'm too lazy) 8) Run the cone.m script from within MatLab (see code below) I was not able to run this with the default jre in Matlab (v1.1.8) so I changed to jre 1.3.1 as follows: Create an environment variable MATLAB_JAVA and point it to the jre folder you want, for example P:\wincvs\java13102\jre. I see some funny things happen in Matlab with 1.3.102 but this might just be me. I've seen some seg faults and the Matlab command cursor disappears sometimes. Use at your own risk. Another funny thing is that exitting the vtk scripts closes MatLab...hmmmm Also it appears that Matlab truncates class names longer than 31 characters (35 with vtk.) so these classes can not create objects using the standard obj = vtk.vtkClass however this works obj=javaObject('vtk.vtkClass') **************** Code **************** ========================================================================== vtkMatLab.class ========================================================================== // Matlab VTK initializer class // This class loads all the shared libraries for vtk // and must be called before running any vtk script on Matlab // Adapted from vtkPanel included in the vtk package // Author: Satrajit S. Ghosh // Date: 2.27.2002 // Department of Cognitive and Neural Systems, Boston University import vtk.*; public class vtkMatlab { protected vtkRenderWindow rw = new vtkRenderWindow(); protected vtkRenderer ren = new vtkRenderer(); static { System.loadLibrary("vtkCommonJava"); System.loadLibrary("vtkFilteringJava"); System.loadLibrary("vtkIOJava"); System.loadLibrary("vtkImagingJava"); System.loadLibrary("vtkGraphicsJava"); System.loadLibrary("vtkRenderingJava"); System.loadLibrary("vtkPatentedJava"); } public vtkMatlab() { rw.AddRenderer(ren); rw.SetSize(200,200); } } ========================================================================== Cone.m --- Matlab test script file ========================================================================== % CONE Script to generate cone demo from the tutorial in vtk % I have stripped the comments from the original file. % So you have to refer to the original file for details. % Satrajit S. Ghosh % Cognitive and Neural Systems, Boston University % 2.27.2002 vtkMatlab; import vtk.*; cone = vtkConeSource; cone.SetHeight( 3.0 ); cone.SetRadius( 1.0 ); cone.SetResolution( 10 ); coneMapper = vtkPolyDataMapper; coneMapper.SetInput( cone.GetOutput ); coneActor = vtkActor; coneActor.SetMapper( coneMapper ); ren1 = vtkRenderer; ren1.AddActor( coneActor ); ren1.SetBackground( 0.1, 0.2, 0.4 ); renWin = vtkRenderWindow; renWin.AddRenderer( ren1 ); renWin.SetSize( 300, 300 ); for i = 0:360, renWin.Render; ren1.GetActiveCamera.Azimuth( 1 ); end; ========================================================================== ckvtk.m --- Matlab test script file to create all class objects ========================================================================== % CKVTK Test script to see if all the vtk objects initialize properly % You may get vtk warnings about deprecated classes % % NOTE: Change the path below to point to your classes directory !!!!!! % % John M. Anast - Procter & Gamble Co % 7.15.2002 vtkMatlab; import vtk.*; % If there are any errors, write them to a text file in default directory (usually 'work') % If you want, you can write the good objects to a text file as well fid = fopen('errlog.txt','wt'); fid2 = fopen ('goodlog.txt','wt'); % Move to where the class files are cd P:\WinCVS\vtk40\VTKbin\java\vtk; % Read all the class file names and try to create them % Catch all errors to the log file s = dir('*.class'); for i=1:length(s) try, myobj=['vtk.', strtok(s(i).name,'.')]; % ivar(i)=eval(myobj); % this will work too but MatLab truncates long class names ivar(i)=javaObject(myobj); fprintf(fid2,'%s\n',myobj); % log successfully created object with no errors at all catch, % these objects are probably okay??? but give the assign error - mark em with *** if findstr('is not assignable to vtk.vtk3DWidget[]',lasterr)~=[] fprintf(fid2,'*** %s\n',myobj); else % these are objects that didn't get wrapped properly or not at all fprintf(fid,'%s %s\n***************\n',myobj,lasterr); end; end; end; fclose(fid); fclose(fid2); ========================================================================== testvtk.m --- Matlab test script file to create all class objects ========================================================================== % TESTVTK Test script to see if all the vtk objects initialize properly % You might get some warnings stating that some functions are no longer % available. You may need to regenerate this script as new classes are added % added removed from vtk....see the generator code below % Satrajit S. Ghosh % Cognitive and Neural Systems, Boston University % 2.27.2002 % The following piece of code generates the rest of this script. % s = dir('*.class'); % fid = fopen('testvtk.m','wt'); % for i=1:length(s),fprintf(fid,'var%d = javaObject(''vtk.%s'');\n',i,strtok(s(i).name,'.'));end; % fclose(fid); vtkMatlab; import vtk.*; var1 = javaObject('vtk.vtkAbstractMapper'); var2 = javaObject('vtk.vtkAbstractMapper3D'); var3 = javaObject('vtk.vtkAbstractPicker'); var4 = javaObject('vtk.vtkAbstractPropPicker'); var5 = javaObject('vtk.vtkAbstractTransform'); var6 = javaObject('vtk.vtkActor'); var7 = javaObject('vtk.vtkActor2D'); var8 = javaObject('vtk.vtkActor2DCollection'); var9 = javaObject('vtk.vtkActorCollection'); var10 = javaObject('vtk.vtkAppendFilter'); var11 = javaObject('vtk.vtkAppendPolyData'); var12 = javaObject('vtk.vtkApproximatingSubdivisionFilter'); var13 = javaObject('vtk.vtkArrayCalculator'); var14 = javaObject('vtk.vtkArrowSource'); var15 = javaObject('vtk.vtkAssembly'); var16 = javaObject('vtk.vtkAssemblyNode'); var17 = javaObject('vtk.vtkAssemblyPath'); var18 = javaObject('vtk.vtkAssemblyPaths'); var19 = javaObject('vtk.vtkAssignAttribute'); var20 = javaObject('vtk.vtkAttributeDataToFieldDataFilter'); var21 = javaObject('vtk.vtkAxes'); var22 = javaObject('vtk.vtkAxisActor2D'); var23 = javaObject('vtk.vtkBMPReader'); var24 = javaObject('vtk.vtkBMPWriter'); var25 = javaObject('vtk.vtkBYUReader'); var26 = javaObject('vtk.vtkBYUWriter'); var27 = javaObject('vtk.vtkBandedPolyDataContourFilter'); var28 = javaObject('vtk.vtkBitArray'); var29 = javaObject('vtk.vtkBlankStructuredGrid'); var30 = javaObject('vtk.vtkBlankStructuredGridWithImage'); var31 = javaObject('vtk.vtkBooleanTexture'); var32 = javaObject('vtk.vtkBrownianPoints'); var33 = javaObject('vtk.vtkButterflySubdivisionFilter'); var34 = javaObject('vtk.vtkButtonSource'); var35 = javaObject('vtk.vtkByteSwap'); var36 = javaObject('vtk.vtkCamera'); var37 = javaObject('vtk.vtkCardinalSpline'); var38 = javaObject('vtk.vtkCastToConcrete'); var39 = javaObject('vtk.vtkCell'); var40 = javaObject('vtk.vtkCell3D'); var41 = javaObject('vtk.vtkCellArray'); var42 = javaObject('vtk.vtkCellCenters'); var43 = javaObject('vtk.vtkCellData'); var44 = javaObject('vtk.vtkCellDataToPointData'); var45 = javaObject('vtk.vtkCellDerivatives'); var46 = javaObject('vtk.vtkCellLinks'); var47 = javaObject('vtk.vtkCellLocator'); var48 = javaObject('vtk.vtkCellPicker'); var49 = javaObject('vtk.vtkCellTypes'); var50 = javaObject('vtk.vtkCharArray'); var51 = javaObject('vtk.vtkCleanPolyData'); var52 = javaObject('vtk.vtkClipDataSet'); var53 = javaObject('vtk.vtkClipPolyData'); var54 = javaObject('vtk.vtkClipVolume'); var55 = javaObject('vtk.vtkCollection'); var56 = javaObject('vtk.vtkColorTransferFunction'); var57 = javaObject('vtk.vtkCone'); var58 = javaObject('vtk.vtkConeSource'); var59 = javaObject('vtk.vtkConnectivityFilter'); var60 = javaObject('vtk.vtkContourFilter'); var61 = javaObject('vtk.vtkContourGrid'); var62 = javaObject('vtk.vtkContourValues'); var63 = javaObject('vtk.vtkCoordinate'); var64 = javaObject('vtk.vtkCriticalSection'); var65 = javaObject('vtk.vtkCubeSource'); var66 = javaObject('vtk.vtkCuller'); var67 = javaObject('vtk.vtkCullerCollection'); var68 = javaObject('vtk.vtkCursor3D'); var69 = javaObject('vtk.vtkCutter'); var70 = javaObject('vtk.vtkCylinder'); var71 = javaObject('vtk.vtkCylinderSource'); var72 = javaObject('vtk.vtkDEMReader'); var73 = javaObject('vtk.vtkDashedStreamLine'); var74 = javaObject('vtk.vtkDataArray'); var75 = javaObject('vtk.vtkDataObject'); var76 = javaObject('vtk.vtkDataObjectCollection'); var77 = javaObject('vtk.vtkDataObjectReader'); var78 = javaObject('vtk.vtkDataObjectSource'); var79 = javaObject('vtk.vtkDataObjectToDataSetFilter'); var80 = javaObject('vtk.vtkDataObjectWriter'); var81 = javaObject('vtk.vtkDataReader'); var82 = javaObject('vtk.vtkDataSet'); var83 = javaObject('vtk.vtkDataSetAttributes'); var84 = javaObject('vtk.vtkDataSetCollection'); var85 = javaObject('vtk.vtkDataSetMapper'); var86 = javaObject('vtk.vtkDataSetReader'); var87 = javaObject('vtk.vtkDataSetSource'); var88 = javaObject('vtk.vtkDataSetSurfaceFilter'); var89 = javaObject('vtk.vtkDataSetToDataObjectFilter'); var90 = javaObject('vtk.vtkDataSetToDataSetFilter'); var91 = javaObject('vtk.vtkDataSetToPolyDataFilter'); var92 = javaObject('vtk.vtkDataSetToStructuredGridFilter'); var93 = javaObject('vtk.vtkDataSetToStructuredPointsFilter'); var94 = javaObject('vtk.vtkDataSetToUnstructuredGridFilter'); var95 = javaObject('vtk.vtkDataSetTriangleFilter'); var96 = javaObject('vtk.vtkDataSetWriter'); var97 = javaObject('vtk.vtkDataWriter'); var98 = javaObject('vtk.vtkDebugLeaks'); var99 = javaObject('vtk.vtkDecimate'); var100 = javaObject('vtk.vtkDecimatePro'); var101 = javaObject('vtk.vtkDelaunay2D'); var102 = javaObject('vtk.vtkDelaunay3D'); var103 = javaObject('vtk.vtkDicer'); var104 = javaObject('vtk.vtkDirectionEncoder'); var105 = javaObject('vtk.vtkDirectory'); var106 = javaObject('vtk.vtkDiskSource'); var107 = javaObject('vtk.vtkDividingCubes'); var108 = javaObject('vtk.vtkDoubleArray'); var109 = javaObject('vtk.vtkDynamicLoader'); var110 = javaObject('vtk.vtkEdgePoints'); var111 = javaObject('vtk.vtkEdgeTable'); var112 = javaObject('vtk.vtkElevationFilter'); var113 = javaObject('vtk.vtkEmptyCell'); var114 = javaObject('vtk.vtkEnSight6BinaryReader'); var115 = javaObject('vtk.vtkEnSight6Reader'); var116 = javaObject('vtk.vtkEnSightGoldBinaryReader'); var117 = javaObject('vtk.vtkEnSightGoldReader'); var118 = javaObject('vtk.vtkEnSightReader'); var119 = javaObject('vtk.vtkEncodedGradientEstimator'); var120 = javaObject('vtk.vtkEncodedGradientShader'); var121 = javaObject('vtk.vtkExporter'); var122 = javaObject('vtk.vtkExtentTranslator'); var123 = javaObject('vtk.vtkExtractEdges'); var124 = javaObject('vtk.vtkExtractGeometry'); var125 = javaObject('vtk.vtkExtractGrid'); var126 = javaObject('vtk.vtkExtractPolyDataGeometry'); var127 = javaObject('vtk.vtkExtractTensorComponents'); var128 = javaObject('vtk.vtkExtractUnstructuredGrid'); var129 = javaObject('vtk.vtkExtractVOI'); var130 = javaObject('vtk.vtkExtractVectorComponents'); var131 = javaObject('vtk.vtkFeatureEdges'); var132 = javaObject('vtk.vtkFieldData'); var133 = javaObject('vtk.vtkFieldDataToAttributeDataFilter'); var134 = javaObject('vtk.vtkFileOutputWindow'); var135 = javaObject('vtk.vtkFiniteDifferenceGradientEstimator'); var136 = javaObject('vtk.vtkFloatArray'); var137 = javaObject('vtk.vtkFollower'); var138 = javaObject('vtk.vtkFrustumCoverageCuller'); var139 = javaObject('vtk.vtkFunctionParser'); var140 = javaObject('vtk.vtkFunctionSet'); var141 = javaObject('vtk.vtkGESignaReader'); var142 = javaObject('vtk.vtkGaussianSplatter'); var143 = javaObject('vtk.vtkGeneralTransform'); var144 = javaObject('vtk.vtkGenericCell'); var145 = javaObject('vtk.vtkGenericEnSightReader'); var146 = javaObject('vtk.vtkGeometryFilter'); var147 = javaObject('vtk.vtkGlyph2D'); var148 = javaObject('vtk.vtkGlyph3D'); var149 = javaObject('vtk.vtkGlyphSource2D'); var150 = javaObject('vtk.vtkGraphLayoutFilter'); var151 = javaObject('vtk.vtkGraphicsFactory'); var152 = javaObject('vtk.vtkGridSynchronizedTemplates3D'); var153 = javaObject('vtk.vtkHeap'); var154 = javaObject('vtk.vtkHedgeHog'); var155 = javaObject('vtk.vtkHexahedron'); var156 = javaObject('vtk.vtkHomogeneousTransform'); var157 = javaObject('vtk.vtkHull'); var158 = javaObject('vtk.vtkHyperStreamline'); var159 = javaObject('vtk.vtkIVExporter'); var160 = javaObject('vtk.vtkIVWriter'); var161 = javaObject('vtk.vtkIdFilter'); var162 = javaObject('vtk.vtkIdList'); var163 = javaObject('vtk.vtkIdTypeArray'); var164 = javaObject('vtk.vtkIdentityTransform'); var165 = javaObject('vtk.vtkImageAccumulate'); var166 = javaObject('vtk.vtkImageActor'); var167 = javaObject('vtk.vtkImageAnisotropicDiffusion2D'); var168 = javaObject('vtk.vtkImageAnisotropicDiffusion3D'); var169 = javaObject('vtk.vtkImageAppend'); var170 = javaObject('vtk.vtkImageAppendComponents'); var171 = javaObject('vtk.vtkImageBlend'); var172 = javaObject('vtk.vtkImageButterworthHighPass'); var173 = javaObject('vtk.vtkImageButterworthLowPass'); var174 = javaObject('vtk.vtkImageCacheFilter'); var175 = javaObject('vtk.vtkImageCanvasSource2D'); var176 = javaObject('vtk.vtkImageCast'); var177 = javaObject('vtk.vtkImageChangeInformation'); var178 = javaObject('vtk.vtkImageCheckerboard'); var179 = javaObject('vtk.vtkImageCityBlockDistance'); var180 = javaObject('vtk.vtkImageClip'); var181 = javaObject('vtk.vtkImageConnector'); var182 = javaObject('vtk.vtkImageConstantPad'); var183 = javaObject('vtk.vtkImageContinuousDilate3D'); var184 = javaObject('vtk.vtkImageContinuousErode3D'); var185 = javaObject('vtk.vtkImageConvolve'); var186 = javaObject('vtk.vtkImageCorrelation'); var187 = javaObject('vtk.vtkImageCursor3D'); var188 = javaObject('vtk.vtkImageData'); var189 = javaObject('vtk.vtkImageDataGeometryFilter'); var190 = javaObject('vtk.vtkImageDataStreamer'); var191 = javaObject('vtk.vtkImageDecomposeFilter'); var192 = javaObject('vtk.vtkImageDifference'); var193 = javaObject('vtk.vtkImageDilateErode3D'); var194 = javaObject('vtk.vtkImageDivergence'); var195 = javaObject('vtk.vtkImageDotProduct'); var196 = javaObject('vtk.vtkImageEllipsoidSource'); var197 = javaObject('vtk.vtkImageEuclideanDistance'); var198 = javaObject('vtk.vtkImageEuclideanToPolar'); var199 = javaObject('vtk.vtkImageExport'); var200 = javaObject('vtk.vtkImageExtractComponents'); var201 = javaObject('vtk.vtkImageFFT'); var202 = javaObject('vtk.vtkImageFlip'); var203 = javaObject('vtk.vtkImageFourierCenter'); var204 = javaObject('vtk.vtkImageFourierFilter'); var205 = javaObject('vtk.vtkImageGaussianSmooth'); var206 = javaObject('vtk.vtkImageGaussianSource'); var207 = javaObject('vtk.vtkImageGradient'); var208 = javaObject('vtk.vtkImageGradientMagnitude'); var209 = javaObject('vtk.vtkImageGridSource'); var210 = javaObject('vtk.vtkImageHSVToRGB'); var211 = javaObject('vtk.vtkImageHybridMedian2D'); var212 = javaObject('vtk.vtkImageIdealHighPass'); var213 = javaObject('vtk.vtkImageIdealLowPass'); var214 = javaObject('vtk.vtkImageImport'); var215 = javaObject('vtk.vtkImageInPlaceFilter'); var216 = javaObject('vtk.vtkImageIslandRemoval2D'); var217 = javaObject('vtk.vtkImageIterateFilter'); var218 = javaObject('vtk.vtkImageLaplacian'); var219 = javaObject('vtk.vtkImageLogarithmicScale'); var220 = javaObject('vtk.vtkImageLogic'); var221 = javaObject('vtk.vtkImageLuminance'); var222 = javaObject('vtk.vtkImageMagnify'); var223 = javaObject('vtk.vtkImageMagnitude'); var224 = javaObject('vtk.vtkImageMandelbrotSource'); var225 = javaObject('vtk.vtkImageMapToColors'); var226 = javaObject('vtk.vtkImageMapToRGBA'); var227 = javaObject('vtk.vtkImageMapToWindowLevelColors'); var228 = javaObject('vtk.vtkImageMapper'); var229 = javaObject('vtk.vtkImageMarchingCubes'); var230 = javaObject('vtk.vtkImageMask'); var231 = javaObject('vtk.vtkImageMaskBits'); var232 = javaObject('vtk.vtkImageMathematics'); var233 = javaObject('vtk.vtkImageMedian3D'); var234 = javaObject('vtk.vtkImageMirrorPad'); var235 = javaObject('vtk.vtkImageMultipleInputFilter'); var236 = javaObject('vtk.vtkImageMultipleInputOutputFilter'); var237 = javaObject('vtk.vtkImageNoiseSource'); var238 = javaObject('vtk.vtkImageNonMaximumSuppression'); var239 = javaObject('vtk.vtkImageNormalize'); var240 = javaObject('vtk.vtkImageOpenClose3D'); var241 = javaObject('vtk.vtkImagePadFilter'); var242 = javaObject('vtk.vtkImagePermute'); var243 = javaObject('vtk.vtkImageQuantizeRGBToIndex'); var244 = javaObject('vtk.vtkImageRFFT'); var245 = javaObject('vtk.vtkImageRGBToHSV'); var246 = javaObject('vtk.vtkImageRange3D'); var247 = javaObject('vtk.vtkImageReader'); var248 = javaObject('vtk.vtkImageReader2'); var249 = javaObject('vtk.vtkImageReader2Collection'); var250 = javaObject('vtk.vtkImageReader2Factory'); var251 = javaObject('vtk.vtkImageResample'); var252 = javaObject('vtk.vtkImageReslice'); var253 = javaObject('vtk.vtkImageSeedConnectivity'); var254 = javaObject('vtk.vtkImageSeparableConvolution'); var255 = javaObject('vtk.vtkImageShiftScale'); var256 = javaObject('vtk.vtkImageShrink3D'); var257 = javaObject('vtk.vtkImageSinusoidSource'); var258 = javaObject('vtk.vtkImageSkeleton2D'); var259 = javaObject('vtk.vtkImageSobel2D'); var260 = javaObject('vtk.vtkImageSobel3D'); var261 = javaObject('vtk.vtkImageSource'); var262 = javaObject('vtk.vtkImageSpatialFilter'); var263 = javaObject('vtk.vtkImageStencil'); var264 = javaObject('vtk.vtkImageStencilData'); var265 = javaObject('vtk.vtkImageStencilSource'); var266 = javaObject('vtk.vtkImageThreshold'); var267 = javaObject('vtk.vtkImageToImageFilter'); var268 = javaObject('vtk.vtkImageToImageStencil'); var269 = javaObject('vtk.vtkImageToStructuredPoints'); var270 = javaObject('vtk.vtkImageTranslateExtent'); var271 = javaObject('vtk.vtkImageTwoInputFilter'); var272 = javaObject('vtk.vtkImageVariance3D'); var273 = javaObject('vtk.vtkImageViewer'); var274 = javaObject('vtk.vtkImageViewer2'); var275 = javaObject('vtk.vtkImageWindow'); var276 = javaObject('vtk.vtkImageWrapPad'); var277 = javaObject('vtk.vtkImageWriter'); var278 = javaObject('vtk.vtkImager'); var279 = javaObject('vtk.vtkImagerCollection'); var280 = javaObject('vtk.vtkImagingFactory'); var281 = javaObject('vtk.vtkImplicitBoolean'); var282 = javaObject('vtk.vtkImplicitDataSet'); var283 = javaObject('vtk.vtkImplicitFunction'); var284 = javaObject('vtk.vtkImplicitFunctionCollection'); var285 = javaObject('vtk.vtkImplicitFunctionToImageStencil'); var286 = javaObject('vtk.vtkImplicitSelectionLoop'); var287 = javaObject('vtk.vtkImplicitTextureCoords'); var288 = javaObject('vtk.vtkImplicitVolume'); var289 = javaObject('vtk.vtkImplicitWindowFunction'); var290 = javaObject('vtk.vtkImporter'); var291 = javaObject('vtk.vtkIndent'); var292 = javaObject('vtk.vtkInitialValueProblemSolver'); var293 = javaObject('vtk.vtkInstantiator'); var294 = javaObject('vtk.vtkIntArray'); var295 = javaObject('vtk.vtkInteractorStyle'); var296 = javaObject('vtk.vtkInteractorStyleFlight'); var297 = javaObject('vtk.vtkInteractorStyleImage'); var298 = javaObject('vtk.vtkInteractorStyleJoystickActor'); var299 = javaObject('vtk.vtkInteractorStyleJoystickCamera'); var300 = javaObject('vtk.vtkInteractorStyleSwitch'); var301 = javaObject('vtk.vtkInteractorStyleTrackball'); var302 = javaObject('vtk.vtkInteractorStyleTrackballActor'); var303 = javaObject('vtk.vtkInteractorStyleTrackballCamera'); var304 = javaObject('vtk.vtkInteractorStyleUnicam'); var305 = javaObject('vtk.vtkInteractorStyleUser'); var306 = javaObject('vtk.vtkInterpolateDataSetAttributes'); var307 = javaObject('vtk.vtkInterpolatedVelocityField'); var308 = javaObject('vtk.vtkInterpolatingSubdivisionFilter'); var309 = javaObject('vtk.vtkJPEGReader'); var310 = javaObject('vtk.vtkJPEGWriter'); var311 = javaObject('vtk.vtkKitwareContourFilter'); var312 = javaObject('vtk.vtkKochanekSpline'); var313 = javaObject('vtk.vtkLODActor'); var314 = javaObject('vtk.vtkLODProp3D'); var315 = javaObject('vtk.vtkLabeledDataMapper'); var316 = javaObject('vtk.vtkLight'); var317 = javaObject('vtk.vtkLightCollection'); var318 = javaObject('vtk.vtkLightKit'); var319 = javaObject('vtk.vtkLine'); var320 = javaObject('vtk.vtkLineSource'); var321 = javaObject('vtk.vtkLinearExtrusionFilter'); var322 = javaObject('vtk.vtkLinearSubdivisionFilter'); var323 = javaObject('vtk.vtkLinearTransform'); var324 = javaObject('vtk.vtkLinkEdgels'); var325 = javaObject('vtk.vtkLocator'); var326 = javaObject('vtk.vtkLogLookupTable'); var327 = javaObject('vtk.vtkLongArray'); var328 = javaObject('vtk.vtkLookupTable'); var329 = javaObject('vtk.vtkLoopSubdivisionFilter'); var330 = javaObject('vtk.vtkMCubesReader'); var331 = javaObject('vtk.vtkMCubesWriter'); var332 = javaObject('vtk.vtkMapper'); var333 = javaObject('vtk.vtkMapper2D'); var334 = javaObject('vtk.vtkMapperCollection'); var335 = javaObject('vtk.vtkMarchingContourFilter'); var336 = javaObject('vtk.vtkMarchingCubes'); var337 = javaObject('vtk.vtkMarchingSquares'); var338 = javaObject('vtk.vtkMaskFields'); var339 = javaObject('vtk.vtkMaskPoints'); var340 = javaObject('vtk.vtkMaskPolyData'); var341 = javaObject('vtk.vtkMassProperties'); var342 = javaObject('vtk.vtkMath'); var343 = javaObject('vtk.vtkMatrix4x4'); var344 = javaObject('vtk.vtkMatrixToHomogeneousTransform'); var345 = javaObject('vtk.vtkMatrixToLinearTransform'); var346 = javaObject('vtk.vtkMedicalImageReader2'); var347 = javaObject('vtk.vtkMergeDataObjectFilter'); var348 = javaObject('vtk.vtkMergeFields'); var349 = javaObject('vtk.vtkMergeFilter'); var350 = javaObject('vtk.vtkMergePoints'); var351 = javaObject('vtk.vtkMergePoints2D'); var352 = javaObject('vtk.vtkMultiThreader'); var353 = javaObject('vtk.vtkMutexLock'); var354 = javaObject('vtk.vtkOBBDicer'); var355 = javaObject('vtk.vtkOBBTree'); var356 = javaObject('vtk.vtkOBJExporter'); var357 = javaObject('vtk.vtkOBJReader'); var358 = javaObject('vtk.vtkOOGLExporter'); var359 = javaObject('vtk.vtkObject'); var360 = javaObject('vtk.vtkObjectFactory'); var361 = javaObject('vtk.vtkObjectFactoryCollection'); var362 = javaObject('vtk.vtkOrderedTriangulator'); var363 = javaObject('vtk.vtkOutlineCornerFilter'); var364 = javaObject('vtk.vtkOutlineCornerSource'); var365 = javaObject('vtk.vtkOutlineFilter'); var366 = javaObject('vtk.vtkOutlineSource'); var367 = javaObject('vtk.vtkOutputWindow'); var368 = javaObject('vtk.vtkOverrideInformation'); var369 = javaObject('vtk.vtkOverrideInformationCollection'); var370 = javaObject('vtk.vtkPLOT3DReader'); var371 = javaObject('vtk.vtkPLYReader'); var372 = javaObject('vtk.vtkPLYWriter'); var373 = javaObject('vtk.vtkPNGReader'); var374 = javaObject('vtk.vtkPNGWriter'); var375 = javaObject('vtk.vtkPNMReader'); var376 = javaObject('vtk.vtkPNMWriter'); var377 = javaObject('vtk.vtkParallelCoordinatesActor'); var378 = javaObject('vtk.vtkParticleReader'); var379 = javaObject('vtk.vtkPerspectiveTransform'); var380 = javaObject('vtk.vtkPicker'); var381 = javaObject('vtk.vtkPiecewiseFunction'); var382 = javaObject('vtk.vtkPiecewiseFunctionShiftScale'); var383 = javaObject('vtk.vtkPiecewiseFunctionSource'); var384 = javaObject('vtk.vtkPiecewiseFunctionToPiecewiseFunctionFilter'); var385 = javaObject('vtk.vtkPixel'); var386 = javaObject('vtk.vtkPlane'); var387 = javaObject('vtk.vtkPlaneCollection'); var388 = javaObject('vtk.vtkPlaneSource'); var389 = javaObject('vtk.vtkPlanes'); var390 = javaObject('vtk.vtkPointData'); var391 = javaObject('vtk.vtkPointDataToCellData'); var392 = javaObject('vtk.vtkPointLoad'); var393 = javaObject('vtk.vtkPointLocator'); var394 = javaObject('vtk.vtkPointLocator2D'); var395 = javaObject('vtk.vtkPointPicker'); var396 = javaObject('vtk.vtkPointSet'); var397 = javaObject('vtk.vtkPointSetSource'); var398 = javaObject('vtk.vtkPointSetToPointSetFilter'); var399 = javaObject('vtk.vtkPointSource'); var400 = javaObject('vtk.vtkPoints'); var401 = javaObject('vtk.vtkPolyData'); var402 = javaObject('vtk.vtkPolyDataCollection'); var403 = javaObject('vtk.vtkPolyDataConnectivityFilter'); var404 = javaObject('vtk.vtkPolyDataMapper'); var405 = javaObject('vtk.vtkPolyDataMapper2D'); var406 = javaObject('vtk.vtkPolyDataNormals'); var407 = javaObject('vtk.vtkPolyDataReader'); var408 = javaObject('vtk.vtkPolyDataSource'); var409 = javaObject('vtk.vtkPolyDataStreamer'); var410 = javaObject('vtk.vtkPolyDataToPolyDataFilter'); var411 = javaObject('vtk.vtkPolyDataWriter'); var412 = javaObject('vtk.vtkPolyLine'); var413 = javaObject('vtk.vtkPolyVertex'); var414 = javaObject('vtk.vtkPolygon'); var415 = javaObject('vtk.vtkPostScriptWriter'); var416 = javaObject('vtk.vtkPriorityQueue'); var417 = javaObject('vtk.vtkProbeFilter'); var418 = javaObject('vtk.vtkProcessObject'); var419 = javaObject('vtk.vtkProgrammableAttributeDataFilter'); var420 = javaObject('vtk.vtkProgrammableDataObjectSource'); var421 = javaObject('vtk.vtkProgrammableFilter'); var422 = javaObject('vtk.vtkProgrammableGlyphFilter'); var423 = javaObject('vtk.vtkProgrammableSource'); var424 = javaObject('vtk.vtkProjectedTexture'); var425 = javaObject('vtk.vtkProp'); var426 = javaObject('vtk.vtkProp3D'); var427 = javaObject('vtk.vtkProp3DCollection'); var428 = javaObject('vtk.vtkPropAssembly'); var429 = javaObject('vtk.vtkPropCollection'); var430 = javaObject('vtk.vtkPropPicker'); var431 = javaObject('vtk.vtkProperty'); var432 = javaObject('vtk.vtkProperty2D'); var433 = javaObject('vtk.vtkPyramid'); var434 = javaObject('vtk.vtkQuad'); var435 = javaObject('vtk.vtkQuadric'); var436 = javaObject('vtk.vtkQuadricClustering'); var437 = javaObject('vtk.vtkQuadricDecimation'); var438 = javaObject('vtk.vtkQuantizePolyDataPoints'); var439 = javaObject('vtk.vtkRayCaster'); var440 = javaObject('vtk.vtkRearrangeFields'); var441 = javaObject('vtk.vtkRectilinearGrid'); var442 = javaObject('vtk.vtkRectilinearGridGeometryFilter'); var443 = javaObject('vtk.vtkRectilinearGridReader'); var444 = javaObject('vtk.vtkRectilinearGridSource'); var445 = javaObject('vtk.vtkRectilinearGridToPolyDataFilter'); var446 = javaObject('vtk.vtkRectilinearGridWriter'); var447 = javaObject('vtk.vtkRecursiveDividingCubes'); var448 = javaObject('vtk.vtkRecursiveSphereDirectionEncoder'); var449 = javaObject('vtk.vtkReferenceCount'); var450 = javaObject('vtk.vtkReflectionFilter'); var451 = javaObject('vtk.vtkRenderWindow'); var452 = javaObject('vtk.vtkRenderWindowCollection'); var453 = javaObject('vtk.vtkRenderWindowInteractor'); var454 = javaObject('vtk.vtkRenderer'); var455 = javaObject('vtk.vtkRendererCollection'); var456 = javaObject('vtk.vtkRendererSource'); var457 = javaObject('vtk.vtkReverseSense'); var458 = javaObject('vtk.vtkRibbonFilter'); var459 = javaObject('vtk.vtkRotationalExtrusionFilter'); var460 = javaObject('vtk.vtkRuledSurfaceFilter'); var461 = javaObject('vtk.vtkRungeKutta2'); var462 = javaObject('vtk.vtkRungeKutta4'); var463 = javaObject('vtk.vtkRungeKutta45'); var464 = javaObject('vtk.vtkSLCReader'); var465 = javaObject('vtk.vtkSTLReader'); var466 = javaObject('vtk.vtkSTLWriter'); var467 = javaObject('vtk.vtkSampleFunction'); var468 = javaObject('vtk.vtkScalarBarActor'); var469 = javaObject('vtk.vtkScalarTree'); var470 = javaObject('vtk.vtkScalarsToColors'); var471 = javaObject('vtk.vtkScaledTextActor'); var472 = javaObject('vtk.vtkSelectPolyData'); var473 = javaObject('vtk.vtkSelectVisiblePoints'); var474 = javaObject('vtk.vtkShepardMethod'); var475 = javaObject('vtk.vtkShortArray'); var476 = javaObject('vtk.vtkShrinkFilter'); var477 = javaObject('vtk.vtkShrinkPolyData'); var478 = javaObject('vtk.vtkSimpleElevationFilter'); var479 = javaObject('vtk.vtkSimpleImageFilterExample'); var480 = javaObject('vtk.vtkSimpleImageToImageFilter'); var481 = javaObject('vtk.vtkSimpleScalarTree'); var482 = javaObject('vtk.vtkSliceCubes'); var483 = javaObject('vtk.vtkSmoothPolyDataFilter'); var484 = javaObject('vtk.vtkSource'); var485 = javaObject('vtk.vtkSpatialRepresentationFilter'); var486 = javaObject('vtk.vtkSphere'); var487 = javaObject('vtk.vtkSpherePuzzle'); var488 = javaObject('vtk.vtkSpherePuzzleArrows'); var489 = javaObject('vtk.vtkSphereSource'); var490 = javaObject('vtk.vtkSpline'); var491 = javaObject('vtk.vtkSplitField'); var492 = javaObject('vtk.vtkStreamLine'); var493 = javaObject('vtk.vtkStreamPoints'); var494 = javaObject('vtk.vtkStreamer'); var495 = javaObject('vtk.vtkStripper'); var496 = javaObject('vtk.vtkStructuredData'); var497 = javaObject('vtk.vtkStructuredGrid'); var498 = javaObject('vtk.vtkStructuredGridGeometryFilter'); var499 = javaObject('vtk.vtkStructuredGridOutlineFilter'); var500 = javaObject('vtk.vtkStructuredGridReader'); var501 = javaObject('vtk.vtkStructuredGridSource'); var502 = javaObject('vtk.vtkStructuredGridToPolyDataFilter'); var503 = javaObject('vtk.vtkStructuredGridToStructuredGridFilter'); var504 = javaObject('vtk.vtkStructuredGridWriter'); var505 = javaObject('vtk.vtkStructuredPoints'); var506 = javaObject('vtk.vtkStructuredPointsCollection'); var507 = javaObject('vtk.vtkStructuredPointsGeometryFilter'); var508 = javaObject('vtk.vtkStructuredPointsReader'); var509 = javaObject('vtk.vtkStructuredPointsSource'); var510 = javaObject('vtk.vtkStructuredPointsToPolyDataFilter'); var511 = javaObject('vtk.vtkStructuredPointsToStructuredPointsFilter'); var512 = javaObject('vtk.vtkStructuredPointsToUnstructuredGridFilter'); var513 = javaObject('vtk.vtkStructuredPointsWriter'); var514 = javaObject('vtk.vtkSubPixelPositionEdgels'); var515 = javaObject('vtk.vtkSubdivideTetra'); var516 = javaObject('vtk.vtkSuperquadric'); var517 = javaObject('vtk.vtkSuperquadricSource'); var518 = javaObject('vtk.vtkSurfaceReconstructionFilter'); var519 = javaObject('vtk.vtkSweptSurface'); var520 = javaObject('vtk.vtkSynchronizedTemplates2D'); var521 = javaObject('vtk.vtkSynchronizedTemplates3D'); var522 = javaObject('vtk.vtkTIFFReader'); var523 = javaObject('vtk.vtkTIFFWriter'); var524 = javaObject('vtk.vtkTensor'); var525 = javaObject('vtk.vtkTensorGlyph'); var526 = javaObject('vtk.vtkTetra'); var527 = javaObject('vtk.vtkTextMapper'); var528 = javaObject('vtk.vtkTextSource'); var529 = javaObject('vtk.vtkTexture'); var530 = javaObject('vtk.vtkTextureMapToCylinder'); var531 = javaObject('vtk.vtkTextureMapToPlane'); var532 = javaObject('vtk.vtkTextureMapToSphere'); var533 = javaObject('vtk.vtkTexturedSphereSource'); var534 = javaObject('vtk.vtkThreshold'); var535 = javaObject('vtk.vtkThresholdPoints'); var536 = javaObject('vtk.vtkThresholdTextureCoords'); var537 = javaObject('vtk.vtkTimeStamp'); var538 = javaObject('vtk.vtkTimerLog'); var539 = javaObject('vtk.vtkTransform'); var540 = javaObject('vtk.vtkTransformCollection'); var541 = javaObject('vtk.vtkTransformFilter'); var542 = javaObject('vtk.vtkTransformPolyDataFilter'); var543 = javaObject('vtk.vtkTransformTextureCoords'); var544 = javaObject('vtk.vtkTriangle'); var545 = javaObject('vtk.vtkTriangleFilter'); var546 = javaObject('vtk.vtkTriangleStrip'); var547 = javaObject('vtk.vtkTriangularTCoords'); var548 = javaObject('vtk.vtkTriangularTexture'); var549 = javaObject('vtk.vtkTubeFilter'); var550 = javaObject('vtk.vtkUGFacetReader'); var551 = javaObject('vtk.vtkUnsignedCharArray'); var552 = javaObject('vtk.vtkUnsignedIntArray'); var553 = javaObject('vtk.vtkUnsignedLongArray'); var554 = javaObject('vtk.vtkUnsignedShortArray'); var555 = javaObject('vtk.vtkUnstructuredGrid'); var556 = javaObject('vtk.vtkUnstructuredGridReader'); var557 = javaObject('vtk.vtkUnstructuredGridSource'); var558 = javaObject('vtk.vtkUnstructuredGridToPolyDataFilter'); var559 = javaObject('vtk.vtkUnstructuredGridToUnstructuredGridFilter'); var560 = javaObject('vtk.vtkUnstructuredGridWriter'); var561 = javaObject('vtk.vtkVRMLExporter'); var562 = javaObject('vtk.vtkVectorDot'); var563 = javaObject('vtk.vtkVectorNorm'); var564 = javaObject('vtk.vtkVersion'); var565 = javaObject('vtk.vtkVertex'); var566 = javaObject('vtk.vtkViewport'); var567 = javaObject('vtk.vtkVoidArray'); var568 = javaObject('vtk.vtkVolume'); var569 = javaObject('vtk.vtkVolume16Reader'); var570 = javaObject('vtk.vtkVolumeCollection'); var571 = javaObject('vtk.vtkVolumeMapper'); var572 = javaObject('vtk.vtkVolumeProMapper'); var573 = javaObject('vtk.vtkVolumeProperty'); var574 = javaObject('vtk.vtkVolumeRayCastCompositeFunction'); var575 = javaObject('vtk.vtkVolumeRayCastFunction'); var576 = javaObject('vtk.vtkVolumeRayCastIsosurfaceFunction'); var577 = javaObject('vtk.vtkVolumeRayCastMIPFunction'); var578 = javaObject('vtk.vtkVolumeRayCastMapper'); var579 = javaObject('vtk.vtkVolumeReader'); var580 = javaObject('vtk.vtkVolumeTextureMapper'); var581 = javaObject('vtk.vtkVolumeTextureMapper2D'); var582 = javaObject('vtk.vtkVoxel'); var583 = javaObject('vtk.vtkVoxelContoursToSurfaceFilter'); var584 = javaObject('vtk.vtkVoxelModeller'); var585 = javaObject('vtk.vtkWarpLens'); var586 = javaObject('vtk.vtkWarpScalar'); var587 = javaObject('vtk.vtkWarpTo'); var588 = javaObject('vtk.vtkWarpTransform'); var589 = javaObject('vtk.vtkWarpVector'); var590 = javaObject('vtk.vtkWedge'); var591 = javaObject('vtk.vtkWin32OutputWindow'); var592 = javaObject('vtk.vtkWindow'); var593 = javaObject('vtk.vtkWindowLevelLookupTable'); var594 = javaObject('vtk.vtkWindowToImageFilter'); var595 = javaObject('vtk.vtkWindowedSincPolyDataFilter'); var596 = javaObject('vtk.vtkWorldPointPicker'); var597 = javaObject('vtk.vtkWriter'); var598 = javaObject('vtk.vtkXMLFileOutputWindow');