]> gerrit.simantics Code Review - simantics/3d.git/blob - vtk/src/vtk/vtkJavaDep.java
Loading VTK dlls with plug-in activator.
[simantics/3d.git] / vtk / src / vtk / vtkJavaDep.java
1 package vtk;
2
3 /**
4  * Utility class to load vtk native libraries.
5  * 
6  * @author luukkainen
7  *
8  */
9 public class vtkJavaDep {
10           static String[] libs = new String[] {
11                           "vtksys",
12                           "vtkCommonCore",
13                       "vtkWrappingJava",
14                       "vtkCommonCoreJava",
15                       "vtkCommonMath",
16                       "vtkCommonMathJava",
17                       "vtkCommonSystem",
18                       "vtkCommonSystemJava",
19                       "vtkCommonMisc",
20                       "vtkCommonMiscJava",
21                       "vtkCommonTransforms",
22                       "vtkCommonTransformsJava",
23                       "vtkCommonDataModel",
24                       "vtkCommonDataModelJava",
25                       "vtkCommonColor",
26                       "vtkCommonColorJava",
27                       "vtkCommonExecutionModel",
28                       "vtkCommonExecutionModelJava",
29                       "vtkCommonComputationalGeometry",
30                       "vtkCommonComputationalGeometryJava",
31                       "vtkexpat",
32                       "vtkdoubleconversion",
33                       "vtkjpeg",
34                       "vtkzlib",
35                       "vtklz4",
36                       "vtklzma",
37                       "vtktiff",
38                       "vtkpng",
39                       "vtkexpat",
40                       "vtkhdf5",
41                       "vtkhdf5_hl",
42                       "vtkmetaio",
43                       "vtkpugixml",
44                       "vtksqlite",
45                       "vtkogg",
46                       "vtktheora",
47                       "vtkverdict",
48                       "vtkglew",
49                       "vtkproj",
50                       "vtkfreetype",
51                       
52                       "vtkImagingCore",
53                       "vtkImagingCoreJava",
54                       "vtkImagingMath",
55                       "vtkImagingMathJava",
56                       "vtkImagingFourier",
57                       "vtkImagingFourierJava",
58                       "vtkImagingSources",
59                       "vtkImagingSourcesJava",
60                       "vtkImagingHybrid",
61                       "vtkImagingHybridJava",
62                       "vtkImagingColor",
63                       "vtkImagingColorJava",
64                       "vtkImagingGeneral",
65                       "vtkImagingGeneralJava",
66                       
67                       "vtkFiltersCore",
68                       "vtkFiltersCoreJava",
69                       "vtkFiltersGeometry",
70                       "vtkFiltersGeometryJava",
71                       "vtkFiltersGeneral",
72                       "vtkFiltersGeneralJava",
73                       "vtkFiltersSources",
74                       "vtkFiltersSourcesJava",
75                       "vtkFiltersGeneric",
76                       "vtkFiltersGenericJava",
77                       "vtkFiltersStatistics",
78                       "vtkFiltersStatisticsJava",
79                       "vtkFiltersExtraction",
80                       "vtkFiltersExtractionJava",
81                       "vtkFiltersModeling",
82                       "vtkFiltersModelingJava",
83                       
84                       "vtkRenderingCore",
85                       "vtkRenderingCoreJava",
86                       "vtkRenderingOpenGL2",
87                       "vtkRenderingOpenGL2Java",
88                       "vtkRenderingVolume",
89                       "vtkRenderingVolumeJava",
90                       "vtkRenderingVolumeOpenGL2",
91                       "vtkRenderingVolumeOpenGL2Java",
92                       
93                       "vtkRenderingFreeType",
94                       "vtkRenderingFreeTypeJava",
95                       "vtkRenderingAnnotation",
96                       "vtkRenderingAnnotationJava",
97
98                       "vtkFiltersHybrid",
99                       "vtkFiltersHybridJava",
100                       
101                       "vtkInteractionStyle",
102                       "vtkInteractionStyleJava",
103                       "vtkInteractionWidgets",
104                       "vtkInteractionWidgetsJava",
105                       "vtkInteractionImage",
106                       "vtkInteractionImageJava",
107                       
108                       "vtkIOCore",
109                       "vtkIOCoreJava",
110                       "vtkMetaIO",
111                       "vtkIOXMLParser",
112                       "vtkIOXMLParserJava",      
113                       "vtkIOXML",
114                       "vtkIOXMLJava",
115                       
116                       "vtkDICOMParser",
117                       "vtkIOImage",
118                       "vtkIOImageJava",
119                       "vtkIOImport",
120                       "vtkIOImportJava",
121
122                       };
123         
124         private static boolean loaded = false;
125
126     static void load() {
127         if (!loaded) {
128
129             try {
130                 Class.forName("java.awt.Toolkit");
131             } catch (ClassNotFoundException e) {
132                 throw new IllegalStateException(e);
133             }
134             try {
135                 System.loadLibrary("jawt");
136             } catch (UnsatisfiedLinkError e) {
137                 // bypass potential load error. If jawt is not really loaded, we will get errors
138                 // with VTK dlls.
139             }
140
141             for (String lib : libs)
142                 System.loadLibrary(lib);
143
144             loaded = true;
145             }
146         }
147 }