コード例 #1
0
 def initializeGL(self):
     QOpenGLWidget.makeCurrent(self.openGLWidget)
     gl.glEnable(gl.GL_BLEND)
     gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA)
     gl.glEnable(gl.GL_DEPTH_TEST)
     gl.glDepthMask(1)
     gl.glDepthFunc(gl.GL_LEQUAL)
     self.object = gl.glGenLists(self.NLists)
     gl.glNewList(self.object, gl.GL_COMPILE)
     gl.glEndList()
コード例 #2
0
    def paintGL(self):
        QOpenGLWidget.makeCurrent(self.openGLWidget)
        ambient = [1.0, 1.0, 1.0, 0.04]
        lightpos = [1.0, 10.0, 100.0]
        gl.glLightModelfv(gl.GL_LIGHT_MODEL_AMBIENT,
                          ambient)  # Определяем текущую модель освещения
        gl.glEnable(gl.GL_LIGHTING)
        gl.glEnable(gl.GL_LIGHT0)
        gl.glEnable(gl.GL_DEPTH_TEST)
        gl.glEnable(gl.GL_COLOR_MATERIAL)
        gl.glLightfv(gl.GL_LIGHT0, gl.GL_POSITION,
                     lightpos)  # Определяем положение источника света
        try:
            self.prepere_scene()
            if self.active:
                self.prepare_orientation()
                if self.ViewAtoms:
                    gl.glCallList(self.object)  # atoms

                if self.CanSearch:
                    self.get_atom_on_screen()

                if self.ViewBonds and (len(self.MainModel.bonds) > 0):
                    gl.glCallList(self.object + 2)  # find_bonds_exact

                if self.ViewVoronoi:
                    gl.glCallList(self.object + 1)  # Voronoi

                if self.ViewBox:
                    gl.glCallList(self.object +
                                  3)  # lattice_parameters_abc_angles

                if self.ViewSurface:
                    gl.glCallList(self.object + 4)  # Surface

                if self.ViewContour:
                    gl.glCallList(self.object + 5)  # Contour

                if self.ViewContourFill:
                    gl.glCallList(self.object + 6)  # ContourFill

                if self.ViewAxes:
                    gl.glCallList(self.object + 7)  # Axes

        except Exception as exc:
            print(exc)
            pass