Changeset 1307 for trunk


Ignore:
Timestamp:
Jun 4, 2010, 5:28:11 PM (14 years ago)
Author:
garnier
Message:

fixes et cvs update

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

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/OpenGL/History

    r1286 r1307  
    1 $Id: History,v 1.174 2010/05/30 09:53:05 allison Exp $
     1$Id: History,v 1.178 2010/06/04 15:27:47 lgarnier Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
     19
     204th June 2010  Laurent Garnier
     21- G4OpenGLImmediate/StoredQtViewer : Add protection against multiple
     22  repaint call. Add protection against resizeGl with bad values
     23
     243rd June 2010  John Allison  (opengl-V09-03-06)
     25- G4OpenGLImmediateSceneHandler: Re-instate
     26  // Make sure screen corresponds to graphical database...
     27  if (fpViewer) {
     28    fpViewer -> SetView ();
     29    fpViewer -> ClearView ();
     30    fpViewer -> DrawView ();
     31  }
     32  I was wrong - it *is* necessary.  If not there, events are not refreshed.
     33  So this and similar changes below are all back to geant4-09-03, including
     34  glFlush, which is still a big performance penalty on Mac's Snow Leopard.
     35
     363rd June 2010  John Allison  (opengl-V09-03-05)
     37- Restored following files to geant4-09-03 in interests of stable behaviour:
     38  o G4OpenGLStoredSceneHandler.cc
     39    Restored code removed in opengl-V09-03-03:
     40  // Make sure screen corresponds to graphical database...
     41  if (fpViewer) {
     42    fpViewer -> SetView ();
     43    fpViewer -> ClearView ();
     44    fpViewer -> DrawView ();
     45  }
     46  o G4OpenGLStoredXViewer.cc:
     47    Restore to geant4-09-03.  Restored code removed in opengl-V09-03-03:
     48      } else { // ADD TO AVOID KernelVisit=1 and nothing to display
     49        DrawDisplayLists ();
     50        FinishView ();
     51- Note: G4OpenGLImmediateSceneHandler: Same code commented out.  I think
     52  it's not necessary for immediate mode.
    1953
    205430th May 2010  John Allison  (opengl-V09-03-04)
  • trunk/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh

    r1274 r1307  
    2525//
    2626//
    27 // $Id: G4OpenGLQtViewer.hh,v 1.22 2010/05/26 14:50:56 lgarnier Exp $
     27// $Id: G4OpenGLQtViewer.hh,v 1.23 2010/06/04 15:27:47 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    129129  bool fHasToRepaint;
    130130  bool fReadyToPaint;
     131  bool fIsRepainting;
    131132
    132133private:
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc

    r1295 r1307  
    2525//
    2626//
    27 // $Id: G4OpenGLImmediateQtViewer.cc,v 1.18 2010/03/10 11:03:46 lgarnier Exp $
    28 // GEANT4 tag $Name: vis-V09-03-06 $
     27// $Id: G4OpenGLImmediateQtViewer.cc,v 1.19 2010/06/04 15:27:47 lgarnier Exp $
     28// GEANT4 tag $Name: $
    2929//
    3030//
     
    5353  setFocusPolicy(Qt::StrongFocus); // enable keybord events
    5454#endif
    55   fHasToRepaint =false;
     55  fHasToRepaint = false;
     56  fIsRepainting = false;
    5657
    5758  if (fViewId < 0) return;  // In case error in base class instantiation.
     
    148149,int aHeight)
    149150
    150   ResizeWindow(aWidth,aHeight);
    151   fHasToRepaint = sizeHasChanged();
     151  if ((aWidth > 0) && (aHeight > 0)) {
     152    ResizeWindow(aWidth,aHeight);
     153    fHasToRepaint = sizeHasChanged();
     154  }
    152155}
    153156
     
    155158void G4OpenGLImmediateQtViewer::paintGL()
    156159{
     160  if (fIsRepainting) {
     161    return ;
     162  }
    157163#ifdef G4DEBUG_VIS_OGL
    158164  printf("\n\nG4OpenGLImmediateQtViewer::paintGL ??\n");
     
    208214  printf("G4OpenGLImmediateQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n\n\n",fReadyToPaint);
    209215#endif
     216  fIsRepainting = false;
    210217}
    211218
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc

    r1295 r1307  
    2525//
    2626//
    27 // $Id: G4OpenGLImmediateSceneHandler.cc,v 1.32 2010/05/29 15:52:49 allison Exp $
    28 // GEANT4 tag $Name: vis-V09-03-06 $
     27// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.35 2010/06/03 20:35:19 allison Exp $
     28// GEANT4 tag $Name: $
    2929//
    3030//
     
    203203
    204204void G4OpenGLImmediateSceneHandler::ClearTransientStore () {
     205
    205206  G4VSceneHandler::ClearTransientStore ();
     207
     208  // Make sure screen corresponds to graphical database...
     209  if (fpViewer) {
     210    fpViewer -> SetView ();
     211    fpViewer -> ClearView ();
     212    fpViewer -> DrawView ();
     213  }
    206214}
    207215
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc

    r1295 r1307  
    2525//
    2626//
    27 // $Id: G4OpenGLStoredQtViewer.cc,v 1.29 2010/03/10 11:03:46 lgarnier Exp $
    28 // GEANT4 tag $Name: vis-V09-03-06 $
     27// $Id: G4OpenGLStoredQtViewer.cc,v 1.30 2010/06/04 15:27:47 lgarnier Exp $
     28// GEANT4 tag $Name: $
    2929//
    3030//
     
    5353  setFocusPolicy(Qt::StrongFocus); // enable keybord events
    5454#endif
    55   fHasToRepaint =false;
     55  fHasToRepaint = false;
     56  fIsRepainting = false;
    5657
    5758  if (fViewId < 0) return;  // In case error in base class instantiation.
     
    181182  printf("G4OpenGLStoredQtViewer::ComputeView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",getWinWidth(), getWinHeight());
    182183#endif
    183   fHasToRepaint =true;
     184  fHasToRepaint = true;
    184185}
    185186
     
    193194
    194195  // Set new size, it will be update when next Repaint()->SetView() called
    195   ResizeWindow(aWidth,aHeight);
    196   fHasToRepaint = sizeHasChanged();
     196  if ((aWidth > 0) && (aHeight > 0)) {
     197    ResizeWindow(aWidth,aHeight);
     198    fHasToRepaint = sizeHasChanged();
     199  }
    197200}
    198201
     
    205208void G4OpenGLStoredQtViewer::paintGL()
    206209{
     210  if (fIsRepainting) {
     211    return ;
     212  }
     213  fIsRepainting = true;
    207214#ifdef G4DEBUG_VIS_OGL
    208215  printf("G4OpenGLStoredQtViewer::paintGL ready:%d fHasTo:%d??\n",fReadyToPaint,fHasToRepaint);
     
    240247
    241248  SetView();
    242          
     249
    243250  ClearView (); //ok, put the background correct
    244251  ComputeView();
    245252
    246   fHasToRepaint =false;
     253  fHasToRepaint = false;
    247254
    248255#ifdef G4DEBUG_VIS_OGL
    249256  printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n",fReadyToPaint);
    250257#endif
     258  fIsRepainting = false;
    251259}
    252260
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc

    r1286 r1307  
    2525//
    2626//
    27 // $Id: G4OpenGLStoredSceneHandler.cc,v 1.41 2010/05/29 15:52:49 allison Exp $
     27// $Id: G4OpenGLStoredSceneHandler.cc,v 1.42 2010/06/03 08:23:02 allison Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    361361    glDeleteLists(fTOList[i].fDisplayListId, 1);
    362362  fTOList.clear ();
     363
     364  // Make sure screen corresponds to graphical database...
     365  if (fpViewer) {
     366    fpViewer -> SetView ();
     367    fpViewer -> ClearView ();
     368    fpViewer -> DrawView ();
     369  }
    363370}
    364371
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc

    r1295 r1307  
    2525//
    2626//
    27 // $Id: G4OpenGLStoredXViewer.cc,v 1.26 2010/05/29 15:56:50 allison Exp $
    28 // GEANT4 tag $Name: vis-V09-03-06 $
     27// $Id: G4OpenGLStoredXViewer.cc,v 1.27 2010/06/03 08:26:55 allison Exp $
     28// GEANT4 tag $Name: $
    2929//
    3030//
     
    133133        FinishView ();
    134134      } else { // ADD TO AVOID KernelVisit=1 and nothing to display
    135         //DrawDisplayLists ();  ????????? (JA)
    136         //FinishView ();        ????????? (JA)
     135        DrawDisplayLists ();
     136        FinishView ();
    137137      }
    138138    }
  • trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc

    r1274 r1307  
    177177  glViewport(0, 0, fWinSize_x,fWinSize_y);
    178178
     179#ifdef G4DEBUG_VIS_OGL
     180  printf("G4OpenGLViewer::ResizeGLView END %d %d &:%d\n",fWinSize_x,fWinSize_y,this);
     181#endif
    179182 
    180183}
     
    186189    return;
    187190  }
     191#ifdef G4DEBUG_VIS_OGL
     192  printf("G4OpenGLViewer::SetView\n");
     193#endif
    188194  // Calculates view representation based on extent of object being
    189195  // viewed and (initial) viewpoint.  (Note: it can change later due
     
    330336  background = fVP.GetBackgroundColour ();
    331337
     338#ifdef G4DEBUG_VIS_OGL
     339  printf("G4OpenGLViewer::SetView END\n");
     340#endif
    332341}
    333342
Note: See TracChangeset for help on using the changeset viewer.