Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
parent
30a38b6937
commit
49d641e204
94
src/SimNDT/graphics/colorbarWidget.py
Normal file
94
src/SimNDT/graphics/colorbarWidget.py
Normal file
|
@ -0,0 +1,94 @@
|
|||
__author__ = 'Miguel Molero '
|
||||
|
||||
|
||||
import sys
|
||||
from PySide.QtCore import *
|
||||
from PySide.QtGui import *
|
||||
from PySide.QtOpenGL import *
|
||||
|
||||
import math
|
||||
import numpy as np
|
||||
import OpenGL.GL as GL
|
||||
import platform
|
||||
|
||||
|
||||
import glumpy
|
||||
import colormaps
|
||||
|
||||
|
||||
|
||||
class ColorbarWidget(QGLWidget):
|
||||
|
||||
|
||||
def __init__(self, parent=None, width=600, height=600):
|
||||
|
||||
self._width, self._height = width, height
|
||||
|
||||
QGLWidget.__init__(self, QGLFormat(QGL.SampleBuffers),parent)
|
||||
|
||||
self.cmap_jet = colormaps.CMAP_JET
|
||||
self.cmap_gray = colormaps.CMAP_GRAY
|
||||
self.cmap_arcoiris = colormaps.CMAP_RAINBOW
|
||||
self.colorbar = None
|
||||
|
||||
|
||||
def Show(self, cmp):
|
||||
if cmp == 0: #jet
|
||||
cmp_color = self.cmap_jet
|
||||
elif cmp == 1: #gray
|
||||
cmp_color = self.cmap_gray
|
||||
|
||||
C = np.linspace(0,255,256).astype(np.float32)
|
||||
C = C.reshape((1,256))
|
||||
self.colorbar = glumpy.image.Image(C, colormap=cmp_color)
|
||||
self.colorbar.draw(x=0, y=0, z = 0, width=self._width, height=self._height)
|
||||
self.swapBuffers()
|
||||
|
||||
|
||||
def OnDraw(self):
|
||||
self.clear()
|
||||
if self.colorbar is not None:
|
||||
self.colorbar.draw(x=0, y=0, z = 0, width=self._width, height=self._height)
|
||||
|
||||
|
||||
|
||||
def _clear(self):
|
||||
self.qglClearColor(QColor(230, 230, 230))
|
||||
|
||||
def clear(self):
|
||||
self._clear()
|
||||
GL.glClear(GL.GL_COLOR_BUFFER_BIT)
|
||||
|
||||
|
||||
def initializeGL(self):
|
||||
self._clear()
|
||||
GL.glEnable(GL.GL_BLEND)
|
||||
GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA)
|
||||
GL.glEnable(GL.GL_TEXTURE_2D)
|
||||
|
||||
def paintGL(self):
|
||||
self.makeCurrent()
|
||||
self.OnDraw()
|
||||
|
||||
|
||||
def resizeGL(self, width, height):
|
||||
|
||||
self._width, self._height = width, height
|
||||
GL.glViewport(0, 0, width, height)
|
||||
GL.glMatrixMode(GL.GL_PROJECTION)
|
||||
GL.glLoadIdentity()
|
||||
|
||||
|
||||
if self._height==0:
|
||||
self._height=1
|
||||
|
||||
if self._width==0:
|
||||
self._width=1
|
||||
|
||||
GL.glOrtho(0, self._width, 0, self._height, -1, 1)
|
||||
GL.glMatrixMode(GL.GL_MODELVIEW)
|
||||
GL.glLoadIdentity()
|
||||
|
||||
self.OnDraw()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user