- Timestamp:
- Oct 7, 2009, 4:24:22 PM (15 years ago)
- Location:
- trunk/source/visualization/OpenGL
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/include/G4OpenGLStoredQtViewer.hh
r1115 r1121 40 40 #include "G4OpenGLQtViewer.hh" 41 41 42 #include < qgl.h>42 #include <QGLWidget> // include <qglwidget.h> 43 43 44 44 class QMouseEvent; -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc
r1110 r1121 33 33 34 34 #ifdef G4VIS_BUILD_OPENGLQT_DRIVER 35 #define QT_STORE_46_DBG 1 35 36 36 37 #include "G4VViewer.hh" … … 74 75 } 75 76 77 #ifdef QT_STORE_46_DBG 78 void G4OpenGLImmediateQtViewer::initializeGL () { 79 glShadeModel(GL_SMOOTH); // Enable Smooth Shading 80 glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background 81 glClearDepth(1.0f); // Depth Buffer Setup 82 glEnable(GL_DEPTH_TEST); // Enables Depth Testing 83 glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do 84 glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations 85 86 87 return; // Initialization Went OK 88 89 90 } 91 #else 76 92 void G4OpenGLImmediateQtViewer::initializeGL () { 77 93 … … 96 112 97 113 } 98 114 #endif 99 115 100 116 /** To ensure compatibility with DrawView method … … 114 130 115 131 132 #ifdef QT_STORE_46_DBG 133 void G4OpenGLImmediateQtViewer::ComputeView () { 134 } 135 #else 116 136 void G4OpenGLImmediateQtViewer::ComputeView () { 117 137 … … 152 172 fHasToRepaint = true; 153 173 } 174 #endif 154 175 155 176 void G4OpenGLImmediateQtViewer::FinishView() … … 169 190 - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements 170 191 */ 192 #ifdef QT_STORE_46_DBG 193 void G4OpenGLImmediateQtViewer::resizeGL( 194 int width 195 ,int height) 196 { 197 #ifdef G4DEBUG_VIS_OGL 198 printf("G4OpenGLImmediateQtViewer::resizeGL\n"); 199 #endif 200 if (height==0) // Prevent A Divide By Zero By 201 { 202 height=1; // Making Height Equal One 203 } 204 205 glViewport(0,0,width,height); // Reset The Current Viewport 206 207 glMatrixMode(GL_PROJECTION); // Select The Projection Matrix 208 glLoadIdentity(); // Reset The Projection Matrix 209 210 // Calculate The Aspect Ratio Of The Window 211 gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); 212 213 glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix 214 glLoadIdentity(); // Reset The Modelview Matrix 215 216 } 217 #else 171 218 void G4OpenGLImmediateQtViewer::resizeGL( 172 219 int aWidth … … 176 223 fHasToRepaint = sizeHasChanged(); 177 224 } 178 179 225 #endif 226 227 228 #ifdef QT_STORE_46_DBG 229 void G4OpenGLImmediateQtViewer::paintGL() 230 { 231 #ifdef G4DEBUG_VIS_OGL 232 printf("G4OpenGLImmediateQtViewer::paintGL\n"); 233 #endif 234 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 235 glMatrixMode(GL_MODELVIEW); 236 glLoadIdentity(); 237 gluLookAt(1,1,1,0,0,0,0,0,1); 238 239 glBegin(GL_QUADS); 240 //carré rouge 241 glColor3ub(255,0,0); 242 glVertex3d(1,1,0); 243 glVertex3d(1,0,0); 244 glVertex3d(0,0,0); 245 glVertex3d(0,1,0); 246 //carré vert 247 glColor3ub(0,255,0); 248 glVertex3d(1,1,0); 249 glVertex3d(2,1,0); 250 glVertex3d(2,0,0); 251 glVertex3d(1,0,0); 252 //carré vert 253 glColor3ub(0,255,0); 254 glVertex3d(0,2,0); 255 glVertex3d(1,2,0); 256 glVertex3d(1,1,0); 257 glVertex3d(0,1,0); 258 //carré bleu 259 glColor3ub(0,0,255); 260 glVertex3d(2,2,0); 261 glVertex3d(2,1,0); 262 glVertex3d(1,1,0); 263 glVertex3d(1,2,0); 264 //carré bleu 265 glColor3ub(0,0,255); 266 glVertex3d(1,0,0); 267 glVertex3d(1,1,0); 268 glVertex3d(1,1,1); 269 glVertex3d(1,0,1); 270 //carré blanc 271 glColor3ub(255,255,255); 272 glVertex3d(1,1,0); 273 glVertex3d(0,1,0); 274 glVertex3d(0,1,1); 275 glVertex3d(1,1,1); 276 //carré rouge 277 glColor3ub(255,0,0); 278 glVertex3d(1,1,1); 279 glVertex3d(1,0,1); 280 glVertex3d(0,0,1); 281 glVertex3d(0,1,1); 282 glEnd(); 283 } 284 285 #else 180 286 void G4OpenGLImmediateQtViewer::paintGL() 181 287 { … … 208 314 #endif 209 315 } 316 #endif 317 210 318 211 319 void G4OpenGLImmediateQtViewer::mousePressEvent(QMouseEvent *event) -
trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r1106 r1121 106 106 107 107 if(fWindow) return; //Done. 108 #ifdef G4DEBUG_VIS_OGL109 printf("G4OpenGLQtViewer::CreateMainWindow glWidget\n");110 #endif111 108 112 109 // launch Qt if not … … 239 236 ,fLaunchSpinDelay(100) 240 237 { 238 #ifdef G4DEBUG_VIS_OGL 239 printf("G4OpenGLQtViewer::Creation ...............\n"); 240 #endif 241 241 242 242 // launch Qt if not … … 1433 1433 void G4OpenGLQtViewer::FinishView() 1434 1434 { 1435 #ifdef G4DEBUG_VIS_OGL 1436 printf("G4OpenGLQtViewer::FinishView\n"); 1437 #endif 1435 1438 glFlush (); 1436 1439 fWindow->swapBuffers (); -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc
r1108 r1121 33 33 34 34 #ifdef G4VIS_BUILD_OPENGLQT_DRIVER 35 35 #define QT_STORE_46_DBG 1 36 #define QT_STORE_46_DBG_INIT 1 37 #define QT_STORE_46_DBG_COMPUTE 1 seul ok 38 //#define QT_STORE_46_DBG_RESIZE 1 resize et compute ok 39 //#define QT_STORE_46_DBG_PAINT 1 40 41 #include "G4VViewer.hh" 36 42 #include "G4OpenGLStoredQtViewer.hh" 43 #include "G4OpenGLStoredSceneHandler.hh" 37 44 38 45 #include "G4ios.hh" 39 40 //#include <qmouseevent.h>41 #include <qevent.h> // include <qcontextmenuevent.h>42 46 43 47 G4OpenGLStoredQtViewer::G4OpenGLStoredQtViewer … … 47 51 G4OpenGLViewer (sceneHandler), 48 52 G4OpenGLQtViewer (sceneHandler), 49 G4OpenGLStoredViewer (sceneHandler), // FIXME : gerer le pb du parent ! 50 QGLWidget() 53 G4OpenGLStoredViewer (sceneHandler) // FIXME : gerer le pb du parent ! 51 54 { 52 55 … … 79 82 } 80 83 84 #ifdef QT_STORE_46_DBG_INIT 85 void G4OpenGLStoredQtViewer::initializeGL () { 86 glShadeModel(GL_SMOOTH); // Enable Smooth Shading 87 glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background 88 glClearDepth(1.0f); // Depth Buffer Setup 89 glEnable(GL_DEPTH_TEST); // Enables Depth Testing 90 glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do 91 glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations 92 93 94 return; // Initialization Went OK 95 96 } 97 #else 81 98 void G4OpenGLStoredQtViewer::initializeGL () { 82 99 … … 93 110 glDepthFunc (GL_LEQUAL); 94 111 glDepthMask (GL_TRUE); 112 #ifdef G4DEBUG_VIS_OGL 113 printf("glDepthFunc (GL_LEQUAL) G4OpenGLStoredQtViewer\n "); 114 printf("glDepthMask (GL_TRUE) G4OpenGLStoredQtViewer\n "); 115 #endif 95 116 96 117 if (fSceneHandler.GetScene() == 0) { … … 105 126 } 106 127 128 #endif 107 129 108 130 void G4OpenGLStoredQtViewer::DrawView () { … … 122 144 } 123 145 146 #ifdef QT_STORE_46_DBG_COMPUTE 147 void G4OpenGLStoredQtViewer::ComputeView () { 148 glBegin(GL_QUADS); 149 //carré rouge 150 glColor3ub(255,0,0); 151 glVertex3d(9,9,0); 152 glVertex3d(9,0,0); 153 glVertex3d(0,0,0); 154 glVertex3d(0,9,0); 155 //carré vert 156 glColor3ub(0,255,0); 157 glVertex3d(9,9,0); 158 glVertex3d(18,9,0); 159 glVertex3d(18,0,0); 160 glVertex3d(9,0,0); 161 //carré vert 162 glColor3ub(0,255,0); 163 glVertex3d(0,18,0); 164 glVertex3d(9,18,0); 165 glVertex3d(9,9,0); 166 glVertex3d(0,9,0); 167 //carré bleu 168 glColor3ub(0,0,255); 169 glVertex3d(18,18,0); 170 glVertex3d(18,9,0); 171 glVertex3d(9,9,0); 172 glVertex3d(9,18,0); 173 //carré bleu 174 glColor3ub(0,0,255); 175 glVertex3d(9,0,0); 176 glVertex3d(9,9,0); 177 glVertex3d(9,9,9); 178 glVertex3d(9,0,9); 179 //carré blanc 180 glColor3ub(255,255,255); 181 glVertex3d(9,9,0); 182 glVertex3d(0,9,0); 183 glVertex3d(0,9,9); 184 glVertex3d(9,9,9); 185 //carré rouge 186 glColor3ub(255,0,0); 187 glVertex3d(9,9,9); 188 glVertex3d(9,0,9); 189 glVertex3d(0,0,9); 190 glVertex3d(0,9,9); 191 glEnd(); 192 } 193 #else 124 194 void G4OpenGLStoredQtViewer::ComputeView () { 125 195 … … 151 221 HaloingFirstPass (); 152 222 DrawDisplayLists (); 223 #ifdef G4DEBUG_VIS_OGL 224 printf("glFlush () G4OpenGLStoredQtViewer\n "); 225 #endif 153 226 glFlush (); 154 227 … … 198 271 fHasToRepaint =true; 199 272 } 273 #endif 200 274 201 275 … … 203 277 - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements 204 278 */ 279 #ifdef QT_STORE_46_DBG_RESIZE 205 280 void G4OpenGLStoredQtViewer::resizeGL( 206 281 int aWidth 207 282 ,int aHeight) 208 283 { 284 #ifdef G4DEBUG_VIS_OGL 285 printf("G4OpenGLStoredQtViewer::resizeGL\n"); 286 #endif 209 287 // Set new size, it will be update when next Repaint()->SetView() called 288 if (2 == 1) { 289 if (aHeight==0) 290 { 291 aHeight=1; 292 } 293 294 glViewport(0,0,aWidth,aHeight); 295 296 glMatrixMode(GL_PROJECTION); 297 glLoadIdentity(); 298 299 // Calculate The Aspect Ratio Of The Window 300 gluPerspective(45.0f,(GLfloat)aWidth/(GLfloat)aHeight,0.1f,100.0f); 301 302 glMatrixMode(GL_MODELVIEW); 303 glLoadIdentity(); 304 } else { 305 int side = qMin(aWidth, aHeight); 306 glViewport((aWidth - side) / 2, (aHeight - side) / 2, side, side); 307 308 glMatrixMode(GL_PROJECTION); 309 glLoadIdentity(); 310 glOrtho(-0.5, +0.5, -0.5, +0.5, 4.0, 15.0); 311 glMatrixMode(GL_MODELVIEW); 312 } 313 } 314 #else 315 void G4OpenGLStoredQtViewer::resizeGL( 316 int aWidth 317 ,int aHeight) 318 { 319 #ifdef G4DEBUG_VIS_OGL 320 printf("G4OpenGLStoredQtViewer::resizeGL\n"); 321 #endif 322 // Set new size, it will be update when next Repaint()->SetView() called 323 210 324 ResizeWindow(aWidth,aHeight); 325 326 327 328 SetView(); // en test ....................... 329 // ResizeGLView(); // en test ....................... 330 331 332 333 211 334 fHasToRepaint = sizeHasChanged(); 212 335 } 213 214 336 #endif 337 338 339 #ifdef QT_STORE_46_DBG_PAINT 340 void G4OpenGLStoredQtViewer::paintGL() 341 { 342 #ifdef G4DEBUG_VIS_OGL 343 printf("G4OpenGLStoredQtViewer::paintGL\n"); 344 #endif 345 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 346 glMatrixMode(GL_MODELVIEW); 347 glLoadIdentity(); 348 gluLookAt(15,15,15,0,0,0,0,0,1); 349 350 glBegin(GL_QUADS); 351 //carré rouge 352 glColor3ub(255,0,0); 353 glVertex3d(9,9,0); 354 glVertex3d(9,0,0); 355 glVertex3d(0,0,0); 356 glVertex3d(0,9,0); 357 //carré vert 358 glColor3ub(0,255,0); 359 glVertex3d(9,9,0); 360 glVertex3d(18,9,0); 361 glVertex3d(18,0,0); 362 glVertex3d(9,0,0); 363 //carré vert 364 glColor3ub(0,255,0); 365 glVertex3d(0,18,0); 366 glVertex3d(9,18,0); 367 glVertex3d(9,9,0); 368 glVertex3d(0,9,0); 369 //carré bleu 370 glColor3ub(0,0,255); 371 glVertex3d(18,18,0); 372 glVertex3d(18,9,0); 373 glVertex3d(9,9,0); 374 glVertex3d(9,18,0); 375 //carré bleu 376 glColor3ub(0,0,255); 377 glVertex3d(9,0,0); 378 glVertex3d(9,9,0); 379 glVertex3d(9,9,9); 380 glVertex3d(9,0,9); 381 //carré blanc 382 glColor3ub(255,255,255); 383 glVertex3d(9,9,0); 384 glVertex3d(0,9,0); 385 glVertex3d(0,9,9); 386 glVertex3d(9,9,9); 387 //carré rouge 388 glColor3ub(255,0,0); 389 glVertex3d(9,9,9); 390 glVertex3d(9,0,9); 391 glVertex3d(0,0,9); 392 glVertex3d(0,9,9); 393 glEnd(); 394 } 395 396 #else 215 397 void G4OpenGLStoredQtViewer::paintGL() 216 398 { … … 246 428 } 247 429 430 #endif 431 248 432 void G4OpenGLStoredQtViewer::mousePressEvent(QMouseEvent *event) 249 433 { -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc
r1107 r1121 50 50 fG4OpenGLStoredSceneHandler (sceneHandler) 51 51 { 52 #ifdef G4DEBUG_VIS_OGL 53 printf("G4OpenGLStoredViewer::Creation ...............\n"); 54 #endif 52 55 fLastVP = fDefaultVP; // Not sure if this gets executed before or 53 56 // after G4VViewer::G4VViewer!! Doesn't matter much. -
trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
r1105 r1121 116 116 glDisable (GL_POLYGON_SMOOTH); 117 117 118 #ifdef G4DEBUG_VIS_OGL 119 printf("glClearColor (0.0, 0.0, 0.0, 0.0); G4OpenGLViewer\n "); 120 printf("glClearDepth (1.0); G4OpenGLViewer\n "); 121 printf("glDisable (GL_BLEND); G4OpenGLViewer\n "); 122 printf("glDisable (GL_LINE_SMOOTH); G4OpenGLViewer\n "); 123 printf("glDisable (GL_POLYGON_SMOOTH); G4OpenGLViewer\n "); 124 #endif 125 118 126 fWinSize_x = fVP.GetWindowSizeHintX(); 119 127 fWinSize_y = fVP.GetWindowSizeHintY(); … … 141 149 #endif 142 150 glFlush (); 151 #ifdef G4DEBUG_VIS_OGL 152 printf("glClearColor (...); G4OpenGLViewer\n "); 153 printf("glClearDepth (1.0); G4OpenGLViewer\n "); 154 printf("glDisable (GL_COLOR_BUFFER_BIT); G4OpenGLViewer\n "); 155 printf("glDisable (GL_DEPTH_BUFFER_BIT); G4OpenGLViewer\n "); 156 printf("glDisable (GL_STENCIL_BUFFER_BIT); G4OpenGLViewer\n "); 157 #endif 143 158 } 144 159 … … 209 224 #endif 210 225 glViewport(X, Y, side, side); 226 #ifdef G4DEBUG_VIS_OGL 227 printf("glViewport(%d, %d, %d, %d); G4OpenGLViewer\n ",X,Y,side,side); 228 #endif 211 229 // glViewport(0, 0, fWinSize_x,fWinSize_y); 212 230
Note: See TracChangeset
for help on using the changeset viewer.