MCPcopy Create free account
hub / github.com/Kitware/VTK / prepareTestImage

Method prepareTestImage

Wrapping/Python/vtkmodules/test/Testing.py:202–263  ·  view source on GitHub ↗
(self, interactor, **kwargs)

Source from the content-addressed store, hash-verified

200 return filename
201
202 def prepareTestImage(self, interactor, **kwargs):
203 import time
204 startTime = time.time()
205 events = []
206
207 def onKeyPress(caller, eventId):
208 print('key is "' + caller.GetKeySym() + '"')
209 events.append((time.time() - startTime, eventId, caller.GetKeySym()))
210
211 def onButton(caller, eventId):
212 events.append((time.time() - startTime, eventId))
213
214 def onMovement(caller, eventId):
215 events.append((time.time() - startTime, eventId, caller.GetEventPosition()))
216
217 interactor.AddObserver(vtkCommand.KeyPressEvent, onKeyPress)
218 interactor.AddObserver(vtkCommand.LeftButtonPressEvent, onButton)
219 interactor.AddObserver(vtkCommand.LeftButtonReleaseEvent, onButton)
220 interactor.AddObserver(vtkCommand.MouseMoveEvent, onMovement)
221 interactor.Start()
222 rw = interactor.GetRenderWindow()
223 baseline = 'baselineFilename'
224 if 'filename' in kwargs:
225 # Render an image and save it to the given filename
226 w2if = vtkWindowToImageFilter()
227 w2if.ReadFrontBufferOff()
228 w2if.SetInput(rw)
229 w2if.Update()
230 baselineWithPath = kwargs['filename']
231 baseline = os.path.split(baselineWithPath)[-1]
232 pngw = vtkPNGWriter()
233 pngw.SetFileName(baselineWithPath)
234 pngw.SetInputConnection(w2if.GetOutputPort())
235 try:
236 pngw.Write()
237 except RuntimeError:
238 w2if.ReadFrontBufferOn()
239 pngw.Write()
240 rsz = rw.GetSize()
241 rrc = rw.GetRenderers()
242 rrs = [rrc.GetItemAsObject(i) for i in range(rrc.GetNumberOfItems())]
243 eye = [0,0,1]
244 aim = [0,0,0]
245 up = [0,1,0]
246 if len(rrs) > 0:
247 cam = rrs[0].GetActiveCamera()
248 eye = cam.GetPosition()
249 aim = cam.GetFocalPoint()
250 up = cam.GetViewUp()
251 print("""
252 Replace prepareTestImage() in your script with the following to make a test:
253
254 camera.SetPosition({eye[0]}, {eye[1]}, {eye[2]})
255 camera.SetFocalPoint({aim[0]}, {aim[1]}, {aim[2]})
256 camera.SetViewUp({up[0]}, {up[1]}, {up[2]})
257 renwin.SetSize({rsz[0]}, {rsz[1]})
258 self.assertImageMatch(renwin, '{baseline}')
259

Callers

nothing calls this directly

Calls 15

timeMethod · 0.80
GetRenderersMethod · 0.80
GetItemAsObjectMethod · 0.80
GetActiveCameraMethod · 0.80
GetViewUpMethod · 0.80
rangeClass · 0.50
printFunction · 0.50
AddObserverMethod · 0.45
StartMethod · 0.45
GetRenderWindowMethod · 0.45
SetInputMethod · 0.45
UpdateMethod · 0.45

Tested by

no test coverage detected