@@ -54,22 +54,23 @@ class TVTKBaseInterface(BaseInterface):
54
54
""" A base class for interfaces using VTK """
55
55
56
56
_redirect_x = True
57
- _vtk_major = 5
57
+ _vtk_version = ( 4 , 0 , 0 )
58
58
59
59
def __init__ (self , ** inputs ):
60
- if not have_tvtk :
60
+ if no_tvtk () :
61
61
raise ImportError ('This interface requires tvtk to run.' )
62
62
63
- # Identify VTK version major, use 5.0 if failed
64
63
try :
65
64
from tvtk .tvtk_classes .vtk_version import vtk_build_version
66
- self ._vtk_major = int (vtk_build_version [ 0 ])
65
+ self ._vtk_version = tuple ([ int (v ) for v in vtk_build_version . split ( '.' ) ])
67
66
except ImportError :
68
67
iflogger .warning (
69
- 'VTK version-major inspection using tvtk failed, assuming VTK <= 5.0.' )
70
-
68
+ 'VTK version-major inspection using tvtk failed, assuming VTK == 4.0.' )
71
69
super (TVTKBaseInterface , self ).__init__ (** inputs )
72
70
71
+ def version (self ):
72
+ return self ._vtk_version
73
+
73
74
74
75
class WarpPointsInputSpec (BaseInterfaceInputSpec ):
75
76
points = File (exists = True , mandatory = True ,
@@ -158,7 +159,7 @@ def _run_interface(self, runtime):
158
159
newpoints = [p + d for p , d in zip (points , disps )]
159
160
mesh .points = newpoints
160
161
w = tvtk .PolyDataWriter ()
161
- if self ._vtk_major <= 5 :
162
+ if self .version ()[ 0 ] < 6 :
162
163
w .input = mesh
163
164
else :
164
165
w .set_input_data_object (mesh )
@@ -290,7 +291,7 @@ def _run_interface(self, runtime):
290
291
writer = tvtk .PolyDataWriter (
291
292
file_name = op .abspath (self .inputs .out_warp ))
292
293
293
- if self ._vtk_major <= 5 :
294
+ if self .version ()[ 0 ] < 6 :
294
295
writer .input = out_mesh
295
296
else :
296
297
writer .set_input_data_object (out_mesh )
@@ -411,7 +412,7 @@ def _run_interface(self, runtime):
411
412
vtk1 .point_data .vectors = warping
412
413
writer = tvtk .PolyDataWriter (
413
414
file_name = op .abspath (self .inputs .out_warp ))
414
- if self ._vtk_major <= 5 :
415
+ if self .version ()[ 0 ] < 6 :
415
416
writer .input = vtk1
416
417
else :
417
418
writer .set_input_data_object (vtk1 )
@@ -422,7 +423,7 @@ def _run_interface(self, runtime):
422
423
writer = tvtk .PolyDataWriter (
423
424
file_name = op .abspath (self .inputs .out_file ))
424
425
425
- if self ._vtk_major <= 5 :
426
+ if self .version ()[ 0 ] < 6 :
426
427
writer .input = vtk1
427
428
else :
428
429
writer .set_input_data_object (vtk1 )
0 commit comments