34 #ifdef G4VIS_BUILD_OPENGLXM_DRIVER
42 G4OpenGLStoredXmViewer::
43 G4OpenGLStoredXmViewer (G4OpenGLStoredSceneHandler& sceneHandler,
45 :
G4VViewer (sceneHandler, sceneHandler.IncrementViewCount (), name),
46 G4OpenGLViewer (sceneHandler),
47 G4OpenGLXmViewer (sceneHandler),
48 G4OpenGLStoredViewer (sceneHandler)
51 if (fViewId < 0)
return;
55 G4cerr <<
"G4OpenGLStoredXmViewer::G4OpenGLStoredXmViewer -"
56 " G4OpenGLXmViewer couldn't get a visual." <<
G4endl;
61 G4OpenGLStoredXmViewer::~G4OpenGLStoredXmViewer () {
62 GetSceneHandler()->RemoveViewerFromList(
this);
65 void G4OpenGLStoredXmViewer::Initialise () {
67 CreateGLXContext (vi_stored);
73 glDrawBuffer (GL_BACK);
76 void G4OpenGLStoredXmViewer::DrawView () {
77 #ifdef G4DEBUG_VIS_OGL
78 printf(
"G4OpenGLStoredXmViewer::DrawView \n");
99 if (!fNeedKernelVisit) KernelVisitDecision ();
100 G4bool kernelVisitWasNeeded = fNeedKernelVisit;
108 #ifdef G4DEBUG_VIS_OGL
109 printf(
"G4OpenGLStoredXmViewer::DrawView () flush\n");
113 HaloingSecondPass ();
120 #ifdef G4DEBUG_VIS_OGL
121 printf(
"G4OpenGLStoredXmViewer::DrawView not hlr \n");
125 if (!kernelVisitWasNeeded) {
126 #ifdef G4DEBUG_VIS_OGL
127 printf(
"G4OpenGLStoredXmViewer::ComputeView Don't need kernel Visit \n");
132 #ifdef G4DEBUG_VIS_OGL
133 printf(
"G4OpenGLStoredXmViewer::ComputeView Need kernel Visit \n");
137 if (fVP.IsCutaway() &&
148 #ifdef G4DEBUG_VIS_OGL
149 printf(
"G4OpenGLStoredXmViewer::DrawView ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
153 void G4OpenGLStoredXmViewer::FinishView () {
157 #ifdef G4DEBUG_VIS_OGL
158 printf(
"G4OpenGLStoredXmViewer::FinishView () flush \n");
163 glGetIntegerv(GL_RENDER_MODE, &renderMode);
164 if (renderMode == GL_RENDER) glXSwapBuffers (dpy, win);
G4GLOB_DLL std::ostream G4cerr