You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.0 KiB
65 lines
2.0 KiB
# A simple test for a vtkTkRenderWidget. Run it like so:
|
|
# python TestTkRenderWindowInteractor.py -B $VTK_DATA_ROOT/Baseline/Rendering
|
|
|
|
import os
|
|
import vtk
|
|
from vtk.test import Testing
|
|
|
|
import Tkinter
|
|
from vtk.tk.vtkTkRenderWindowInteractor import vtkTkRenderWindowInteractor
|
|
|
|
|
|
class TestTkRenderWindowInteractor(Testing.vtkTest):
|
|
|
|
# Stick your VTK pipeline here if you want to create the pipeline
|
|
# only once. If you put it in the constructor or in the function
|
|
# the pipeline will be created afresh for each and every test.
|
|
|
|
# create a dummy Tkinter root window.
|
|
root = Tkinter.Tk()
|
|
|
|
# create a rendering window and renderer
|
|
ren = vtk.vtkRenderer()
|
|
tkrw = vtkTkRenderWindowInteractor(root, width=300, height=300)
|
|
tkrw.Initialize()
|
|
tkrw.pack()
|
|
rw = tkrw.GetRenderWindow()
|
|
rw.AddRenderer(ren)
|
|
|
|
# create an actor and give it cone geometry
|
|
cs = vtk.vtkConeSource()
|
|
cs.SetResolution(8)
|
|
map = vtk.vtkPolyDataMapper()
|
|
map.SetInputConnection(cs.GetOutputPort())
|
|
act = vtk.vtkActor()
|
|
act.SetMapper(map)
|
|
|
|
# assign our actor to the renderer
|
|
ren.AddActor(act)
|
|
|
|
def testvtkTkRenderWindowInteractor(self):
|
|
"Test if vtkTkRenderWindowInteractor works."
|
|
self.tkrw.Start()
|
|
self.tkrw.Render()
|
|
self.root.update()
|
|
img_file = "TestTkRenderWindowInteractor.png"
|
|
Testing.compareImage(self.rw, Testing.getAbsImagePath(img_file))
|
|
Testing.interact()
|
|
|
|
# These are useful blackbox tests (not dummy ones!)
|
|
def testParse(self):
|
|
"Test if vtkTkRenderWindowInteractor is parseable"
|
|
self._testParse(self.tkrw)
|
|
|
|
def testGetSet(self):
|
|
"Testing Get/Set methods of vtkTkRenderWindowInteractor"
|
|
self._testGetSet(self.tkrw)
|
|
|
|
def testBoolean(self):
|
|
"Testing Boolean methods of vtkTkRenderWindowInteractor"
|
|
self._testBoolean(self.tkrw)
|
|
|
|
if __name__ == "__main__":
|
|
cases = [(TestTkRenderWindowInteractor, 'test')]
|
|
del TestTkRenderWindowInteractor
|
|
Testing.main(cases)
|
|
|