Ignore:
Timestamp:
May 12, 2009, 11:04:00 AM (15 years ago)
Author:
garnier
Message:

en test pour les refresh, ne marche pas bien

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

Legend:

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

    r1037 r1038  
    5656  setFocusPolicy(Qt::StrongFocus); // enable keybord events
    5757#endif
    58   hasToRepaint =false;
     58
     59  fNeedRepaint = false;
    5960
    6061  if (fViewId < 0) return;  // In case error in base class instantiation.
     
    7374  CreateFontLists ();
    7475
     76#ifdef G4DEBUG_VIS_OGL
     77  printf("G4OpenGLImmediateQtViewer::Initialise END\n");
     78#endif
    7579  readyToPaint = true;
     80#ifdef G4DEBUG_VIS_OGL
     81  printf("G4OpenGLImmediateQtViewer::Initialise END 2\n");
     82#endif
     83
    7684}
    7785
    7886void G4OpenGLImmediateQtViewer::initializeGL () {
     87#ifdef G4DEBUG_VIS_OGL
     88  printf("G4OpenGLImmediateQtViewer::initializeGL\n");
     89#endif
    7990
    8091  InitializeGLView ();
     92#ifdef G4DEBUG_VIS_OGL
     93  printf("G4OpenGLImmediateQtViewer::initializeGL middle\n");
     94#endif
    8195
    8296
     
    92106
    93107  if (fSceneHandler.GetScene() == 0) {
    94     hasToRepaint =false;
     108    fNeedRepaint = false;
    95109  } else {
    96     hasToRepaint =true;
    97   }
     110    fNeedRepaint = true;
     111  }
     112#ifdef G4DEBUG_VIS_OGL
     113  printf("G4OpenGLImmediateQtViewer::initializeGL END\n");
     114#endif
    98115
    99116}
     
    106123  printf("G4OpenGLImmediateQtViewer::DrawView  VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n");
    107124#endif
    108   // That's no the same logic as Stored Viewer, I don't know why...
    109   // see G4OpenGLStoredQtViewer::DrawView for more informations
    110 
    111   updateQWidget();
     125
     126  // avoid problems at initialisation
     127  if (readyToPaint) {
     128    ComputeView();
     129  }
     130 
    112131#ifdef G4DEBUG_VIS_OGL
    113132  printf("G4OpenGLImmediateQtViewer::DrawView  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
     
    152171  printf("G4OpenGLImmediateQtViewer::ComputeView  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n");
    153172#endif
    154   hasToRepaint = true;
     173  fNeedRepaint = false;
    155174}
    156175
     
    175194,int aHeight)
    176195
     196#ifdef G4DEBUG_VIS_OGL
     197  printf("\n\nG4OpenGLImmediateQtViewer::resizeGL VVVVVV %d %d ??\n",aWidth,aHeight);
     198#endif
    177199  ResizeGLView(aWidth,aHeight);
    178   //  hasToRepaint = true;
     200#ifdef G4DEBUG_VIS_OGL
     201  printf("\n\nG4OpenGLImmediateQtViewer::resizeGL END\n");
     202#endif
    179203}
    180204
     
    182206void G4OpenGLImmediateQtViewer::paintGL()
    183207{
     208   
    184209#ifdef G4DEBUG_VIS_OGL
    185210  printf("\n\nG4OpenGLImmediateQtViewer::paintGL ??\n");
    186211#endif
    187   if (!readyToPaint) {
    188     readyToPaint= true;
    189     return;
    190   }
    191   // DO NOT RESIZE IF SIZE HAS NOT CHANGE
    192 //   if ( !hasToRepaint) {
    193 //     if (((fWinSize_x == (unsigned int)width())) &&(fWinSize_y == (unsigned int) height())) {
    194 //       return;
    195 //     }
    196 //   }
    197 #ifdef G4DEBUG_VIS_OGL
    198   printf("G4OpenGLImmediateQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",readyToPaint);
    199 #endif
    200 
    201   SetView();
    202    
    203   ClearView (); //ok, put the background correct
    204   ComputeView();
    205 
    206   hasToRepaint = false; // could be set to false by ComputeView
    207 
    208 #ifdef G4DEBUG_VIS_OGL
    209   printf("G4OpenGLImmediateQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n\n\n",readyToPaint);
     212  if (fNeedRepaint) {
     213#ifdef G4DEBUG_VIS_OGL
     214    printf("\n\nG4OpenGLImmediateQtViewer::Need ??\n");
     215#endif
     216    if (readyToPaint) {
     217#ifdef G4DEBUG_VIS_OGL
     218  printf("\n\nG4OpenGLImmediateQtViewer::ready ??\n");
     219#endif
     220      RepaintGLView();
     221      fNeedRepaint = false;
     222    }
     223#ifdef G4DEBUG_VIS_OGL
     224    else
     225      printf("\n\nG4OpenGLImmediateQtViewer::NOT ready ??\n");
     226#endif
     227  }
     228#ifdef G4DEBUG_VIS_OGL
     229  else
     230    printf("\n\nG4OpenGLImmediateQtViewer::NOT need ??\n");
     231#endif
     232
     233#ifdef G4DEBUG_VIS_OGL
     234  printf("G4OpenGLImmediateQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready\n\n\n");
    210235#endif
    211236}
     
    252277
    253278void G4OpenGLImmediateQtViewer::updateQWidget() {
    254   hasToRepaint= true;
     279  fNeedRepaint = true;
    255280  updateGL();
    256   hasToRepaint= false;
     281  fNeedRepaint = false;
    257282}
    258283
  • trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc

    r1037 r1038  
    182182    YPos = offset;
    183183  }
    184   //  ResizeGLView(fVP.GetWindowSizeHintX(),fVP.GetWindowSizeHintY());
     184  GLWindow->resize(getWinWidth(),getWinHeight());
    185185  GLWindow->move(fVP.GetWindowAbsoluteLocationHintX(QApplication::desktop()->width()),YPos);
    186186  GLWindow->show();
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc

    r1037 r1038  
    5757  setFocusPolicy(Qt::StrongFocus); // enable keybord events
    5858#endif
    59   hasToRepaint =false;
     59  fNeedRepaint =false;
    6060
    6161  if (fViewId < 0) return;  // In case error in base class instantiation.
     
    7878 
    7979  readyToPaint = true;
     80#ifdef G4DEBUG_VIS_OGL
     81  printf("G4OpenGLStoredQtViewer::Initialise END\n");
     82#endif
    8083}
    8184
     
    9699
    97100  if (fSceneHandler.GetScene() == 0) {
    98     hasToRepaint =false;
     101    fNeedRepaint =false;
    99102  } else {
    100     hasToRepaint =true;
     103    fNeedRepaint =true;
    101104  }
    102105
     
    117120  // And we loose the redraw of things !
    118121 
    119   ComputeView();
     122  // avoid problems at initialisation
     123  if (readyToPaint) {
     124    ComputeView();
     125  }
     126
    120127#ifdef G4DEBUG_VIS_OGL
    121128  printf("G4OpenGLStoredQtViewer::DrawView  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
     
    197204  printf("G4OpenGLStoredQtViewer::ComputeView ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n");
    198205#endif
    199   hasToRepaint =true;
    200206}
    201207
     
    205211*/
    206212void G4OpenGLStoredQtViewer::resizeGL(
    207                                       int aWidth
    208                                       ,int aHeight)
     213 int aWidth
     214,int aHeight)
    209215
    210216  // Set new size, it will be update when next Repaint()->SetView() called
    211217  ResizeGLView(aWidth,aHeight);
    212   //  hasToRepaint = true;
     218  //  fNeedRepaint = true;
    213219}
    214220
     
    223229    return;
    224230  }
    225   // DO NOT RESIZE IF SIZE HAS NOT CHANGE :
    226   //    WHEN CLICK ON THE FRAME FOR EXAMPLE
    227   //    EXECEPT WHEN MOUSE MOVE EVENT
    228 //   if ( !hasToRepaint) {
    229 //     if (((fWinSize_x == (unsigned int)width())) &&(fWinSize_y == (unsigned int) height())) {
    230 //       return;
    231 //     }
    232 //   }
    233 #ifdef G4DEBUG_VIS_OGL
    234   printf("G4OpenGLStoredQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",readyToPaint);
    235 #endif
    236 
    237   SetView();
    238          
    239   ClearView (); //ok, put the background correct
    240   ComputeView();
    241      
    242   hasToRepaint =false;
    243      
     231  RepaintGLView();
     232
    244233#ifdef G4DEBUG_VIS_OGL
    245234  printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n",readyToPaint);
     
    288277
    289278void G4OpenGLStoredQtViewer::updateQWidget() {
    290   hasToRepaint= true;
     279  fNeedRepaint= true;
    291280  updateGL();
    292   hasToRepaint= false;
     281  fNeedRepaint= false;
    293282}
    294283
  • trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc

    r1037 r1038  
    137137void G4OpenGLViewer::ResizeGLView(unsigned int aWidth,unsigned int aHeight)
    138138{
    139   if ((fWinSize_x != aWidth) && (fWinSize_y != aHeight)) {
     139  if ((fWinSize_x != aWidth) || (fWinSize_y != aHeight)) {
    140140    fWinSize_x = aWidth;
    141141    fWinSize_y = aHeight;
     
    144144}
    145145
     146void G4OpenGLViewer::RepaintGLView()
     147{
     148  // DO NOT REPAINT IF NO REFRESH IS NEED
     149//   if ( !fNeedRepaint) {
     150//     return;
     151//   }
     152#ifdef G4DEBUG_VIS_OGL
     153  printf("G4OpenGLViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV \n");
     154#endif
     155
     156  fNeedRepaint = true; // could be set to false by ComputeView
     157  SetView();
     158  ClearView ();
     159  DrawView();
     160
     161  fNeedRepaint = false; // could be set to false by ComputeView
     162
     163#ifdef G4DEBUG_VIS_OGL
     164  printf("G4OpenGLViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n");
     165#endif
     166
     167}
    146168
    147169/**
     
    200222#endif
    201223  glViewport(X, Y, side, side);
     224
     225  RepaintGLView();
     226
    202227  //    glViewport(0, 0, fWinSize_x,fWinSize_y); 
    203228 
     
    640665  }
    641666
    642   width=8192;
    643   height=8192;
     667//   width=8192;
     668//   height=8192;
    644669
    645670  if (!fGL2PSAction) return false;
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc

    r915 r1038  
    7676
    7777  pView->fVP.SetZoomFactor (zoomBy);
    78   pView->SetView ();
    79   pView->ClearView ();
    80   pView -> DrawView ();
     78  pView->RepaintGLView ();
    8179
    8280
     
    108106
    109107  pView->fVP.SetDolly (dolly);
    110   pView->SetView ();
    111   pView->ClearView ();
    112   pView->DrawView ();
     108  pView->RepaintGLView ();
    113109
    114110
     
    157153  pView->fVP.SetCurrentTargetPoint (tp - stp);
    158154
    159   pView->SetView ();
    160   pView->ClearView ();
    161   pView->DrawView ();
     155  pView->RepaintGLView ();
    162156
    163157  pView->pan_timer = XtAppAddTimeOut
     
    207201  pView->fVP.SetCurrentTargetPoint (tp - stp);
    208202 
    209   pView->SetView ();
    210   pView->ClearView ();
    211   pView->DrawView ();
     203  pView->RepaintGLView();
    212204
    213205  pView->pan_timer = XtAppAddTimeOut
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc

    r976 r1038  
    109109  */
    110110
    111   pView->SetView ();
    112   pView->ClearView ();
    113   pView->DrawView ();
     111  pView->RepaintGLView ();
    114112
    115113  pView->rotation_timer = XtAppAddTimeOut
     
    182180
    183181  */
    184   pView->SetView ();
    185   pView->ClearView ();
    186   pView->DrawView ();
     182  pView->RepaintGLView ();
    187183 
    188184  pView->rotation_timer = XtAppAddTimeOut
     
    275271  pView->fVP.SetViewAndLights (pView->original_vp + d_up + d_third_axis);
    276272
    277   pView->SetView ();
    278   pView->ClearView ();
    279   pView->DrawView ();
     273  pView->RepaintGLView ();
    280274 
    281275  if (pView->frameNo++ == 20) {
     
    284278      pView->frameNo = 0;
    285279      pView->fVP.SetViewAndLights (pView->original_vp);
    286       pView->SetView ();
    287       pView->ClearView ();
    288       pView->DrawView ();
     280      pView->RepaintGLView();
    289281   }
    290282  } else {
     
    311303  pView->fVP.SetZoomFactor(1.0);
    312304  pView->fVP.SetDolly(0.0);
    313   pView->SetView ();
     305  pView->RepaintGLView();
    314306  pView->ClearView ();
    315307  pView->DrawView ();
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc

    r951 r1038  
    7575  pView->fVP.SetDrawingStyle (style);
    7676 
    77   pView->SetView ();
    78   pView->ClearView ();
    79   pView->DrawView ();
     77  pView->RepaintGLView();
    8078}
    8179
     
    108106  pView->fVP.SetRepStyle (style);
    109107
    110   pView->SetView ();
    111   pView->ClearView ();
    112   pView->DrawView ();
     108  pView->RepaintGLView ();
    113109}
    114110
     
    145141  }
    146142
    147   pView->SetView ();
    148   pView->ClearView ();
    149   pView->DrawView ();
     143  pView->RepaintGLView ();
    150144}
    151145
     
    175169
    176170  pView->SetNeedKernelVisit (true);
    177   pView->SetView ();
    178   pView->ClearView ();
    179   pView->DrawView ();
     171  pView->RepaintGLView ();
    180172}
    181173
     
    210202  }
    211203
    212   pView->SetView ();
    213   pView->ClearView ();
    214   pView->DrawView ();
     204  pView->RepaintGLView ();
    215205}
    216206
     
    239229  }
    240230
    241   pView->SetView ();
    242   pView->ClearView ();
    243   pView->DrawView ();
     231  pView->RepaintGLView ();
    244232}
    245233
     
    269257
    270258  pView->SetNeedKernelVisit (true);
    271   pView->SetView ();
    272   pView->ClearView ();
    273   pView->DrawView ();
     259  pView->RepaintGLView ();
    274260}
    275261
     
    306292  }
    307293
    308   pView->SetView ();
    309   pView->ClearView ();
    310   pView->DrawView ();
     294  pView->RepaintGLView();
    311295
    312296
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc

    r1037 r1038  
    6363
    6464  pView->ResizeGLView((G4int) width,(G4int) height);
     65  // will call  pView->RepaintGLView() if necessary;
    6566
    6667  glXMakeCurrent (pView->dpy, XtWindow(pView->glxarea), pView->cx);
     
    6970  printf("G4OpenGLXmViewer::expose_callback\n");
    7071#endif
    71   // FIXME : L.Garnier 11 Mai 2009 : Should be erase
    72   pView->SetView ();
    73   pView->ClearView ();
    74   pView->DrawView ();
    75   // ENDOF Fixme
    7672
    7773}
Note: See TracChangeset for help on using the changeset viewer.