43 context = TestHelper.getInstance().getHelperContext()
44 modOffRend = context.module(
"oSSOffscreenRender")
45 if not modOffRend.field(
"supported").value:
46 Logging.warning(
"Offscreen rendering is not supported on this hardware. Cannot create screenshot.")
49 resultDirectory = Base.getResultDirectory()
54 filename = os.path.join(resultDirectory,
"Screenshot_%03d.png")
55 while os.path.isfile(filename % (i)):
59 path = os.path.join(resultDirectory, filename)
61 if os.path.isfile(path):
62 Logging.error(
"File with name %s already exists!" % (path))
67 changeSet.setFieldValue(
"oSSOffscreenRender.transparencyType", transparencyType)
69 changeSet.setFieldValue(
"oSSOffscreenRender.size", size)
71 changeSet.setFieldValue(
"oSSOffscreenRender.bgColor", backgroundColor)
73 modImgSave = context.module(
"oSSImgSave")
75 modOffRend.field(
"sceneGraph").connectFrom(Base.getTestCaseContext().field(SONodeName))
76 mevis.MLAB.processInventorQueue()
77 modOffRend.field(
"update").touch()
78 if not modOffRend.field(
"output0").isValid():
79 Logging.error(
"Creation of screenshot failed.")
82 modImgSave.field(
"format").value =
"PNG"
83 modImgSave.field(
"filename").value = path
84 modImgSave.field(
"save").touch()
95 helperModule = TestHelper.getInstance().getHelperContext()
97 pathname = Base.getResultDirectory()
100 Logging.error(
"ScreenShot failed (no window available)")
103 tabview = window.getTabViewControl()
112 mevis.MLAB.processEvents(
True)
115 for i
in range(0, tabview.countTabs()):
116 tabview.selectTabAtIndex(i)
118 mevis.MLAB.priv().repaintWidget(tabview.widget())
120 imgName = os.path.join(pathname, filename +
"." + str(i) +
".png")
122 if not window.createScreenshot(imgName, grabFromScreen, scaleToLowRes):
123 Logging.warning(
"ScreenShot failed")
125 imgList.append(imgName)
createOffscreenScreenShot(SONodeName, filename=None, transparencyType=None, size=None, backgroundColor=None)
Create an screenshot of the given Inventor node that must be present in the given context.