text: # 
  #   General-purpose Photovoltaic Device Model - a drift diffusion base/Shockley-Read-Hall
  #   model for 1st, 2nd and 3rd generation solar cells.
  #   Copyright (C) 2008-2022 Roderick C. I. MacKenzie r.c.i.mackenzie at googlemail.com
  #   
  #   https://www.gpvdm.com
  #   
  #   This program is free software; you can redistribute it and/or modify
  #   it under the terms of the GNU General Public License v2.0, as published by
  #   the Free Software Foundation.
  #   
  #   This program is distributed in the hope that it will be useful,
  #   but WITHOUT ANY WARRANTY; without even the implied warranty of
  #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #   GNU General Public License for more details.
  #   
  #   You should have received a copy of the GNU General Public License along
  #   with this program; if not, write to the Free Software Foundation, Inc.,
  #   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  #   
  
  ## @package gl_base_widget
  #  An common widget to share between gl and gl_fallback
  #
  
  import sys
  from math import fabs
  
  try:
  	from OpenGL.GL import *
  	from OpenGL.GLU import *
  	from PyQt5 import QtOpenGL
  	from PyQt5.QtOpenGL import QGLWidget
  	from PyQt5.QtWidgets import QMenu
  	from gl_lib import val_to_rgb
  
  except:
  	pass
  
  from PyQt5.QtCore import QTimer
  
  
  class gl_base_widget():
  
  	def __init__(self):
  		self.timer=None
  		self.suns=0.0
  		self.lastPos=None
  		self.ray_file=""
  		self.mouse_click_time=0.0
  