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