Changeset 873 for trunk/source/visualization/OpenGL/src
- Timestamp:
- Oct 30, 2008, 5:47:35 PM (16 years ago)
- Location:
- trunk/source/visualization/OpenGL/src
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQt.cc
r866 r873 25 25 // 26 26 // 27 // $Id: G4OpenGLImmediateQt.cc,v 1. 3 2008/10/15 10:26:25lgarnier Exp $27 // $Id: G4OpenGLImmediateQt.cc,v 1.4 2008/10/24 13:49:19 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 58 58 G4VViewer* G4OpenGLImmediateQt::CreateViewer 59 59 (G4VSceneHandler& scene, const G4String& name) { 60 #ifdef G EANT4_QT_DEBUG60 #ifdef G4DEBUG 61 61 printf("G4OpenGLImmediateQt::CreateViewer \n"); 62 62 #endif … … 78 78 " new G4OpenGLImmediateQtViewer." << G4endl; 79 79 } 80 #ifdef G EANT4_QT_DEBUG80 #ifdef G4DEBUG 81 81 printf("G4OpenGLImmediateQt::CreateViewer END \n"); 82 82 #endif -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc
r866 r873 25 25 // 26 26 // 27 // $Id: G4OpenGLImmediateQtViewer.cc,v 1. 5 2008/10/15 10:24:04lgarnier Exp $27 // $Id: G4OpenGLImmediateQtViewer.cc,v 1.6 2008/10/24 13:49:19 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 35 35 36 36 #include "G4OpenGLImmediateQtViewer.hh" 37 #include "G4VisManager.hh"38 37 39 38 #include "G4ios.hh" … … 42 41 (G4OpenGLImmediateSceneHandler& sceneHandler, 43 42 const G4String& name): 44 G4VViewer (sceneHandler, sceneHandler.IncrementViewCount (), name), 45 G4OpenGLViewer (sceneHandler), 46 G4OpenGLQtViewer (sceneHandler), 47 G4OpenGLImmediateViewer (sceneHandler), 48 QGLWidget() // FIXME : gerer le pb du parent ! 49 { 50 nbPaint =0; 43 G4VViewer (sceneHandler, sceneHandler.IncrementViewCount (), name), 44 G4OpenGLViewer (sceneHandler), 45 G4OpenGLQtViewer (sceneHandler), 46 G4OpenGLImmediateViewer (sceneHandler) 47 { 48 49 //set true to picking 50 fVP.SetPicking(true); 51 #if QT_VERSION < 0x040000 52 setFocusPolicy(QWidget::StrongFocus); // enable keybord events 53 #else 54 setFocusPolicy(Qt::StrongFocus); // enable keybord events 55 #endif 56 hasToRepaint =false; 57 51 58 if (fViewId < 0) return; // In case error in base class instantiation. 52 59 } 53 60 54 61 G4OpenGLImmediateQtViewer::~G4OpenGLImmediateQtViewer() { 55 #ifdef GEANT4_QT_DEBUG 56 printf("GLWidget::~GLWidget \n"); 57 #endif 58 makeCurrent(); 59 #ifdef GEANT4_QT_DEBUG 60 printf("GLWidget::~GLWidget END\n"); 61 #endif 62 makeCurrent(); 62 63 } 63 64 64 65 void G4OpenGLImmediateQtViewer::Initialise() { 65 #ifdef GEANT4_QT_DEBUG 66 printf("GLWidget::Initialise \n"); 67 #endif 68 #ifdef GEANT4_QT_DEBUG 69 printf("readyToPaint = false \n"); 70 #endif 71 readyToPaint = false; 72 CreateGLQtContext (); 73 #ifdef GEANT4_QT_DEBUG 74 printf("G4OpenGLImmediateQtViewer::Initialise () 2\n"); 75 #endif 76 77 CreateMainWindow (this,QString(fName)); 78 #ifdef GEANT4_QT_DEBUG 79 printf("G4OpenGLImmediateQtViewer::Initialise () 3\n"); 80 #endif 81 82 CreateFontLists (); // FIXME Does nothing! 83 84 #ifdef GEANT4_QT_DEBUG 85 printf("readyToPaint = true \n"); 86 #endif 66 #ifdef G4DEBUG 67 printf("G4OpenGLImmediateQtViewer::Initialise \n"); 68 #endif 69 readyToPaint = false; 70 CreateMainWindow (this,QString(fName)); 71 CreateFontLists (); 72 87 73 readyToPaint = true; 88 89 // First Draw 74 } 75 76 void G4OpenGLImmediateQtViewer::initializeGL () { 77 78 InitializeGLView (); 79 80 #ifdef G4DEBUG 81 printf("G4OpenGLImmediateQtViewer::InitialiseGL ()\n"); 82 #endif 83 84 // If a double buffer context has been forced upon us, ignore the 85 // back buffer for this OpenGLImmediate view. 86 // glDrawBuffer (GL_FRONT); // FIXME : Ne marche pas avec cette ligne, mais affiche le run correctement... 87 // clear the buffers and window. 88 ClearView (); 89 FinishView (); 90 91 glDepthFunc (GL_LEQUAL); 92 glDepthMask (GL_TRUE); 93 94 if (fSceneHandler.GetScene() == 0) { 95 hasToRepaint =false; 96 } else { 97 hasToRepaint =true; 98 } 99 100 #ifdef G4DEBUG 101 printf("G4OpenGLImmediateQtViewer::InitialiseGL END\n"); 102 #endif 103 } 104 105 106 void G4OpenGLImmediateQtViewer::DrawView () { 107 108 #ifdef G4DEBUG 109 printf("G4OpenGLImmediateQtViewer::DrawView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n",WinSize_x, WinSize_y); 110 #endif 111 // If a double buffer context has been forced upon us, ignore the 112 // back buffer for this OpenGLImmediate view. 113 // glDrawBuffer (GL_FRONT); 114 115 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); 116 117 //Make sure current viewer is attached and clean... 118 //Qt version needed 119 glViewport (0, 0, WinSize_x, WinSize_y); 120 121 if(style!=G4ViewParameters::hlr && 122 haloing_enabled) { 123 124 HaloingFirstPass (); 125 NeedKernelVisit (); 126 ProcessView (); 127 glFlush (); 128 #ifdef G4DEBUG 129 printf("G4OpenGLImmediateQtViewer::DrawView First ProcessView ok\n"); 130 #endif 131 HaloingSecondPass (); 132 133 } 134 135 #ifdef G4DEBUG 136 printf("G4OpenGLImmediateQtViewer::DrawView before needKernelVisit %d\n",fNeedKernelVisit); 137 #endif 138 NeedKernelVisit (); // Always need to visit G4 kernel. 139 #ifdef G4DEBUG 140 printf("G4OpenGLImmediateQtViewer::DrawView before ProcessView\n"); 141 #endif 142 ProcessView (); 143 #ifdef G4DEBUG 144 printf("G4OpenGLImmediateQtViewer::DrawView before FinishView ok\n"); 145 #endif 146 FinishView (); 147 148 if (isRecording()) { 149 savePPMToTemp(); 150 } 151 152 #ifdef G4DEBUG 153 printf("G4OpenGLImmediateQtViewer::DrawView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",WinSize_x, WinSize_y); 154 #endif 155 hasToRepaint = true; 156 } 157 158 void G4OpenGLImmediateQtViewer::FinishView() 159 { 160 glFlush (); 161 } 162 163 164 /** 165 - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements 166 */ 167 void G4OpenGLImmediateQtViewer::resizeGL( 168 int aWidth 169 ,int aHeight) 170 { 171 G4resizeGL(aWidth,aHeight); 172 } 173 174 175 void G4OpenGLImmediateQtViewer::paintGL() 176 { 177 #ifdef G4DEBUG 178 printf("\n\nG4OpenGLImmediateQtViewer::paintGL ??\n"); 179 #endif 180 if (!readyToPaint) { 181 readyToPaint= true; 182 return; 183 } 184 // DO NOT RESIZE IF SIZE HAS NOT CHANGE 185 if ( !hasToRepaint) { 186 if (((WinSize_x == (G4int)width())) &&(WinSize_y == (G4int) height())) { 187 return; 188 } 189 } 190 #ifdef G4DEBUG 191 printf("G4OpenGLImmediateQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",readyToPaint); 192 #endif 193 WinSize_x = (G4int) width(); 194 WinSize_y = (G4int) height(); 195 196 setupViewport(width(),height()); 197 90 198 SetView(); 91 #ifdef GEANT4_QT_DEBUG 92 printf(" ClearView\n"); 93 #endif 199 94 200 ClearView (); //ok, put the background correct 95 ShowView(); 96 FinishView(); 97 } 98 99 void G4OpenGLImmediateQtViewer::initializeGL () { 100 101 InitializeGLView (); 102 103 #ifdef GEANT4_QT_DEBUG 104 printf("G4OpenGLImmediateQtViewer::InitialiseGL () 1\n"); 105 #endif 106 107 // If a double buffer context has been forced upon us, ignore the 108 // back buffer for this OpenGLImmediate view. 109 glDrawBuffer (GL_FRONT); // FIXME : Ne marche pas avec cette ligne, mais affiche le run correctement... 110 // clear the buffers and window. 111 ClearView (); 112 #ifdef GEANT4_QT_DEBUG 113 // printf("G4OpenGLImmediateQtViewer::InitialiseGL () 2\n"); 114 #endif 115 FinishView (); 116 117 118 119 glDepthFunc (GL_LEQUAL); 120 glDepthMask (GL_TRUE); 121 122 #ifdef GEANT4_QT_DEBUG 123 printf("G4OpenGLImmediateQtViewer::InitialiseGL -------------------------------------------------------------------------------------\n"); 124 #endif 125 } 126 127 128 void G4OpenGLImmediateQtViewer::DrawView () { 129 130 #ifdef GEANT4_QT_DEBUG 131 printf("G4OpenGLImmediateQtViewer::DrawView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n",WinSize_x, WinSize_y); 132 #endif 133 // If a double buffer context has been forced upon us, ignore the 134 // back buffer for this OpenGLImmediate view. 135 glDrawBuffer (GL_FRONT); 136 137 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); 138 139 //Make sure current viewer is attached and clean... 140 //Qt version needed 141 // glViewport (0, 0, WinSize_x, WinSize_y); 142 143 if(style!=G4ViewParameters::hlr && 144 haloing_enabled) { 145 #ifdef GEANT4_QT_DEBUG 146 printf("G4OpenGLImmediateQtViewer::DrawView DANS LE IF\n"); 147 #endif 148 149 HaloingFirstPass (); 150 NeedKernelVisit (); 151 ProcessView (); 152 glFlush (); 153 154 HaloingSecondPass (); 155 156 } 157 158 NeedKernelVisit (); // Always need to visit G4 kernel. 159 ProcessView (); 160 FinishView (); 161 #ifdef GEANT4_QT_DEBUG 162 printf("G4OpenGLImmediateQtViewer::DrawView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",WinSize_x, WinSize_y); 163 #endif 164 readyToPaint = false; 165 } 166 167 168 ////////////////////////////////////////////////////////////////////////////// 169 void G4OpenGLImmediateQtViewer::FinishView ( 170 ) 171 ////////////////////////////////////////////////////////////////////////////// 172 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// 173 { 174 #ifdef GEANT4_QT_DEBUG 175 printf("G4OpenGLImmediateQtViewer::FinishView VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n"); 176 #endif 177 178 glFlush (); 179 #ifdef GEANT4_QT_DEBUG 180 printf("G4OpenGLImmediateQtViewer::FinishView ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n"); 181 #endif 182 183 } 184 201 DrawView(); 202 203 hasToRepaint = false; // could be set to false by DrawView 204 205 206 #ifdef G4DEBUG 207 printf("G4OpenGLImmediateQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n\n\n",readyToPaint); 208 #endif 209 } 210 211 void G4OpenGLImmediateQtViewer::mousePressEvent(QMouseEvent *event) 212 { 213 G4MousePressEvent(event); 214 } 215 216 void G4OpenGLImmediateQtViewer::keyPressEvent (QKeyEvent * event) 217 { 218 G4keyPressEvent(event); 219 } 220 221 void G4OpenGLImmediateQtViewer::wheelEvent (QWheelEvent * event) 222 { 223 G4wheelEvent(event); 224 } 185 225 186 226 /** 187 - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements 227 * This function was build in order to make a zoom on double clic event. 228 * It was think to build a rubberband on the zoom area, but never work fine 188 229 */ 189 void G4OpenGLImmediateQtViewer::resizeGL( 190 int width 191 ,int height) 192 { 193 setupViewport(width,height); 194 #ifdef GEANT4_QT_DEBUG 195 printf("G4OpenGLImmediateQtViewer::resizeGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n"); 196 #endif 197 } 198 199 200 void G4OpenGLImmediateQtViewer::paintGL() 201 { 202 if (!readyToPaint) { 203 readyToPaint= true; 204 return; 205 } 206 // DO NOT RESIZE IF SIZE HAS NOT CHANGE 207 if (((WinSize_x == (G4int)width())) &&(WinSize_y == (G4int) height())) { 208 return; 209 } 210 nbPaint++; 211 #ifdef GEANT4_QT_DEBUG 212 printf("\n\nG4OpenGLImmediateQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV %d ready %d\n",nbPaint,readyToPaint); 213 #endif 214 WinSize_x = (G4int) width(); 215 WinSize_y = (G4int) height(); 216 217 setupViewport(width(),height()); 218 219 SetView(); 220 #ifdef GEANT4_QT_DEBUG 221 // // printf("before ClearView\n"); 222 #endif 223 #ifdef GEANT4_QT_DEBUG 224 printf(" ClearView\n"); 225 #endif 226 227 ClearView (); //ok, put the background correct 228 DrawView(); 229 readyToPaint = true; // could be set to false by DrawView 230 231 232 #ifdef GEANT4_QT_DEBUG 233 printf("G4OpenGLImmediateQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ %d ready %d\n\n\n",nbPaint,readyToPaint); 234 #endif 235 } 230 void G4OpenGLImmediateQtViewer::mouseDoubleClickEvent(QMouseEvent *event) 231 { 232 G4MouseDoubleClickEvent(); 233 } 234 235 void G4OpenGLImmediateQtViewer::mouseReleaseEvent(QMouseEvent *event) 236 { 237 G4MouseReleaseEvent(); 238 } 239 240 void G4OpenGLImmediateQtViewer::mouseMoveEvent(QMouseEvent *event) 241 { 242 G4MouseMoveEvent(event); 243 } 244 245 246 void G4OpenGLImmediateQtViewer::contextMenuEvent(QContextMenuEvent *e) 247 { 248 G4manageContextMenuEvent(e); 249 } 236 250 237 251 void G4OpenGLImmediateQtViewer::updateQWidget() { 252 hasToRepaint= true; 238 253 updateGL(); 239 } 240 241 #endif 254 hasToRepaint= false; 255 } 256 257 #endif -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc
r850 r873 209 209 fpViewer -> SetView (); 210 210 fpViewer -> ClearView (); 211 printf("G4OpenGLImmediateSceneHandler::ClearTransientStore----------------------------------------------\n"); 211 212 fpViewer -> DrawView (); 212 213 } -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc
r850 r873 88 88 void G4OpenGLImmediateXmViewer::DrawView () { 89 89 90 #ifdef G4DEBUG 91 printf("G4OpenGLImmediateXmViewer::DrawView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n",WinSize_x, WinSize_y); 92 #endif 90 93 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); 91 94 … … 101 104 ProcessView (); 102 105 glFlush (); 106 #ifdef G4DEBUG 107 printf("G4OpenGLImmediateXmViewer::DrawView First ProcessView ok\n"); 108 #endif 103 109 104 110 HaloingSecondPass (); … … 106 112 } 107 113 114 #ifdef G4DEBUG 115 printf("G4OpenGLImmediateXmViewer::DrawView before needKernelVisit %d\n",fNeedKernelVisit); 116 #endif 108 117 NeedKernelVisit (); // Always need to visit G4 kernel. 118 #ifdef G4DEBUG 119 printf("G4OpenGLImmediateXmViewer::DrawView before ProcessView\n"); 120 #endif 109 121 ProcessView (); 122 #ifdef G4DEBUG 123 printf("G4OpenGLImmediateXmViewer::DrawView before FinishView ok\n"); 124 #endif 110 125 FinishView (); 111 126 -
trunk/source/visualization/OpenGL/src/G4OpenGLQtExportDialog.cc
r850 r873 25 25 // 26 26 // 27 // $Id: G4OpenGLQtExportDialog.cc,v 1. 7 2008/03/10 16:57:04lgarnier Exp $28 // GEANT4 tag $Name: HEAD$27 // $Id: G4OpenGLQtExportDialog.cc,v 1.9 2008/10/24 14:17:10 lgarnier Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // 31 31 32 //#define GEANT4_QT_DEBUG33 32 #ifdef G4VIS_BUILD_OPENGLQT_DRIVER 34 33 -
trunk/source/visualization/OpenGL/src/G4OpenGLQtMovieDialog.cc
r857 r873 25 25 // 26 26 // 27 // $Id: G4OpenGLQtMovieDialog.cc,v 1. 6 2008/03/14 09:22:31lgarnier Exp $28 // GEANT4 tag $Name: HEAD$27 // $Id: G4OpenGLQtMovieDialog.cc,v 1.8 2008/10/24 13:49:19 lgarnier Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // 31 31 32 //#define GEANT4_QT_DEBUG33 32 #ifdef G4VIS_BUILD_OPENGLQT_DRIVER 34 33 -
trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r866 r873 36 36 #ifdef G4VIS_BUILD_OPENGLQT_DRIVER 37 37 38 //#define GEANT4_QT_DEBUG39 40 38 #include "G4OpenGLQtViewer.hh" 41 39 … … 88 86 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// 89 87 { 90 #ifdef GEANT4_QT_DEBUG 91 printf("G4OpenGLQtViewer::SetView ++++++++++++++++++++\n"); 92 #endif 93 // if(!fHDC) return; 94 // if(!fHGLRC) return; 95 // ::wglMakeCurrent(fHDC,fHGLRC); 96 // fWindow->makeCurrent(); 88 #ifdef G4DEBUG 89 printf("G4OpenGLQtViewer::SetView\n"); 90 #endif 97 91 G4OpenGLViewer::SetView (); 98 #ifdef GEANT4_QT_DEBUG99 printf("G4OpenGLQtViewer::SetView --------------------\n");100 #endif101 92 } 102 93 … … 126 117 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// 127 118 { 128 #ifdef GEANT4_QT_DEBUG129 printf("G4OpenGLQtViewer::ShowView +++++++++++++++++++++\n");130 #endif131 119 if (!GLWindow) { 132 120 G4cerr << "Visualization window not defined, please choose one before\n" << G4endl; … … 137 125 GLWindow->activateWindow(); 138 126 #endif 139 #ifdef GEANT4_QT_DEBUG140 printf("G4OpenGLQtViewer::ShowView -----------------------\n");141 #endif142 127 } 143 128 glFlush (); 144 // // Empty the Windows message queue : 145 // MSG event; 146 // while ( ::PeekMessage(&event, NULL, 0, 0, PM_REMOVE) ) { 147 // ::TranslateMessage(&event); 148 // ::DispatchMessage (&event); 149 // } 150 } 151 152 153 154 ////////////////////////////////////////////////////////////////////////////// 155 void G4OpenGLQtViewer::CreateGLQtContext ( 156 ) 157 ////////////////////////////////////////////////////////////////////////////// 158 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// 159 { 160 #ifdef GEANT4_QT_DEBUG 161 printf("G4OpenGLQtViewer::CreateGLQtContext \n"); 162 #endif 163 } 129 } 130 131 164 132 165 133 … … 174 142 175 143 if(fWindow) return; //Done. 176 #ifdef G EANT4_QT_DEBUG144 #ifdef G4DEBUG 177 145 printf("G4OpenGLQtViewer::CreateMainWindow glWidget\n"); 178 146 #endif 147 148 // check if it is already launched, 149 // if not, we suppose that the G4Qt is not launch. 150 // bool isReady = G4Qt::Inited(); 179 151 180 152 // launch Qt if not … … 219 191 220 192 if (found==false) { 221 #ifdef G EANT4_QT_DEBUG193 #ifdef G4DEBUG 222 194 printf("G4OpenGLQtViewer::CreateMainWindow case Qapp exist, but not found\n"); 223 195 #endif … … 225 197 } 226 198 } else { 227 #ifdef G EANT4_QT_DEBUG199 #ifdef G4DEBUG 228 200 printf("G4OpenGLQtViewer::CreateMainWindow case Qapp exist\n"); 229 201 #endif … … 263 235 264 236 if(!fWindow) return; 265 #ifdef G EANT4_QT_DEBUG237 #ifdef G4DEBUG 266 238 printf("G4OpenGLQtViewer::CreateMainWindow glWidget END\n"); 267 239 #endif … … 276 248 */ 277 249 // void G4OpenGLQtViewer::dialogClosed() { 278 // #ifdef GEANT4_QT_DEBUG279 // printf("G4OpenGLQtViewer::dialogClosed END\n");280 // #endif281 250 // // GLWindow = NULL; 282 251 // } … … 328 297 fLastEventTime = new QTime(); 329 298 330 #ifdef G EANT4_QT_DEBUG299 #ifdef G4DEBUG 331 300 printf("G4OpenGLQtViewer::G4OpenGLQtViewer END\n"); 332 301 #endif … … 343 312 #else 344 313 G4cout <<removeTempFolder().toStdString().c_str() <<G4endl; 345 #endif346 347 #ifdef GEANT4_QT_DEBUG348 printf("G4OpenGLQtViewer::~G4OpenGLQtViewer \n");349 314 #endif 350 315 } … … 577 542 mDrawing->clear(); 578 543 } 579 #ifdef GEANT4_QT_DEBUG580 printf("G4OpenGLQtViewer:: fDrawingWireframe 1\n");581 #endif582 544 QObject ::connect(fDrawingWireframe, 583 545 SIGNAL(activated()), 584 546 this, 585 547 SLOT(actionDrawingWireframe())); 586 #ifdef GEANT4_QT_DEBUG587 printf("G4OpenGLQtViewer:: fDrawingWireframe 2\n");588 #endif589 548 QObject ::connect(fDrawingLineRemoval, 590 549 SIGNAL(activated()), … … 860 819 } 861 820 862 void G4OpenGLQtViewer::manageContextMenuEvent(QContextMenuEvent *e) 821 822 void G4OpenGLQtViewer::G4resizeGL( 823 int aWidth 824 ,int aHeight) 825 { 826 setupViewport(aWidth,aHeight); 827 828 if (((WinSize_x != (G4int)aWidth)) || (WinSize_y != (G4int) aHeight)) { 829 hasToRepaint =true; 830 } 831 WinSize_x = (G4int) aWidth; 832 WinSize_y = (G4int) aHeight; 833 } 834 835 836 void G4OpenGLQtViewer::G4manageContextMenuEvent(QContextMenuEvent *e) 863 837 { 864 838 if (!GLWindow) { … … 948 922 */ 949 923 void G4OpenGLQtViewer::actionMousePick() { 950 #ifdef GEANT4_QT_DEBUG951 printf("G4OpenGLQtViewer::actionMousePick \n");952 #endif953 924 emit toggleMouseAction(STYLE3); 954 925 } … … 1480 1451 } 1481 1452 1482 #ifdef GEANT4_QT_DEBUG1483 printf("G4OpenGLQtViewer::actionSaveImage() \n");1484 #endif1485 1453 } 1486 1454 1487 1455 1488 1456 void G4OpenGLQtViewer::actionMovieParameters() { 1489 1490 1457 showMovieParametersDialog(); 1491 #ifdef GEANT4_QT_DEBUG1492 printf("G4OpenGLQtViewer::actionMovieParameters() \n");1493 #endif1494 1458 } 1495 1459 … … 1528 1492 1529 1493 1494 void G4OpenGLQtViewer::FinishView() 1495 { 1496 glFlush (); 1497 fWindow->swapBuffers (); 1498 } 1530 1499 1531 1500 /** … … 1533 1502 @param p mouse click point 1534 1503 */ 1535 #if QT_VERSION < 0x040000 1536 void G4OpenGLQtViewer::G4MousePressEvent(QPoint p) 1537 #else 1538 void G4OpenGLQtViewer::G4MousePressEvent(QPoint p) 1539 #endif 1504 void G4OpenGLQtViewer::G4MousePressEvent(QMouseEvent *event) 1540 1505 { 1541 fAutoMove = false; // stop automove 1542 fLastPos1 = p; 1543 fLastPos2 = fLastPos1; 1544 fLastPos3 = fLastPos2; 1545 fLastEventTime->start(); 1546 if (fMouseAction == STYLE3){ // pick 1547 Pick(p.x(),p.y()); 1506 #if QT_VERSION < 0x040000 1507 if ((event->button() & Qt::LeftButton) 1508 && !((event->state() & Qt::ShiftButton) 1509 || (event->state() & Qt::ControlButton) 1510 || (event->state() & Qt::AltButton) 1511 || (event->state() & Qt::MetaButton))) { 1512 #else 1513 if ((event->buttons() & Qt::LeftButton) 1514 && !((event->modifiers() & Qt::ShiftModifier) 1515 || (event->modifiers() & Qt::ControlModifier) 1516 || (event->modifiers() & Qt::AltModifier) 1517 || (event->modifiers() & Qt::MetaModifier))) { 1518 #endif 1519 fWindow->setMouseTracking(true); 1520 fAutoMove = false; // stop automove 1521 fLastPos1 = event->pos(); 1522 fLastPos2 = fLastPos1; 1523 fLastPos3 = fLastPos2; 1524 fLastEventTime->start(); 1525 if (fMouseAction == STYLE3){ // pick 1526 Pick(event->pos().x(),event->pos().y()); 1527 } 1548 1528 } 1549 1529 } … … 1553 1533 void G4OpenGLQtViewer::G4MouseReleaseEvent() 1554 1534 { 1555 #ifdef GEANT4_QT_DEBUG1556 printf("G4OpenGLQtViewer::mouseRealease() %d,%d %d,%d %d,%d\n",fLastPos1.x(),fLastPos1.y(),fLastPos2.x(),fLastPos2.y(),fLastPos3.x(),fLastPos3.y());1557 #endif1558 1535 fSpinningDelay = fLastEventTime->elapsed(); 1559 1536 QPoint delta = (fLastPos3-fLastPos1); 1560 1537 if ((delta.x() == 0) && (delta.y() == 0)) { 1561 #ifdef GEANT4_QT_DEBUG1562 printf("G4OpenGLQtViewer::mouseRealease() EXIT 1 \n");1563 #endif1564 1538 return; 1565 1539 } … … 1579 1553 lastMoveTime.start(); 1580 1554 cycles = 1 ; 1581 // }1582 1555 ((QApplication*)G4Qt::getInstance ())->processEvents(); 1583 #ifdef GEANT4_QT_DEBUG1584 printf("G4OpenGLQtViewer::mouseRealease() cycle :%d \n",lastMoveTime.elapsed());1585 #endif1586 1556 cycles ++ ; 1587 1557 } 1588 1558 } 1559 fWindow->setMouseTracking(false); 1560 1561 } 1562 1563 1564 void G4OpenGLQtViewer::G4MouseDoubleClickEvent() 1565 { 1566 fWindow->setMouseTracking(true); 1589 1567 } 1590 1568 … … 1597 1575 */ 1598 1576 1599 #if QT_VERSION < 0x040000 1600 void G4OpenGLQtViewer::G4MouseMoveEvent(int pos_x, int pos_y,Qt::ButtonState mButtons) 1601 #else 1602 void G4OpenGLQtViewer::G4MouseMoveEvent(int pos_x, int pos_y,Qt::MouseButtons mButtons) 1603 #endif 1577 void G4OpenGLQtViewer::G4MouseMoveEvent(QMouseEvent *event) 1604 1578 { 1579 1580 1581 #if QT_VERSION < 0x040000 1582 Qt::ButtonState mButtons = event->state(); 1583 #else 1584 Qt::MouseButtons mButtons = event->buttons(); 1585 #endif 1605 1586 1606 1587 if (fAutoMove) { … … 1610 1591 fLastPos3 = fLastPos2; 1611 1592 fLastPos2 = fLastPos1; 1612 fLastPos1 = QPoint( pos_x, pos_y);1593 fLastPos1 = QPoint(event->x(), event->y()); 1613 1594 1614 1595 int deltaX = fLastPos2.x()-fLastPos1.x(); … … 1720 1701 ,int aHeight 1721 1702 ){ 1722 #ifdef GEANT4_QT_DEBUG1723 printf("should rescale \n");1724 #endif1725 1703 // GLfloat* feedback_buffer; 1726 1704 // GLint returned; … … 1803 1781 { 1804 1782 // FIXME 1805 #ifdef GEANT4_QT_DEBUG1806 printf("saving EPS\n");1807 #endif1808 1783 1809 1784 FILE* fp; … … 2006 1981 fVP.SetZoomFactor(fVP.GetZoomFactor()+(fVP.GetZoomFactor()*(event->delta())/1200)); 2007 1982 updateQWidget(); 2008 2009 #ifdef GEANT4_QT_DEBUG2010 printf("G4OpenGLQtViewer::wheel event +++++++++++++++++++++ %f %d\n",fVP.GetZoomFactor(),event->delta());2011 #endif2012 1983 } 2013 1984 -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredQt.cc
r866 r873 25 25 // 26 26 // 27 // $Id: G4OpenGLStoredQt.cc,v 1. 7 2008/10/15 10:26:25lgarnier Exp $27 // $Id: G4OpenGLStoredQt.cc,v 1.9 2008/10/24 14:21:34 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 32 32 33 33 #ifdef G4VIS_BUILD_OPENGLQT_DRIVER 34 35 //#define GEANT4_QT_DEBUG36 34 37 35 #include "G4VisFeaturesOfOpenGL.hh" … … 50 48 { 51 49 G4OpenGLViewerMessenger::GetInstance(); 52 #ifdef GEANT4_QT_DEBUG53 printf("G4OpenGLStoredQt::Create \n");54 #endif55 50 } 56 51 … … 62 57 63 58 G4VViewer* G4OpenGLStoredQt::CreateViewer 64 #ifdef GEANT4_QT_DEBUG 59 (G4VSceneHandler& scene, const G4String& name) { 60 #ifdef G4DEBUG 65 61 printf("G4OpenGLStoredQt::CreateViewer \n"); 66 62 #endif 67 (G4VSceneHandler& scene, const G4String& name) {68 63 G4VViewer* pView = 69 64 new G4OpenGLStoredQtViewer … … 83 78 " new G4OpenGLStoredQtViewer." << G4endl; 84 79 } 85 #ifdef G EANT4_QT_DEBUG80 #ifdef G4DEBUG 86 81 printf("G4OpenGLStoredQt::CreateViewer END \n"); 87 82 #endif -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc
r866 r873 25 25 // 26 26 // 27 // $Id: G4OpenGLStoredQtViewer.cc,v 1.1 8 2008/10/15 10:29:39 lgarnier Exp $27 // $Id: G4OpenGLStoredQtViewer.cc,v 1.19 2008/10/24 13:49:19 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 33 33 34 34 #ifdef G4VIS_BUILD_OPENGLQT_DRIVER 35 36 //#define GEANT4_QT_DEBUG37 35 38 36 #include "G4OpenGLStoredQtViewer.hh" … … 51 49 G4OpenGLStoredViewer (sceneHandler) // FIXME : gerer le pb du parent ! 52 50 { 53 // if no scene...54 // if (fSceneHandler.GetScene() == 0) {55 // G4cerr << "G4OpenGLStoredQtViewer: Creating a Viewer without a scene is not allowed. \nPlease use /vis/scene/create before /vis/open/.... "56 // << G4endl;57 // return;58 // }59 51 60 52 //set true to picking … … 65 57 setFocusPolicy(Qt::StrongFocus); // enable keybord events 66 58 #endif 67 nbPaint =0;68 59 hasToRepaint =false; 69 60 … … 72 63 73 64 G4OpenGLStoredQtViewer::~G4OpenGLStoredQtViewer() { 74 #ifdef GEANT4_QT_DEBUG75 printf("GLWidget::~GLWidget \n");76 #endif77 65 makeCurrent(); 78 66 // this is connect to the Dialog for deleting it properly 79 67 // when close event. 80 68 // ((QDialog*)window())->reject(); 81 #ifdef GEANT4_QT_DEBUG82 printf("GLWidget::~GLWidget END\n");83 #endif84 69 } 85 70 86 71 void G4OpenGLStoredQtViewer::Initialise() { 87 #ifdef G EANT4_QT_DEBUG72 #ifdef G4DEBUG 88 73 printf("G4OpenGLStoredQtViewer::Initialise 1\n"); 89 74 #endif 90 75 readyToPaint = false; 91 CreateGLQtContext ();92 #ifdef GEANT4_QT_DEBUG93 printf("G4OpenGLStoredQtViewer::Initialise () 2\n");94 #endif95 76 CreateMainWindow (this,QString(fName)); 96 #ifdef GEANT4_QT_DEBUG 97 printf("G4OpenGLStoredQtViewer::Initialise () 3\n"); 98 #endif 99 CreateFontLists (); // FIXME Does nothing! 77 CreateFontLists (); 100 78 101 #ifdef GEANT4_QT_DEBUG102 printf("readyToPaint = true \n");103 #endif104 79 readyToPaint = true; 105 80 } … … 109 84 InitializeGLView (); 110 85 111 #ifdef G EANT4_QT_DEBUG86 #ifdef G4DEBUG 112 87 printf("G4OpenGLStoredQtViewer::InitialiseGL () 1\n"); 113 88 #endif … … 115 90 // clear the buffers and window. 116 91 ClearView (); 117 // printf("G4OpenGLStoredQtViewer::InitialiseGL () 2\n");118 92 FinishView (); 119 93 … … 127 101 } 128 102 129 #ifdef G EANT4_QT_DEBUG130 printf("G4OpenGLStoredQtViewer::InitialiseGL -------------------------------------------------------------------------------------\n");103 #ifdef G4DEBUG 104 printf("G4OpenGLStoredQtViewer::InitialiseGL END\n"); 131 105 #endif 132 106 } … … 135 109 void G4OpenGLStoredQtViewer::DrawView () { 136 110 137 #ifdef GEANT4_QT_DEBUG 138 printf("G4OpenGLQtViewer::setupViewport\n"); 111 #ifdef G4DEBUG 139 112 printf("G4OpenGLStoredQtViewer::DrawView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n",WinSize_x, WinSize_y); 140 113 #endif … … 149 122 // /vis/viewer/rebuild, but if not, make decision and set flag only 150 123 // if necessary... 151 if (!fNeedKernelVisit) 152 124 if (!fNeedKernelVisit) { 153 125 if (!fNeedKernelVisit) KernelVisitDecision (); 154 126 } 155 127 G4bool kernelVisitWasNeeded = fNeedKernelVisit; // Keep (ProcessView resets). 156 128 ProcessView (); … … 159 131 if(style!=G4ViewParameters::hlr && 160 132 haloing_enabled) { 161 #ifdef G EANT4_QT_DEBUG133 #ifdef G4DEBUG 162 134 printf("G4OpenGLStoredQtViewer::DrawView DANS LE IF\n"); 163 135 #endif … … 177 149 // have been done, so... 178 150 if (!kernelVisitWasNeeded) { 179 #ifdef G EANT4_QT_DEBUG151 #ifdef G4DEBUG 180 152 printf("************************** G4OpenGLStoredQtViewer::DrawView Don't need kernel Visit \n"); 181 153 #endif … … 183 155 FinishView (); 184 156 } else { 185 #ifdef G EANT4_QT_DEBUG157 #ifdef G4DEBUG 186 158 printf("************************** G4OpenGLStoredQtViewer::DrawView need kernel Visit \n"); 187 159 #endif … … 193 165 DrawDisplayLists (); 194 166 FinishView (); 195 #ifdef G EANT4_QT_DEBUG167 #ifdef G4DEBUG 196 168 printf("*************************** CASE 4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n"); 197 169 #endif … … 207 179 } 208 180 209 #ifdef G EANT4_QT_DEBUG181 #ifdef G4DEBUG 210 182 printf("G4OpenGLStoredQtViewer::DrawView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",WinSize_x, WinSize_y); 211 183 #endif 212 184 hasToRepaint =true; 213 }214 215 216 //////////////////////////////////////////////////////////////////////////////217 void G4OpenGLStoredQtViewer::FinishView (218 )219 //////////////////////////////////////////////////////////////////////////////220 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//221 {222 glFlush ();223 swapBuffers ();224 185 } 225 186 … … 232 193 ,int aHeight) 233 194 { 234 setupViewport(aWidth,aHeight); 235 236 if (((WinSize_x != (G4int)aWidth)) || (WinSize_y != (G4int) aHeight)) { 237 hasToRepaint =true; 238 } 239 WinSize_x = (G4int) aWidth; 240 WinSize_y = (G4int) aHeight; 241 242 #ifdef GEANT4_QT_DEBUG 243 printf("G4OpenGLStoredQtViewer::resizeGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ %d %d=%d %d=%d\n",hasToRepaint,width(),aWidth,height(),aHeight); 244 #endif 245 } 246 247 248 /** 249 @see : 250 */ 195 G4resizeGL(aWidth,aHeight); 196 } 197 251 198 252 199 void G4OpenGLStoredQtViewer::paintGL() 253 200 { 201 #ifdef G4DEBUG 202 printf("G4OpenGLStoredQtViewer::paintGL ??\n"); 203 #endif 254 204 if (!readyToPaint) { 255 #ifdef GEANT4_QT_DEBUG256 printf("G4OpenGLStoredQtViewer::paintGL ============ Not ready %d\n",readyToPaint);257 #endif258 205 readyToPaint= true; 259 206 return; … … 264 211 if ( !hasToRepaint) { 265 212 if (((WinSize_x == (G4int)width())) &&(WinSize_y == (G4int) height())) { 266 #ifdef GEANT4_QT_DEBUG267 printf("G4OpenGLStoredQtViewer::paintGL ============ Dont repaint\n");268 #endif269 213 return; 270 214 } 271 215 } 272 nbPaint++; 273 #ifdef GEANT4_QT_DEBUG 274 printf("G4OpenGLStoredQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV %d ready %d\n",nbPaint,readyToPaint); 216 #ifdef G4DEBUG 217 printf("G4OpenGLStoredQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",readyToPaint); 275 218 #endif 276 219 WinSize_x = (G4int) width(); 277 220 WinSize_y = (G4int) height(); 278 221 279 222 setupViewport(width(),height()); 280 // glViewport (0, 0, width(), height()); 281 // glLoadIdentity(); 282 283 223 284 224 SetView(); 285 286 // // printf("before ClearView\n"); 287 #ifdef GEANT4_QT_DEBUG 288 printf(" ClearView\n"); 289 #endif 290 225 291 226 ClearView (); //ok, put the background correct 292 227 DrawView(); … … 294 229 hasToRepaint =false; 295 230 296 #ifdef G EANT4_QT_DEBUG297 printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ %d ready %d\n",nbPaint,readyToPaint);231 #ifdef G4DEBUG 232 printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n",readyToPaint); 298 233 #endif 299 234 } … … 301 236 void G4OpenGLStoredQtViewer::mousePressEvent(QMouseEvent *event) 302 237 { 303 #if QT_VERSION < 0x040000 304 if ((event->button() & Qt::LeftButton) 305 && !((event->state() & Qt::ShiftButton) 306 || (event->state() & Qt::ControlButton) 307 || (event->state() & Qt::AltButton) 308 || (event->state() & Qt::MetaButton))) { 309 #else 310 if ((event->buttons() & Qt::LeftButton) 311 && !((event->modifiers() & Qt::ShiftModifier) 312 || (event->modifiers() & Qt::ControlModifier) 313 || (event->modifiers() & Qt::AltModifier) 314 || (event->modifiers() & Qt::MetaModifier))) { 315 #endif 316 #ifdef GEANT4_QT_DEBUG 317 printf("G4OpenGLStoredQtViewer::mousePressEvent\n"); 318 #endif 319 setMouseTracking(true); 320 G4MousePressEvent(event->pos()); 321 } 238 G4MousePressEvent(event); 322 239 } 323 240 … … 338 255 void G4OpenGLStoredQtViewer::mouseDoubleClickEvent(QMouseEvent *event) 339 256 { 340 #ifdef GEANT4_QT_DEBUG 341 printf("G4OpenGLStoredQtViewer::mouseDoubleClickEvent\n"); 342 #endif 343 setMouseTracking(true); 344 // glBufferImage = grabFrameBuffer().convertToFormat(QImage::Format_ARGB32);//_Premultiplied); 257 G4MouseDoubleClickEvent(); 345 258 } 346 259 … … 348 261 { 349 262 G4MouseReleaseEvent(); 350 #ifdef GEANT4_QT_DEBUG351 printf("G4OpenGLStoredQtViewer::mouseReleaseEvent ================\n");352 #endif353 setMouseTracking(false);354 263 } 355 264 356 265 void G4OpenGLStoredQtViewer::mouseMoveEvent(QMouseEvent *event) 357 266 { 358 359 #if QT_VERSION < 0x040000 360 G4MouseMoveEvent(event->x(),event->y(),event->state()); 361 #else 362 G4MouseMoveEvent(event->x(),event->y(),event->buttons()); 363 #endif 267 G4MouseMoveEvent(event); 364 268 } 365 269 … … 367 271 void G4OpenGLStoredQtViewer::contextMenuEvent(QContextMenuEvent *e) 368 272 { 369 #ifdef GEANT4_QT_DEBUG 370 printf("G4OpenGLStoredQtViewer::contextMenuEvent\n"); 371 #endif 372 manageContextMenuEvent(e); 273 G4manageContextMenuEvent(e); 373 274 } 374 275 -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc
r866 r873 363 363 fpViewer -> SetView (); 364 364 fpViewer -> ClearView (); 365 printf("G4OpenGLStoredSceneHandler::ClearTransientStore----------------------------------------------\n"); 365 366 fpViewer -> DrawView (); 366 367 } -
trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
r858 r873 25 25 // 26 26 // 27 // $Id: G4OpenGLViewer.cc,v 1. 39 2008/07/28 15:36:45lgarnier Exp $28 // GEANT4 tag $Name: HEAD$27 // $Id: G4OpenGLViewer.cc,v 1.41 2008/10/24 13:49:19 lgarnier Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // … … 33 33 34 34 #ifdef G4VIS_BUILD_OPENGL_DRIVER 35 36 //#define GEANT4_QT_DEBUG37 35 38 36 #include "G4ios.hh" … … 942 940 targetPoint + cameraDistance * fVP.GetViewpointDirection().unit(); 943 941 944 945 #ifdef GEANT4_QT_DEBUG946 printf("G4OpenGLViewer:: %f %f %f Tp: %f %f %f Vpd:%f %f %f - Up:%f %f %f Cp:%f %f %f\n",947 dx,dy,deltaRotation,targetPoint[0],targetPoint[1],targetPoint[2],948 vp.x(),vp.y(),vp.z(),949 up.x(),up.y(),up.z(),950 cameraPosition[0],cameraPosition[1],cameraPosition[2]);951 #endif952 953 942 if (fVP.GetLightsMoveWithCamera()) { 954 943 new_up = (new_vp.cross(yprime)).unit(); … … 959 948 new_up = up; 960 949 if (new_vp.z()*vp.z() <0) { 961 #ifdef GEANT4_QT_DEBUG962 // printf("G4OpenGLViewer:: ***********************************************************\n");963 #endif964 950 new_up.set(new_up.x(),-new_up.y(),new_up.z()); 965 // new_vp.set(-new_vp.x(),new_vp.y(),new_vp.z());966 951 } 967 952 }
Note: See TracChangeset
for help on using the changeset viewer.