Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateQtViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
// $Id: G4OpenGLImmediateQtViewer.cc 101714 2016-11-22 08:53:13Z gcosmo $
//
//
// Class G4OpenGLImmediateQtViewer : a class derived from G4OpenGLQtViewer and
@@ -40,7 +40,7 @@
#include "G4Threading.hh"
#endif
#include <qapplication.h>
#include <qevent.h>
#include <qtabwidget.h>
#ifdef G4OPENGL_VERSION_2
#include <qglshaderprogram.h>
@@ -55,6 +55,7 @@ G4OpenGLImmediateQtViewer::G4OpenGLImmediateQtViewer
G4OpenGLQtViewer (sceneHandler),
G4OpenGLImmediateViewer (sceneHandler)
{
fQGLWidgetInitialiseCompleted = false;
setFocusPolicy(Qt::StrongFocus); // enable keybord events
fHasToRepaint = false;
@@ -66,7 +67,7 @@ G4OpenGLImmediateQtViewer::G4OpenGLImmediateQtViewer
setVboDrawer(new G4OpenGLVboDrawer(this,"OGL-VBO"));
#endif
resize(fVP.GetWindowSizeHintX(),fVP.GetWindowSizeHintY());
fUpdateGLLock = false;
if (fViewId < 0) return; // In case error in base class instantiation.
}
@@ -76,10 +77,21 @@ G4OpenGLImmediateQtViewer::~G4OpenGLImmediateQtViewer() {
}
void G4OpenGLImmediateQtViewer::Initialise() {
makeCurrent();
fQGLWidgetInitialiseCompleted = false;
CreateMainWindow (this,QString(GetName()));
CreateFontLists ();
glDrawBuffer (GL_BACK);
// set the good tab active
if (QGLWidget::parentWidget()) {
QTabWidget *parentTab = dynamic_cast<QTabWidget*> (QGLWidget::parentWidget()->parent()) ;
if (parentTab) {
parentTab->setCurrentIndex(parentTab->count()-1);
}
}
fQGLWidgetInitialiseCompleted = true;
}
@@ -135,7 +147,6 @@ void G4OpenGLImmediateQtViewer::initializeGL () {
}
// Set the component visible
setVisible(true) ;
// and update it immediatly before wait for SessionStart() (batch mode)
// QCoreApplication::sendPostedEvents () ;
@@ -205,7 +216,7 @@ void G4OpenGLImmediateQtViewer::paintGL()
// return ;
}
if (!fQGLWidgetInitialiseCompleted) {
fQGLWidgetInitialiseCompleted= true;
fPaintEventLock = false;
return;
}
if ((getWinWidth() == 0) && (getWinHeight() == 0)) {
@@ -267,7 +278,9 @@ void G4OpenGLImmediateQtViewer::wheelEvent (QWheelEvent * event)
void G4OpenGLImmediateQtViewer::showEvent (QShowEvent *)
{
fHasToRepaint = true;
if (fQGLWidgetInitialiseCompleted) {
fHasToRepaint = true;
}
}
@@ -297,6 +310,11 @@ void G4OpenGLImmediateQtViewer::contextMenuEvent(QContextMenuEvent *e)
}
void G4OpenGLImmediateQtViewer::paintEvent(QPaintEvent *) {
if (! fQGLWidgetInitialiseCompleted) {
return;
}
// Force a repaint next time if the FRAMEBUFFER is not READY
fHasToRepaint = isFramebufferReady();
if ( fHasToRepaint) {
updateGL();
}
@@ -304,11 +322,20 @@ void G4OpenGLImmediateQtViewer::paintEvent(QPaintEvent *) {
void G4OpenGLImmediateQtViewer::updateQWidget() {
if (fUpdateGLLock) {
return;
}
if (! isCurrentWidget()){
return;
}
fUpdateGLLock = true;
fHasToRepaint= true;
updateGL();
updateSceneTreeComponentTreeWidgetInfos();
repaint();
fHasToRepaint= false;
updateViewerPropertiesTableWidget();
updateSceneTreeWidget();
fUpdateGLLock= false;
}