Import Geant4 10.3.0.beta source tree
This commit is contained in:
@@ -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 ();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user