Changeset 1124


Ignore:
Timestamp:
Oct 13, 2009, 12:21:44 PM (15 years ago)
Author:
garnier
Message:

en test

Location:
trunk/source/visualization/OpenGL/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc

    r1122 r1124  
    5050{
    5151
     52#ifdef G4DEBUG_VIS_OGL
     53  printf("G4OpenGLImmediateQtViewer::Creation...................before.............%d x %d\n",width(),height());
     54#endif
     55
     56
    5257#if QT_VERSION < 0x040000
    5358  setFocusPolicy(QWidget::StrongFocus); // enable keybord events
     
    7277  CreateFontLists ();
    7378
     79#ifdef G4DEBUG_VIS_OGL
     80  printf("G4OpenGLImmediateQtViewer::Initialize...................after.............%d x %d\n",width(),height());
     81#endif
    7482  fReadyToPaint = true;
    7583}
     
    289297  printf("\n\nG4OpenGLImmediateQtViewer::paintGL ??\n");
    290298#endif
     299#ifdef G4DEBUG_VIS_OGL
     300  printf("G4OpenGLImediateQtViewer::PaintGL................................%d x %d\n",width(),height());
     301#endif
    291302  if (!fReadyToPaint) {
    292303    fReadyToPaint= true;
  • trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc

    r1122 r1124  
    135135    foreach (QWidget *widget, QApplication::allWidgets()) {
    136136      if ((found== false) && (widget->inherits("QMainWindow"))) {
     137#ifdef G4DEBUG_VIS_OGL
     138        printf("G4OpenGLQtViewer::CreateMainWindow on top of ................................%d\n",widget);
     139#endif
    137140        fGLWindow = new QDialog(0,Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);
    138141        found = true;
     142#ifdef G4DEBUG_VIS_OGL
     143        printf("G4OpenGLQtViewer::CreateMainWindow after creation................................%d x %d should equal %d x %d\n",fGLWindow->width(),fGLWindow->height(),getWinWidth(), getWinHeight());
     144#endif
     145        fGLWindow->resize(432,245);
     146#ifdef G4DEBUG_VIS_OGL
     147        int sw = 0;
     148        int sh = 0;
     149        if (!fGLWindow->isMaximized() && !fGLWindow->isFullScreen()) {
     150          sw = fGLWindow->normalGeometry().width();
     151          sh = fGLWindow->normalGeometry().height();
     152        } else {
     153          sw = fGLWindow->frameGeometry().width();
     154          sh = fGLWindow->frameGeometry().height();
     155        }
     156printf("G4OpenGLQtViewer::CreateMainWindow after creation-> set size................................%d x %d should equal %d x %d\n",sw,sh,432,245);
     157       
     158#endif
    139159      }
    140160    }
    141161#endif
     162
     163#ifdef G4DEBUG_VIS_OGL
     164  printf("G4OpenGLQtViewer::CreateMainWindow TOP................................%d x %d\n",fGLWindow->width(),fGLWindow->height());
     165#endif
     166#ifdef G4DEBUG_VIS_OGL
     167  printf("G4OpenGLQtViewer::CreateMainWindow................................%d x %d\n",glWidget->width(),glWidget->height());
     168#endif
     169
    142170
    143171#if QT_VERSION < 0x040000
     
    181209    YPos = offset;
    182210  }
     211#ifdef G4DEBUG_VIS_OGL
     212  printf("G4OpenGLQtViewer::CreateMainWindow before size................................%d x %d should equal %d x %d\n",fGLWindow->width(),fGLWindow->height(),getWinWidth(), getWinHeight());
     213#endif
    183214  fGLWindow->resize(getWinWidth(), getWinHeight());
     215#ifdef G4DEBUG_VIS_OGL
     216  printf("G4OpenGLQtViewer::CreateMainWindow TOP end................................%d x %d should equal %d x %d\n",fGLWindow->width(),fGLWindow->height(),getWinWidth(), getWinHeight());
     217#endif
     218
     219
     220  fGLWindow->resize(432,245);
     221#ifdef G4DEBUG_VIS_OGL
     222  printf("G4OpenGLQtViewer::CreateMainWindow TOP end 2................................%d x %d should equal %d x %d\n",fGLWindow->width(),fGLWindow->height(),432,245);
     223#endif
    184224  fGLWindow->move(fVP.GetWindowAbsoluteLocationHintX(QApplication::desktop()->width()),YPos);
    185225  fGLWindow->show();
     226#ifdef G4DEBUG_VIS_OGL
     227  printf("G4OpenGLQtViewer::CreateMainWindow TOP end after show................................%d x %d\n",fGLWindow->width(),fGLWindow->height());
     228#endif
    186229 
    187230  if(!fWindow) return;
    188231#ifdef G4DEBUG_VIS_OGL
    189   printf("G4OpenGLQtViewer::CreateMainWindow glWidget END\n");
     232  printf("G4OpenGLQtViewer::CreateMainWindow glWidget END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
    190233#endif
    191234
     
    14331476void G4OpenGLQtViewer::FinishView()
    14341477{
    1435 #ifdef G4DEBUG_VIS_OGL
    1436   printf("G4OpenGLQtViewer::FinishView\n");
    1437 #endif
    14381478  glFlush ();
    1439   GLint renderMode;
    1440   glGetIntegerv(GL_RENDER_MODE, &renderMode);
    1441   if (renderMode == GL_RENDER)  printf("G4OpenGLQtViewer::FinishView           RENDER !!!!\n");
    1442   else  printf("G4OpenGLQtViewer::FinishView           not RENDER !!!!\n");
    1443  
    1444   // THIS IF ALLREADY DONE BY THE paintEvent() function
    1445   // Who call it, I don't know...
    1446  
    1447   fWindow->swapBuffers ();
     1479  //  fWindow->swapBuffers ();
    14481480}
    14491481
     
    18191851    if (event->key() == Qt::Key_Plus) {
    18201852      fVP.SetZoomFactor(fVP.GetZoomFactor()*(1+fDeltaZoom));
    1821 #ifdef G4DEBUG_VIS_OGL
    1822       printf("G4OpenGLQtViewer::KeyPressEvent zoomFactor=%f\n",fVP.GetZoomFactor()*(1+fDeltaZoom));
    1823 #endif
    18241853      updateQWidget();
    18251854    }
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc

    r1123 r1124  
    3333
    3434#ifdef G4VIS_BUILD_OPENGLQT_DRIVER
    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"
     35
    4236#include "G4OpenGLStoredQtViewer.hh"
    43 #include "G4OpenGLStoredSceneHandler.hh"
    4437
    4538#include "G4ios.hh"
     
    5144  G4OpenGLViewer (sceneHandler),
    5245  G4OpenGLQtViewer (sceneHandler),
    53   G4OpenGLStoredViewer (sceneHandler)             // FIXME : gerer le pb du parent !
    54 {
     46  G4OpenGLStoredViewer (sceneHandler),             // FIXME : gerer le pb du parent !
     47  QGLWidget()
     48{
     49#ifdef G4DEBUG_VIS_OGL
     50  printf("G4OpenGLStoredQtViewer::Creation...................before.............%d x %d\n",width(),height());
     51#endif
    5552
    5653#if QT_VERSION < 0x040000
     
    7673#endif
    7774  fReadyToPaint = false;
     75#ifdef G4DEBUG_VIS_OGL
     76  printf("G4OpenGLStoredQtViewer::Initialize...................before.............%d x %d\n",width(),height());
     77#endif
    7878  CreateMainWindow (this,QString(fName));
     79#ifdef G4DEBUG_VIS_OGL
     80  printf("G4OpenGLStoredQtViewer::Initialize...................after.............%d x %d\n",width(),height());
     81#endif
    7982  CreateFontLists ();
    8083 
     
    8285}
    8386
    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  
    95   box=glGenLists(1);
    96   glNewList(box,GL_COMPILE);
    97   glBegin(GL_QUADS);
    98   //carré rouge
    99   glColor3ub(255,0,0);
    100   glVertex3d(9,9,0);
    101   glVertex3d(9,0,0);
    102   glVertex3d(0,0,0);
    103   glVertex3d(0,9,0);
    104   //carré vert
    105   glColor3ub(0,255,0);
    106   glVertex3d(9,9,0);
    107   glVertex3d(18,9,0);
    108   glVertex3d(18,0,0);
    109   glVertex3d(9,0,0);
    110   //carré vert
    111   glColor3ub(0,255,0);
    112   glVertex3d(0,18,0);
    113   glVertex3d(9,18,0);
    114   glVertex3d(9,9,0);
    115   glVertex3d(0,9,0);
    116   //carré bleu
    117   glColor3ub(0,0,255);
    118   glVertex3d(18,18,0);
    119   glVertex3d(18,9,0);
    120   glVertex3d(9,9,0);
    121   glVertex3d(9,18,0);
    122   //carré bleu
    123   glColor3ub(0,0,255);
    124   glVertex3d(9,0,0);
    125   glVertex3d(9,9,0);
    126   glVertex3d(9,9,9);
    127   glVertex3d(9,0,9);
    128   //carré blanc
    129   glColor3ub(255,255,255);
    130   glVertex3d(9,9,0);
    131   glVertex3d(0,9,0);
    132   glVertex3d(0,9,9);
    133   glVertex3d(9,9,9);
    134   //carré rouge
    135   glColor3ub(255,0,0);
    136   glVertex3d(9,9,9);
    137   glVertex3d(9,0,9);
    138   glVertex3d(0,0,9);
    139   glVertex3d(0,9,9);
    140   glEnd();
    141   glEndList();
    142   return;                                                                               // Initialization Went OK
    143 
    144  }
    145 #else
    14687void G4OpenGLStoredQtViewer::initializeGL () {
    14788
     
    15899  glDepthFunc (GL_LEQUAL);
    159100  glDepthMask (GL_TRUE);
    160 #ifdef G4DEBUG_VIS_OGL
    161     printf("glDepthFunc (GL_LEQUAL)  G4OpenGLStoredQtViewer\n ");
    162     printf("glDepthMask (GL_TRUE)  G4OpenGLStoredQtViewer\n ");
    163 #endif
    164101
    165102  if (fSceneHandler.GetScene() == 0) {
     
    174111}
    175112
    176 #endif
    177113
    178114void G4OpenGLStoredQtViewer::DrawView () {
     
    192128}
    193129
    194 #ifdef QT_STORE_46_DBG_COMPUTE
    195 void G4OpenGLStoredQtViewer::ComputeView () {
    196   makeCurrent();
    197   ProcessView ();
    198   glCallList(box);
    199 
    200   FinishView ();
    201 #ifdef G4DEBUG_VIS_OGL
    202   printf("G4OpenGLStoredQtViewer::ComputeView          CALL LIST -%d-\n",doubleBuffer());
    203 #endif
    204  }
    205 #else
    206130void G4OpenGLStoredQtViewer::ComputeView () {
    207131
     
    233157    HaloingFirstPass ();
    234158    DrawDisplayLists ();
    235 #ifdef G4DEBUG_VIS_OGL
    236     printf("glFlush ()  G4OpenGLStoredQtViewer\n ");
    237 #endif
    238159    glFlush ();
    239160
     
    283204  fHasToRepaint =true;
    284205}
    285 #endif
    286206
    287207
     
    289209   - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements
    290210*/
    291 #ifdef QT_STORE_46_DBG_RESIZE
    292211void G4OpenGLStoredQtViewer::resizeGL(
    293212                                      int aWidth
     
    295214
    296215#ifdef G4DEBUG_VIS_OGL
    297   printf("G4OpenGLStoredQtViewer::my resizeGL\n");
     216  printf("G4OpenGLStoredQtViewer::resizeEvent..%d x %d   vvvvvv\n",aWidth,aHeight);
     217#endif
     218#ifdef G4DEBUG_VIS_OGL
     219  printf("G4OpenGLStoredQtViewer::resizeEvent size ? %d x %d\n",width(),height());
    298220#endif
    299221  // Set new size, it will be update when next Repaint()->SetView() called
    300   if (2 == 1) {
    301     if (aHeight==0)
    302       {
    303         aHeight=1;     
    304       }
    305    
    306     glViewport(0,0,aWidth,aHeight);
    307    
    308     glMatrixMode(GL_PROJECTION);               
    309     glLoadIdentity();   
    310    
    311     // Calculate The Aspect Ratio Of The Window
    312     gluPerspective(45.0f,(GLfloat)aWidth/(GLfloat)aHeight,0.1f,100.0f);
    313    
    314     glMatrixMode(GL_MODELVIEW);
    315     glLoadIdentity();
    316   } else {
    317     int side = qMin(aWidth, aHeight);
    318     glViewport((aWidth - side) / 2, (aHeight - side) / 2, side, side);
    319    
    320     glMatrixMode(GL_PROJECTION);
    321     glLoadIdentity();
    322     glOrtho(-0.5, +0.5, -0.5, +0.5, 4.0, 15.0);
    323     glMatrixMode(GL_MODELVIEW);
    324   }
    325 }
    326 #else
    327 void G4OpenGLStoredQtViewer::resizeGL(
    328                                       int aWidth
    329                                       ,int aHeight)
    330 
    331 #ifdef G4DEBUG_VIS_OGL
    332   printf("G4OpenGLStoredQtViewer::resizeGL\n");
    333 #endif
    334   // Set new size, it will be update when next Repaint()->SetView() called
    335 
    336   //  ResizeWindow(aWidth,aHeight);
    337 
    338 
    339 
    340   //  SetView(); // en test .......................
    341   //  ResizeGLView(); // en test .......................
    342 
    343 
    344 
    345 
     222  ResizeWindow(aWidth,aHeight);
    346223  fHasToRepaint = sizeHasChanged();
    347 }
    348 #endif
    349 
    350 
    351 #ifdef QT_STORE_46_DBG_PAINT
    352 void G4OpenGLStoredQtViewer::paintGL()
    353 {
    354 #ifdef G4DEBUG_VIS_OGL
    355   printf("G4OpenGLStoredQtViewer::paintGL                                Immediate\n");
    356 #endif
    357     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    358     glMatrixMode(GL_MODELVIEW);
    359     glLoadIdentity();
    360     gluLookAt(15,15,15,0,0,0,0,0,1);
    361 
    362     glBegin(GL_QUADS);
    363     //carré rouge
    364     glColor3ub(255,0,0);
    365     glVertex3d(9,9,0);
    366     glVertex3d(9,0,0);
    367     glVertex3d(0,0,0);
    368     glVertex3d(0,9,0);
    369     //carré vert
    370     glColor3ub(0,255,0);
    371     glVertex3d(9,9,0);
    372     glVertex3d(18,9,0);
    373     glVertex3d(18,0,0);
    374     glVertex3d(9,0,0);
    375     //carré vert
    376     glColor3ub(0,255,0);
    377     glVertex3d(0,18,0);
    378     glVertex3d(9,18,0);
    379     glVertex3d(9,9,0);
    380     glVertex3d(0,9,0);
    381     //carré bleu
    382     glColor3ub(0,0,255);
    383     glVertex3d(18,18,0);
    384     glVertex3d(18,9,0);
    385     glVertex3d(9,9,0);
    386     glVertex3d(9,18,0);
    387     //carré bleu
    388     glColor3ub(0,0,255);
    389     glVertex3d(9,0,0);
    390     glVertex3d(9,9,0);
    391     glVertex3d(9,9,9);
    392     glVertex3d(9,0,9);
    393     //carré blanc
    394     glColor3ub(255,255,255);
    395     glVertex3d(9,9,0);
    396     glVertex3d(0,9,0);
    397     glVertex3d(0,9,9);
    398     glVertex3d(9,9,9);
    399     //carré rouge
    400     glColor3ub(255,0,0);
    401     glVertex3d(9,9,9);
    402     glVertex3d(9,0,9);
    403     glVertex3d(0,0,9);
    404     glVertex3d(0,9,9);
    405     glEnd();
    406 }
    407 
    408 #else
     224#ifdef G4DEBUG_VIS_OGL
     225  printf("G4OpenGLStoredQtViewer::resizeEvent..      ^^^^^^^^\n");
     226#endif
     227}
     228
     229
    409230void G4OpenGLStoredQtViewer::paintGL()
    410231{
     
    420241  //    EXECEPT WHEN MOUSE MOVE EVENT
    421242  if ( !fHasToRepaint) {
     243#ifdef G4DEBUG_VIS_OGL
     244  printf("G4OpenGLStoredQtViewer::paintGL size ? %d x %d\n",width(),height());
     245#endif
     246#ifdef G4DEBUG_VIS_OGL
     247    printf("G4OpenGLStoredQtViewer::paintGL %d = %d    %d = %d\n",getWinWidth(),width(),getWinHeight(),height());
     248        int sw = 0;
     249        int sh = 0;
     250        if (!isMaximized() && !isFullScreen()) {
     251          sw = normalGeometry().width();
     252          sh = normalGeometry().height();
     253        } else {
     254          sw = frameGeometry().width();
     255          sh = frameGeometry().height();
     256        }
     257printf("G4OpenGLStoredQtViewer::paintGL ................................%d x %d \n",sw,sh);
     258       
     259#endif
    422260    if (((getWinWidth() == (unsigned int)width())) &&(getWinHeight() == (unsigned int) height())) {
    423261      return;
     
    436274     
    437275#ifdef G4DEBUG_VIS_OGL
    438   printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n\n\n\n\n\n\n",fReadyToPaint);
    439 #endif
    440 }
    441 
    442 #endif
     276  printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n",fReadyToPaint);
     277#endif
     278}
    443279
    444280void G4OpenGLStoredQtViewer::mousePressEvent(QMouseEvent *event)
    445281{
    446   parentWidget ()->resize(60,89);
    447   //  G4MousePressEvent(event);
     282  G4MousePressEvent(event);
    448283}
    449284
     
    487322{
    488323#ifdef G4DEBUG_VIS_OGL
    489   printf("G4OpenGLStoredQtViewer::paintEvent...................repaint.............\n");
     324  printf("G4OpenGLStoredQtViewer::paintEvent...................repaint.............%d x %d\n",width(),height());
    490325#endif
    491326  QGLWidget::paintEvent(event);
     
    494329void G4OpenGLStoredQtViewer::updateQWidget() {
    495330  fHasToRepaint= true;
    496 #ifdef G4DEBUG_VIS_OGL
    497   printf("G4OpenGLStoredQtViewer::updateQWidget\n");
    498 #endif
    499331  updateGL();
    500332  fHasToRepaint= false;
  • trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc

    r1121 r1124  
    107107void G4OpenGLViewer::InitializeGLView ()
    108108{
    109 #ifdef G4DEBUG_VIS_OGL
    110   printf("G4OpenGLViewer::InitializeGLView\n");
    111 #endif
    112109  glClearColor (0.0, 0.0, 0.0, 0.0);
    113110  glClearDepth (1.0);
     
    116113  glDisable (GL_POLYGON_SMOOTH);
    117114
    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 
    126115  fWinSize_x = fVP.GetWindowSizeHintX();
    127116  fWinSize_y = fVP.GetWindowSizeHintY();
    128 #ifdef G4DEBUG_VIS_OGL
    129   printf("G4OpenGLViewer::InitializeGLView END\n");
    130 #endif
    131117
    132118
     
    149135#endif
    150136  glFlush ();
     137}
     138
     139
     140void G4OpenGLViewer::ResizeWindow(unsigned int aWidth, unsigned int aHeight) {
    151141#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 ");
     142  printf("G4OpenGLViewer::ResizeWindow %d x %d\n",aWidth, aHeight);
    157143#endif
    158 }
    159 
    160 
    161 void G4OpenGLViewer::ResizeWindow(unsigned int aWidth, unsigned int aHeight) {
    162144  if ((fWinSize_x != aWidth) || (fWinSize_y != aHeight)) {
    163145    fWinSize_x = aWidth;
     
    167149    fSizeHasChanged = false;
    168150  }
     151#ifdef G4DEBUG_VIS_OGL
     152  printf("G4OpenGLViewer::ResizeWindow END changed=%d  %d x %d\n",fSizeHasChanged,fWinSize_x,fWinSize_y);
     153#endif
    169154}
    170155
     
    224209#endif
    225210  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
    229211  //    glViewport(0, 0, fWinSize_x,fWinSize_y); 
    230212 
Note: See TracChangeset for help on using the changeset viewer.