def __init__(self, parent=None, originatingWidget=None): QtWidgets.QFrame.__init__(self, parent) self.is_screenshot_widget = False self.qvtkWidget = QVTKRenderWindowInteractor(self) # a QWidget self.setAttribute(QtCore.Qt.WA_DeleteOnClose) # MDIFIX self.parentWidget = ref(originatingWidget) self.plane = None self.planePos = None self.lineEdit = QtWidgets.QLineEdit() self.init_cross_section_actions() self.cstb = self.initCrossSectionToolbar() layout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.TopToBottom) layout.addWidget(self.cstb) layout.addWidget(self.qvtkWidget) self.setLayout(layout) self.setMinimumSize(100, 100) # needs to be defined to resize smaller than 400x400 self.resize(600, 600) self.qvtkWidget.Initialize() self.qvtkWidget.Start() # todo 5 - adding generic drawer self.gd = GenericDrawer() self.gd.set_interactive_camera_flag(True) # placeholder for current screenshot data self.current_screenshot_data = None # placeholder for currently used basic simulation data self.current_bsd = None self.camera2D = self.gd.get_active_camera() self.camera3D = self.gd.get_renderer().MakeCamera() self.renWin = self.qvtkWidget.GetRenderWindow() self.renWin.AddRenderer(self.gd.get_renderer()) self.metadata_fetcher_dict = { 'CellField': self.get_cell_field_metadata, 'ConField': self.get_con_field_metadata, 'ScalarField': self.get_con_field_metadata, 'ScalarFieldCellLevel': self.get_con_field_metadata, 'VectorField': self.get_vector_field_metadata, 'VectorFieldCellLevel': self.get_vector_field_metadata, }
def __init__(self, parent=None): # QtGui.QFrame.__init__(self, parent) # ## self.plotWidget = CartesianPlot() # self.plotWidget = PlotWidget() # # self.parentWidget = parent # layout = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom) # layout.addWidget(self.plotWidget) # self.setLayout(layout) # self.resize(400, 400) # self.setMinimumSize(200, 200) #needs to be defined to resize smaller than 400x400 QtGui.QFrame.__init__(self, parent) self.qvtkWidget = QVTKRenderWindowInteractor(self) # a QWidget self.parentWidget = parent # self.lineEdit = QtGui.QLineEdit() # self.__initCrossSectionActions() # self.cstb = self.initCrossSectionToolbar() layout = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom) # layout.addWidget(self.cstb) layout.addWidget(self.qvtkWidget) self.setLayout(layout) self.qvtkWidget.Initialize() self.qvtkWidget.Start() # self.ren = vtk.vtkRenderer() # self.renWin = self.qvtkWidget.GetRenderWindow() # self.renWin.AddRenderer(self.ren) # self.resize(300, 300) self.chart = vtk.vtkChartXY() self.view = vtk.vtkContextView() self.ren = self.view.GetRenderer() self.renWin = self.qvtkWidget.GetRenderWindow() self.renWin.AddRenderer(self.ren) # Create a table with some points in it table = vtk.vtkTable() arrX = vtk.vtkFloatArray() arrX.SetName("X Axis") arrC = vtk.vtkFloatArray() arrC.SetName("Cosine") numPoints = 20 inc = 7.5 / (numPoints - 1) for i in range(0,numPoints): arrX.InsertNextValue(i*inc) arrC.InsertNextValue(math.cos(i * inc) + 0.0) table.AddColumn(arrX) table.AddColumn(arrC) # Now add the line plots with appropriate colors line = self.chart.AddPlot(0) line.SetInput(table,0,1) line.SetColor(0,0,255,255) line.SetWidth(2.0)
def __init__(self, parent=None, originatingWidget=None): QtWidgets.QFrame.__init__(self, parent) # print '\n\n\n\n\n CREATING NEW GRAPHICS FRAME WIDGET ',self # self.allowSaveLayout = True self.is_screenshot_widget = False self.qvtkWidget = QVTKRenderWindowInteractor(self) # a QWidget self.setAttribute(QtCore.Qt.WA_DeleteOnClose) # MDIFIX self.parentWidget = originatingWidget # self.parentWidget = parent self.plane = None self.planePos = None self.lineEdit = QtWidgets.QLineEdit() self.__initCrossSectionActions() self.cstb = self.initCrossSectionToolbar() layout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.TopToBottom) layout.addWidget(self.cstb) layout.addWidget(self.qvtkWidget) self.setLayout(layout) self.setMinimumSize( 100, 100) #needs to be defined to resize smaller than 400x400 self.resize(600, 600) self.qvtkWidget.Initialize() self.qvtkWidget.Start() self.ren = vtk.vtkRenderer() self.renWin = self.qvtkWidget.GetRenderWindow() self.renWin.AddRenderer(self.ren) # print MODULENAME,"GraphicsFrameWidget():__init__: parent=",parent # some objects below create cyclic dependencies - the widget will not free its memory unless in the close event e.g. self.drawModel2D gets set to None # # # from weakref import ref # # # self_weakref=ref(self) # # # self.drawModel2D = MVCDrawModel2D(self_weakref,parent) # # # self.draw2D = MVCDrawView2D(self.drawModel2D,self_weakref,parent) # # # self.drawModel3D = MVCDrawModel3D(self_weakref,parent) # # # self.draw3D = MVCDrawView3D(self.drawModel3D,self_weakref,parent) # MDIFIX self.drawModel2D = MVCDrawModel2D(self, self.parentWidget) self.draw2D = MVCDrawView2D(self.drawModel2D, self, self.parentWidget) self.drawModel3D = MVCDrawModel3D(self, self.parentWidget) self.draw3D = MVCDrawView3D(self.drawModel3D, self, self.parentWidget) # self.drawModel2D = MVCDrawModel2D(self,parent) # self.draw2D = MVCDrawView2D(self.drawModel2D,self,parent) # # self.drawModel3D = MVCDrawModel3D(self,parent) # self.draw3D = MVCDrawView3D(self.drawModel3D,self,parent) # self.draw2D=Draw2D(self,parent) # self.draw3D=Draw3D(self,parent) self.camera3D = self.ren.MakeCamera() self.camera2D = self.ren.GetActiveCamera() self.ren.SetActiveCamera(self.camera2D) self.currentDrawingObject = self.draw2D self.draw3DFlag = False self.usedDraw3DFlag = False # self.getattrFcn=self.getattrDraw2D # rwh test # print MODULENAME,' self.parentWidget.playerSettingsFileName= ',self.parentWidget.playerSettingsFileName if self.parentWidget.playerSettingsFileName: # does not work on Windows with Python 2.5 # with open(self.parentWidget.playerSettingsFileName, 'r') as f: f = None try: f = open(self.parentWidget.playerSettingsFileName, 'r') while True: l = f.readline() if l == "": break v = l.split() print v if string.find(v[0], 'CameraPosition') > -1: self.camera3D.SetPosition(float(v[1]), float(v[2]), float(v[3])) elif string.find(v[0], 'CameraFocalPoint') > -1: self.camera3D.SetFocalPoint(float(v[1]), float(v[2]), float(v[3])) elif string.find(v[0], 'CameraViewUp') > -1: self.camera3D.SetViewUp(float(v[1]), float(v[2]), float(v[3])) # elif string.find(v[0], 'ViewPlaneNormal') > -1: # deprecated # self.camera3D.SetViewPlaneNormal(float(v[1]), float(v[2]), float(v[3])) elif string.find(v[0], 'CameraClippingRange') > -1: self.camera3D.SetClippingRange(float(v[1]), float(v[2])) elif string.find(v[0], 'CameraDistance') > -1: print 'SetDistance = ', float(v[1]) self.camera3D.SetDistance(float(v[1])) elif string.find(v[0], 'ViewAngle') > -1: self.camera3D.SetViewAngle(float(v[1])) except IOError: pass self.screenshotWindowFlag = False