Import Geant4 10.3.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2016-06-30 14:12:05 +02:00
parent a654a7ab1f
commit 4ec577e5c4
2021 changed files with 100995 additions and 78277 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateQtViewer.cc 94206 2015-11-09 08:11:59Z gcosmo $
// $Id: G4OpenGLImmediateQtViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Class G4OpenGLImmediateQtViewer : a class derived from G4OpenGLQtViewer and
@@ -317,6 +317,8 @@ void G4OpenGLImmediateQtViewer::ShowView (
//////////////////////////////////////////////////////////////////////////////
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
{
// Tentatively offered - JA
// glFlush ();
fHasToRepaint = true;
activateWindow();
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateSceneHandler.cc 87695 2014-12-17 09:35:24Z gcosmo $
// $Id: G4OpenGLImmediateSceneHandler.cc 96669 2016-04-29 12:03:24Z gcosmo $
//
//
// Andrew Walkden 10th February 1997
@@ -271,8 +271,8 @@ void G4OpenGLImmediateSceneHandler::EndPrimitives2D()
glMatrixMode (GL_MODELVIEW);
glPopMatrix();
// See all primitives immediately...
glFlush ();
// See all primitives immediately... At least soon...
ScaledFlush();
G4OpenGLSceneHandler::EndPrimitives2D ();
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateWin32Viewer.cc 66373 2012-12-18 09:41:34Z gcosmo $
// $Id: G4OpenGLImmediateWin32Viewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Class G4OpenGLImmediateWin32Viewer : a class derived from G4OpenGLWin32Viewer and
@@ -76,9 +76,6 @@ void G4OpenGLImmediateWin32Viewer::DrawView () {
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
//Make sure current viewer is attached and clean...
//Win32 version needed
//glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, getWinWidth(), getWinHeight());
if(style!=G4ViewParameters::hlr &&
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXViewer.cc 87695 2014-12-17 09:35:24Z gcosmo $
// $Id: G4OpenGLImmediateXViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Andrew Walkden 7th February 1997
@@ -80,18 +80,6 @@ void G4OpenGLImmediateXViewer::DrawView () {
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
// //Make sure current viewer is attached and clean...
//#ifdef G4MULTITHREADED
// G4int thread_id = G4Threading::G4GetThreadId();
// G4cout << "G4OpenGLImmediateXViewer::DrawView: thread " << thread_id << G4endl;
// if (thread_id < 0) {
// glXMakeCurrent (dpy, win, cxMaster);
// } else {
// glXMakeCurrent (dpy, win, cxVisSubThread);
// }
//#else
// glXMakeCurrent (dpy, win, cxMaster);
//#endif
if(style!=G4ViewParameters::hlr &&
haloing_enabled) {
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXmViewer.cc 87695 2014-12-17 09:35:24Z gcosmo $
// $Id: G4OpenGLImmediateXmViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Andrew Walkden 10th February 1997
@@ -81,19 +81,6 @@ void G4OpenGLImmediateXmViewer::DrawView () {
printf("G4OpenGLImmediateXmViewer::DrawView : \n");
#endif
// //Make sure current viewer is attached and clean...
//#ifdef G4MULTITHREADED
// G4int thread_id = G4Threading::G4GetThreadId();
// G4cout << "G4OpenGLImmediateXmViewer::DrawView: thread " << thread_id << G4endl;
// if (thread_id < 0) {
// glXMakeCurrent (dpy, win, cxMaster);
// } else {
// glXMakeCurrent (dpy, win, cxVisSubThread);
// }
//#else
// glXMakeCurrent (dpy, win, cxMaster);
//#endif
if(style!=G4ViewParameters::hlr &&
haloing_enabled) {
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLQtViewer.cc 91686 2015-07-31 09:40:08Z gcosmo $
// $Id: G4OpenGLQtViewer.cc 95635 2016-02-17 08:06:22Z gcosmo $
//
//
// G4OpenGLQtViewer : Class to provide Qt specific
@@ -1657,7 +1657,28 @@ void G4OpenGLQtViewer::G4keyPressEvent (QKeyEvent * evnt)
else if (evnt->key() == Qt::Key_Plus) { // go forward
moveScene(0,0,-1,false);
}
else if (evnt->key() == Qt::Key_F) {
std::vector <G4ThreeVector> cameraPosition = ComputeFlyThrough(NULL);
G4Point3D targetPoint;
G4Point3D origineTargetPoint;
G4VisExtent extent;
G4double radius;
origineTargetPoint = fSceneHandler.GetScene()->GetStandardTargetPoint() + fVP.GetCurrentTargetPoint ();
for (unsigned int a=0; a<cameraPosition.size()-1; a++) {
// should change camera position and target point
radius = fSceneHandler.GetScene()->GetExtent().GetExtentRadius();
G4Vector3D vpDirection = -(cameraPosition[a+1]-cameraPosition[a]);
fVP.SetViewpointDirection(vpDirection.unit());
G4Vector3D newTargetPoint = cameraPosition[a] - radius * vpDirection.unit() - fSceneHandler.GetScene()->GetStandardTargetPoint();
fVP.SetCurrentTargetPoint(newTargetPoint);
updateQWidget();
}
}
// escaped from full screen
if (evnt->key() == Qt::Key_Escape) {
toggleFullScreen(false);
@@ -4625,7 +4646,7 @@ void G4OpenGLQtViewer::SwitchToVisSubThread()
SetQGLContextVisSubThread(QThread::currentThread());
// - Wait for the vis thread to set its QThread
G4CONDTIONBROADCAST(&c1_VisSubThreadQtOpenGLContextInitialized);
G4CONDITIONBROADCAST(&c1_VisSubThreadQtOpenGLContextInitialized);
// Unlock the vis thread if it is Qt Viewer
G4CONDITIONWAIT(&c2_VisSubThreadQtOpenGLContextMoved, &mWaitForVisSubThreadQtOpenGLContextMoved);
@@ -4687,7 +4708,7 @@ void G4OpenGLQtViewer::MovingToVisSubThread(){
qGLW->context()->moveToThread(fQGLContextVisSubThread);
#endif
G4CONDTIONBROADCAST(&c2_VisSubThreadQtOpenGLContextMoved);
G4CONDITIONBROADCAST(&c2_VisSubThreadQtOpenGLContextMoved);
}
#endif
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLSceneHandler.cc 91686 2015-07-31 09:40:08Z gcosmo $
// $Id: G4OpenGLSceneHandler.cc 96669 2016-04-29 12:03:24Z gcosmo $
//
//
// Andrew Walkden 27th March 1996
@@ -57,31 +57,8 @@
#include "G4AttHolder.hh"
#include "G4PhysicalConstants.hh"
G4OpenGLSceneHandler::G4OpenGLSceneHandler (G4VGraphicsSystem& system,
G4int id,
const G4String& name):
G4VSceneHandler (system, id, name),
#ifdef G4OPENGL_VERSION_2
fEmulate_GL_QUADS(false),
#endif
fPickName(0),
// glFlush take about 90% time. Dividing glFlush number by 100 will
// change the first vis time from 100% to 10+90/100 = 10,9%.
fEventsDrawInterval(1),
fEventsWaitingToBeFlushed(0),
fThreePassCapable(false),
fSecondPassForTransparencyRequested(false),
fSecondPassForTransparency(false),
fThirdPassForNonHiddenMarkersRequested(false),
fThirdPassForNonHiddenMarkers(false),
fEdgeFlag(true)
{
}
G4OpenGLSceneHandler::~G4OpenGLSceneHandler ()
{
ClearStore ();
}
G4int G4OpenGLSceneHandler::fEventsDrawInterval = 1;
G4int G4OpenGLSceneHandler::fEventsWaitingToBeFlushed = 0;
const GLubyte G4OpenGLSceneHandler::fStippleMaskHashed [128] = {
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
@@ -102,6 +79,30 @@ const GLubyte G4OpenGLSceneHandler::fStippleMaskHashed [128] = {
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55
};
G4OpenGLSceneHandler::G4OpenGLSceneHandler (G4VGraphicsSystem& system,
G4int id,
const G4String& name):
G4VSceneHandler (system, id, name),
#ifdef G4OPENGL_VERSION_2
fEmulate_GL_QUADS(false),
#endif
fPickName(0),
// glFlush take about 90% time. Dividing glFlush number by 100 will
// change the first vis time from 100% to 10+90/100 = 10,9%.
fThreePassCapable(false),
fSecondPassForTransparencyRequested(false),
fSecondPassForTransparency(false),
fThirdPassForNonHiddenMarkersRequested(false),
fThirdPassForNonHiddenMarkers(false),
fEdgeFlag(true)
{
}
G4OpenGLSceneHandler::~G4OpenGLSceneHandler ()
{
ClearStore ();
}
void G4OpenGLSceneHandler::ClearAndDestroyAtts()
{
std::map<GLuint, G4AttHolder*>::iterator i;
@@ -1199,7 +1200,7 @@ void G4OpenGLSceneHandler::drawVBOArray(std::vector<double> vertices) {
#endif
}
// delet the buffer
// delete the buffer
#ifndef G4VIS_BUILD_OPENGLWT_DRIVER
glDeleteBuffers(1,&fVertexBufferObject);
#else
@@ -1208,5 +1209,4 @@ void G4OpenGLSceneHandler::drawVBOArray(std::vector<double> vertices) {
}
#endif
#endif
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLStoredQtViewer.cc 94206 2015-11-09 08:11:59Z gcosmo $
// $Id: G4OpenGLStoredQtViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Class G4OpenGLStoredQtViewer : a class derived from G4OpenGLQtViewer and
@@ -136,8 +136,8 @@ G4bool G4OpenGLStoredQtViewer::CompareForKernelVisit(G4ViewParameters& lastVP)
(lastVP.GetBackgroundColour ()!= fVP.GetBackgroundColour ())||
(lastVP.IsPicking () != fVP.IsPicking ())
// ||
// (lastVP.GetVisAttributesModifiers().size() !=
// fVP.GetVisAttributesModifiers().size())
// (lastVP.GetVisAttributesModifiers() !=
// fVP.GetVisAttributesModifiers())
)
return true;
@@ -402,11 +402,13 @@ void G4OpenGLStoredQtViewer::ShowView (
//////////////////////////////////////////////////////////////////////////////
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
{
// glFlush (); // Tentativley offered by JA 29/04/16.
// Some X servers fail to draw all trajectories, particularly Mac
// XQuartz. Revisit this at a future date. Meanwhile, issue an
// extra...
ClearView();
DrawView();
ClearView(); // Necessary? JA 29/04/16
DrawView(); // Necessary? JA 29/04/16
activateWindow();
// glFlush(); // NO NEED and as drawView will already cause a flush
// that could do a double flush
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLStoredSceneHandler.cc 87695 2014-12-17 09:35:24Z gcosmo $
// $Id: G4OpenGLStoredSceneHandler.cc 96669 2016-04-29 12:03:24Z gcosmo $
//
//
// Andrew Walkden 10th February 1997
@@ -51,6 +51,12 @@
#include <typeinfo>
G4int G4OpenGLStoredSceneHandler::fSceneIdCount = 0;
G4int G4OpenGLStoredSceneHandler::fDisplayListId = 0;
G4bool G4OpenGLStoredSceneHandler::fMemoryForDisplayLists = true;
G4int G4OpenGLStoredSceneHandler::fDisplayListLimit = 50000;
G4OpenGLStoredSceneHandler::PO::PO():
fDisplayListId(0),
fPickName(0),
@@ -626,10 +632,5 @@ void G4OpenGLStoredSceneHandler::ClearTransientStore ()
}
}
G4int G4OpenGLStoredSceneHandler::fSceneIdCount = 0;
G4int G4OpenGLStoredSceneHandler::fDisplayListId = 0;
G4bool G4OpenGLStoredSceneHandler::fMemoryForDisplayLists = true;
G4int G4OpenGLStoredSceneHandler::fDisplayListLimit = 50000;
#endif
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLStoredViewer.cc 91686 2015-07-31 09:40:08Z gcosmo $
// $Id: G4OpenGLStoredViewer.cc 95635 2016-02-17 08:06:22Z gcosmo $
//
//
// Andrew Walkden 7th February 1997
@@ -93,8 +93,8 @@ G4bool G4OpenGLStoredViewer::CompareForKernelVisit(G4ViewParameters& lastVP) {
fVP.GetDefaultTextVisAttributes()->GetColour()) ||
(lastVP.GetBackgroundColour ()!= fVP.GetBackgroundColour ())||
(lastVP.IsPicking () != fVP.IsPicking ()) ||
(lastVP.GetVisAttributesModifiers().size() !=
fVP.GetVisAttributesModifiers().size())
(lastVP.GetVisAttributesModifiers() !=
fVP.GetVisAttributesModifiers())
)
return true;
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLStoredWin32Viewer.cc 66373 2012-12-18 09:41:34Z gcosmo $
// $Id: G4OpenGLStoredWin32Viewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Class G4OpenGLStoredWin32Viewer : a class derived from G4OpenGLWin32Viewer and
@@ -67,9 +67,6 @@ void G4OpenGLStoredWin32Viewer::Initialise () {
void G4OpenGLStoredWin32Viewer::DrawView () {
//Make sure current viewer is attached and clean...
//Win32 version needed
// glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, getWinWidth(), getWinHeight());
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXViewer.cc 87695 2014-12-17 09:35:24Z gcosmo $
// $Id: G4OpenGLStoredXViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Andrew Walkden 7th February 1997
@@ -78,18 +78,6 @@ void G4OpenGLStoredXViewer::DrawView () {
#ifdef G4DEBUG_VIS_OGL
printf("G4OpenGLStoredXViewer::DrawView\n");
#endif
// //Make sure current viewer is attached and clean...
//#ifdef G4MULTITHREADED
// G4int thread_id = G4Threading::G4GetThreadId();
// G4cout << "G4OpenGLStoredXViewer::DrawView: thread " << thread_id << G4endl;
// if (thread_id < 0) {
// glXMakeCurrent (dpy, win, cxMaster);
// } else {
// glXMakeCurrent (dpy, win, cxVisSubThread);
// }
//#else
// glXMakeCurrent (dpy, win, cxMaster);
//#endif
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXmViewer.cc 87695 2014-12-17 09:35:24Z gcosmo $
// $Id: G4OpenGLStoredXmViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Andrew Walkden 10th February 1997
@@ -78,19 +78,6 @@ void G4OpenGLStoredXmViewer::DrawView () {
printf("G4OpenGLStoredXmViewer::DrawView \n");
#endif
// //Make sure current viewer is attached and clean...
//#ifdef G4MULTITHREADED
// G4int thread_id = G4Threading::G4GetThreadId();
// G4cout << "G4OpenGLStoredXmViewer::DrawView: thread " << thread_id << G4endl;
// if (thread_id < 0) {
// glXMakeCurrent (dpy, win, cxMaster);
// } else {
// glXMakeCurrent (dpy, win, cxVisSubThread);
// }
//#else
// glXMakeCurrent (dpy, win, cxMaster);
//#endif
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
//See if things have changed from last time and remake if necessary...
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLViewer.cc 94428 2015-11-16 12:40:02Z gcosmo $
// $Id: G4OpenGLViewer.cc 97315 2016-06-01 12:12:25Z gcosmo $
//
//
// Andrew Walkden 27th March 1996
@@ -60,6 +60,7 @@
#include <sstream>
#include <string>
#include <iomanip>
G4OpenGLViewer::G4OpenGLViewer (G4OpenGLSceneHandler& scene):
G4VViewer (scene, -1),
@@ -503,7 +504,6 @@ std::vector < G4OpenGLViewerPickMap* > G4OpenGLViewer::GetPickDetails(GLdouble x
{
std::vector < G4OpenGLViewerPickMap* > pickMapVector;
std::ostringstream oss;
const G4int BUFSIZE = 512;
GLuint selectBuffer[BUFSIZE];
glSelectBuffer(BUFSIZE, selectBuffer);
@@ -540,7 +540,6 @@ std::vector < G4OpenGLViewerPickMap* > G4OpenGLViewer::GetPickDetails(GLdouble x
p++;
p++;
for (GLuint j = 0; j < nnames; ++j) {
oss.clear();
GLuint name = *p++;
pickMap->setHitNumber(i);
pickMap->setSubHitNumber(j);
@@ -552,6 +551,7 @@ std::vector < G4OpenGLViewerPickMap* > G4OpenGLViewer::GetPickDetails(GLdouble x
if(attHolder && attHolder->GetAttDefs().size()) {
for (size_t iAtt = 0;
iAtt < attHolder->GetAttDefs().size(); ++iAtt) {
std::ostringstream oss;
oss << G4AttCheck(attHolder->GetAttValues()[iAtt],
attHolder->GetAttDefs()[iAtt]);
pickMap->addAttributes(oss.str());
@@ -1036,7 +1036,7 @@ std::string G4OpenGLViewer::getRealPrintFilename() {
if (fExportFilenameIndex != -1) {
temp += std::string("_");
std::ostringstream os;
os << fExportFilenameIndex;
os << std::setw(4) << std::setfill('0') << fExportFilenameIndex;
std::string nb_str = os.str();
temp += nb_str;
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLViewerMessenger.cc 82764 2014-07-08 14:24:04Z gcosmo $
// $Id: G4OpenGLViewerMessenger.cc 96669 2016-04-29 12:03:24Z gcosmo $
#ifdef G4VIS_BUILD_OPENGL_DRIVER
@@ -173,7 +173,7 @@ G4OpenGLViewerMessenger::G4OpenGLViewerMessenger()
fpCommandEventsDrawInterval =
new G4UIcmdWithAnInteger("/vis/ogl/set/eventsDrawInterval", this);
fpCommandEventsDrawInterval->SetGuidance
("Set number of events allowed in drawing pipeline - speeds drawing");
("Set number of events allowed in drawing pipeline - speeds drawing.");
fpCommandEventsDrawInterval->SetGuidance
("By default, the screen is updated at the end of every event."
"\nAllowing OpenGL to buffer several events can make a big improvement"
@@ -316,7 +316,6 @@ void G4OpenGLViewerMessenger::SetNewValue
G4VisManager* pVisManager = G4VisManager::GetInstance();
G4VViewer* pViewer = pVisManager->GetCurrentViewer();
if (!pViewer) {
G4cout <<
"G4OpenGLViewerMessenger::SetNewValue: No current viewer."
@@ -325,8 +324,18 @@ void G4OpenGLViewerMessenger::SetNewValue
return;
}
G4VSceneHandler* pSceneHandler = pViewer->GetSceneHandler();
if (!pSceneHandler) {
G4cout <<
"G4OpenGLViewerMessenger::SetNewValue: This viewer has no scene handler."
"\n Shouldn't happen - please report circumstances."
"\n (Viewer is \"" << pViewer->GetName() << "\".)"
"\n Try \"/vis/open\", or similar, to get one."
<< G4endl;
return;
}
G4OpenGLViewer* pOGLViewer = dynamic_cast<G4OpenGLViewer*>(pViewer);
if (!pOGLViewer) {
G4cout <<
"G4OpenGLViewerMessenger::SetNewValue: Current viewer is not of type"
@@ -337,6 +346,19 @@ void G4OpenGLViewerMessenger::SetNewValue
return;
}
G4OpenGLSceneHandler* pOGLSceneHandler =
dynamic_cast<G4OpenGLSceneHandler*>(pSceneHandler);
if (!pOGLSceneHandler) {
G4cout <<
"G4OpenGLViewerMessenger::SetNewValue: Current scene handler is not of type"
"\n OGL. (Viewer is \"" << pViewer->GetName() << "\".)"
"\n (Scene handler is \"" << pSceneHandler->GetName() << "\".)"
"\n Use \"/vis/sceneHandler/list\" and \"/vis/sceneHandler/select\""
"\n or \"/vis/open\"."
<< G4endl;
return;
}
if (command == fpCommandPrintEPS)
{
pOGLViewer->setExportImageFormat("eps",true);
@@ -406,6 +428,14 @@ void G4OpenGLViewerMessenger::SetNewValue
return;
}
if (command == fpCommandEventsDrawInterval)
{
G4int eventsDrawInterval =
fpCommandEventsDrawInterval->GetNewIntValue(newValue);
pOGLSceneHandler->SetEventsDrawInterval(eventsDrawInterval);
return;
}
G4OpenGLStoredViewer* pOGLSViewer =
dynamic_cast<G4OpenGLStoredViewer*>(pViewer);
@@ -507,40 +537,6 @@ void G4OpenGLViewerMessenger::SetNewValue
return;
}
G4VSceneHandler* pSceneHandler = pViewer->GetSceneHandler();
if (!pSceneHandler) {
G4cout <<
"G4OpenGLViewerMessenger::SetNewValue: This viewer has no scene handler."
"\n Shouldn't happen - please report circumstances."
"\n (Viewer is \"" << pViewer->GetName() << "\".)"
"\n Try \"/vis/open\", or similar, to get one."
<< G4endl;
return;
}
G4OpenGLSceneHandler* pOGLSceneHandler =
dynamic_cast<G4OpenGLSceneHandler*>(pSceneHandler);
if (!pOGLSceneHandler) {
G4cout <<
"G4OpenGLViewerMessenger::SetNewValue: Current scene handler is not of type"
"\n OGL. (Viewer is \"" << pViewer->GetName() << "\".)"
"\n (Scene handler is \"" << pSceneHandler->GetName() << "\".)"
"\n Use \"/vis/sceneHandler/list\" and \"/vis/sceneHandler/select\""
"\n or \"/vis/open\"."
<< G4endl;
return;
}
if (command == fpCommandEventsDrawInterval)
{
G4int eventsDrawInterval =
fpCommandEventsDrawInterval->GetNewIntValue(newValue);
pOGLSceneHandler->SetEventsDrawInterval(eventsDrawInterval);
return;
}
G4OpenGLStoredSceneHandler* pOGLSSceneHandler =
dynamic_cast<G4OpenGLStoredSceneHandler*>(pViewer->GetSceneHandler());
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLWin32Viewer.cc 66373 2012-12-18 09:41:34Z gcosmo $
// $Id: G4OpenGLWin32Viewer.cc 97430 2016-06-03 07:20:11Z gcosmo $
//
//
// G4OpenGLWin32Viewer : Class to provide WindowsNT specific
@@ -136,7 +136,7 @@ void G4OpenGLWin32Viewer::CreateMainWindow (
NULL);
if(!fWindow) return;
::SetWindowLongPtr(fWindow,GWLP_USERDATA,LONG(this));
::SetWindowLongPtr(fWindow,GWLP_USERDATA,LONG_PTR(this));
// initialize OpenGL rendering :
fHDC = ::GetDC(fWindow);
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLXViewer.cc 92942 2015-09-22 07:31:39Z gcosmo $
// $Id: G4OpenGLXViewer.cc 97241 2016-05-30 12:06:54Z gcosmo $
//
//
// Andrew Walkden 7th February 1997
@@ -92,6 +92,15 @@ extern "C" {
}
void G4OpenGLXViewer::SetView () {
#ifdef G4MULTITHREADED
if (G4Threading::IsMasterThread()) {
glXMakeCurrent (dpy, win, cxMaster);
} else {
glXMakeCurrent (dpy, win, cxVisSubThread);
}
#else
glXMakeCurrent (dpy, win, cxMaster);
#endif
G4OpenGLViewer::SetView ();
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenGLXmViewer.cc 87695 2014-12-17 09:35:24Z gcosmo $
// $Id: G4OpenGLXmViewer.cc 96733 2016-05-02 11:52:48Z gcosmo $
//
//
// Andrew Walkden 10th February 1997
@@ -59,6 +59,10 @@
void G4OpenGLXmViewer::ShowView () {
glXWaitGL (); //Wait for effects of all previous OpenGL commands to
//be propagated before progressing.
glFlush ();
G4Xt::getInstance () -> SecondaryLoop ();
}