Changeset 1041


Ignore:
Timestamp:
May 14, 2009, 5:40:34 PM (15 years ago)
Author:
garnier
Message:

en test

Location:
trunk/source/visualization
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/History

    r1040 r1041  
    1 $Id: History,v 1.438 2009/04/29 20:06:39 allison Exp $
     1$Id: History,v 1.439 2009/05/13 10:47:29 lgarnier Exp $
    22-------------------------------------------------------------------
    33
     
    2525---------------------------------------
    2626
     276 May 2009, Laurent Garnier
     28 - G4OpenGLQtViewer.cc: Fix compilation warning and error with gcc4.4
     29
    273029 April 2009, John Allison (vis-V09-02-03)
    2831- visexternal-V09-02-04: Fix a circular dependency to G4OpenGL.
     32
     3328th April 2009, Laurent Garnier
     34 - printEPS is now fully functionnal for X, Xm, Qt Win viewers.   
    2935
    303627th April 2009  John Allison (vis-V09-02-02)
  • trunk/source/visualization/OpenGL/History

    r1040 r1041  
    1 $Id: History,v 1.139 2009/05/06 13:51:21 lgarnier Exp $
     1$Id: History,v 1.140 2009/05/13 10:28:00 lgarnier Exp $
    22-------------------------------------------------------------------
    33
     
    2424 - G4OpenGLStoredQtViewer.cc: Fix a second view redraw at ShowView() call
    2525 - G4OpenGLQtViewer : Remove unuseful variables, renaming others
    26 
     26 - G4OpenGLViewer : Add method for resizing properly windows. Add methods
     27   to get window width, height and to know if size has changed
     28 - G4OpenGLQtViewer, G4OpenGLStoredQtViewer, G4OpenGLImmediateQtViewer,
     29   G4OpenGLXmViewer, G4XmWindowsHandlingCallback, G4OpenGLXViewer :
     30     Apply the previous changes.
    2731
    28326 May 2009, Laurent Garnier
  • trunk/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh

    r1040 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLQtViewer.hh,v 1.16 2009/03/05 16:36:13 lgarnier Exp $
     27// $Id: G4OpenGLQtViewer.hh,v 1.17 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
  • trunk/source/visualization/OpenGL/include/G4OpenGLViewer.hh

    r1040 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLViewer.hh,v 1.30 2009/04/08 16:55:44 lgarnier Exp $
     27// $Id: G4OpenGLViewer.hh,v 1.31 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    7373  void printEPS();
    7474  // print EPS file. Depending of fVectoredPs, it will print Vectored or not
    75  
     75  void setPrintSize(G4int,G4int);
     76  // set the new print size.
     77  // -1 means 'print size' = 'window size'
     78  // Setting size greater than max OpenGL viewport size will set the size to
     79  // maximum
     80  void setPrintFilename(G4String name,G4bool inc);
     81  // set print filename.
     82  // if inc, then the filename will be increment by one each time
     83  std::string getRealPrintFilename();
    7684  unsigned int getWinWidth();
    7785  unsigned int getWinHeight();
     
    8189  GLdouble getSceneFarWidth();
    8290  GLdouble getSceneDepth();
    83   std::string                       fPrintFilename;
    8491  G4bool                            fPrintColour;
    8592  G4bool                            fVectoredPs;
    86   G4int                             fPrintSizeX;
    87   G4int                             fPrintSizeY;
    8893
    8994  G4OpenGLSceneHandler& fOpenGLSceneHandler;
     
    106111
    107112private :
     113  G4int                             fPrintSizeX;
     114  G4int                             fPrintSizeY;
     115  G4String                          fPrintFilename;
     116  G4int                             fPrintFilenameIndex;
    108117  unsigned int fWinSize_x, fWinSize_y;
    109118  G4float                           fPointSize;
     
    111120  // size of the OpenGL frame
    112121  bool printGl2PS();
     122  G4int getRealPrintSizeX();
     123  G4int getRealPrintSizeY();
    113124  GLubyte* grabPixels (int inColor,
    114125                       unsigned int width,
  • trunk/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh

    r956 r1041  
    5353  G4UIdirectory* fpDirectory;
    5454  G4UIcmdWithoutParameter* fpCommandPrintEPS;
     55  G4UIcommand* fpCommandPrintSize;
     56  G4UIcommand* fpCommandPrintFilename;
    5557  G4UIdirectory* fpDirectorySet;
    5658  G4UIcommand* fpCommandDisplayHeadTime;
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc

    r1040 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLImmediateQtViewer.cc,v 1.13 2009/03/31 17:14:42 lgarnier Exp $
     27// $Id: G4OpenGLImmediateQtViewer.cc,v 1.14 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
  • trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc

    r1040 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLQtViewer.cc,v 1.40 2009/05/06 13:51:21 lgarnier Exp $
     27// $Id: G4OpenGLQtViewer.cc,v 1.41 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    12911291  filters += "pdf";
    12921292  QString* selectedFormat = new QString();
    1293 #if QT_VERSION < 0x040000
    1294   fPrintFilename =  QFileDialog::getSaveFileName ( ".",
     1293  std::string name;
     1294#if QT_VERSION < 0x040000
     1295  name =  QFileDialog::getSaveFileName ( ".",
    12951296                                                    filters,
    12961297                                                    fGLWindow,
     
    12991300                                                    selectedFormat ).ascii();
    13001301#else
    1301   fPrintFilename =  QFileDialog::getSaveFileName ( fGLWindow,
     1302  name =  QFileDialog::getSaveFileName ( fGLWindow,
    13021303                                                    tr("Save as ..."),
    13031304                                                    ".",
     
    13061307#endif
    13071308  // bmp jpg jpeg png ppm xbm xpm
    1308   if (fPrintFilename.empty()) {
     1309  if (name.empty()) {
    13091310    return;
    13101311  }
    13111312#if QT_VERSION < 0x040000
    1312   fPrintFilename += "." + std::string(selectedFormat->ascii());
     1313  name += "." + std::string(selectedFormat->ascii());
    13131314  QString format = selectedFormat->lower();
    13141315#else
    1315   fPrintFilename += "." + selectedFormat->toStdString();
     1316  name += "." + selectedFormat->toStdString();
    13161317  QString format = selectedFormat->toLower();
    13171318#endif
     1319  setPrintFilename(name.c_str(),-1);
    13181320  G4OpenGLQtExportDialog* exportDialog= new G4OpenGLQtExportDialog(fGLWindow,format,fWindow->height(),fWindow->width());
    13191321  if(  exportDialog->exec()) {
     
    13231325    if ((exportDialog->getWidth() !=fWindow->width()) ||
    13241326        (exportDialog->getHeight() !=fWindow->height())) {
    1325       fPrintSizeX = exportDialog->getWidth();
    1326       fPrintSizeY = exportDialog->getHeight();
     1327      setPrintSize(exportDialog->getWidth(),exportDialog->getHeight());
    13271328      if ((format != QString("eps")) && (format != QString("ps"))) {
    13281329      G4cerr << "Export->Change Size : This function is not implemented, to export in another size, please resize your frame to what you need" << G4endl;
     
    13551356    } else if (format == "pdf") {
    13561357
    1357       res = printPDF(fPrintFilename,exportDialog->getNbColor(),image);
     1358      res = printPDF(name,exportDialog->getNbColor(),image);
    13581359
    13591360    } else if ((format == "tif") ||
     
    13691370               (format == "xpm")) {
    13701371#if QT_VERSION < 0x040000
    1371       res = image.save(QString(fPrintFilename.c_str()),selectedFormat->ascii(),exportDialog->getSliderValue());
    1372 #else
    1373       res = image.save(QString(fPrintFilename.c_str()),0,exportDialog->getSliderValue());
     1372      res = image.save(QString(name.c_str()),selectedFormat->ascii(),exportDialog->getSliderValue());
     1373#else
     1374      res = image.save(QString(name.c_str()),0,exportDialog->getSliderValue());
    13741375#endif
    13751376    } else {
     
    13781379    if ((format == QString("eps")) && (format == QString("ps"))) {
    13791380      if (res == false) {
    1380         G4cerr << "Error while saving file... "<<fPrintFilename.c_str()<< G4endl;
     1381        G4cerr << "Error while saving file... "<<name.c_str()<< G4endl;
    13811382      } else {
    1382         G4cout << "File "<<fPrintFilename.c_str()<<" has been saved " << G4endl;
     1383        G4cout << "File "<<name.c_str()<<" has been saved " << G4endl;
    13831384      }
    13841385    }
     
    14311432void G4OpenGLQtViewer::FinishView()
    14321433{
     1434#ifdef G4DEBUG_VIS_OGL
     1435  printf("G4OpenGLQtViewer::FinishView\n");
     1436#endif
    14331437   glFlush ();
    14341438   fWindow->swapBuffers ();
     1439#ifdef G4DEBUG_VIS_OGL
     1440  printf("G4OpenGLQtViewer::FinishView END\n");
     1441#endif
    14351442}
    14361443
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc

    r1040 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLStoredQtViewer.cc,v 1.24 2009/03/31 17:14:42 lgarnier Exp $
     27// $Id: G4OpenGLStoredQtViewer.cc,v 1.25 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc

    r1036 r1041  
    452452  // Make sure screen corresponds to graphical database...
    453453  if (fpViewer) {
     454#ifdef G4DEBUG_VIS_OGL
     455    printf("G4OpenGLStoredSceneHandler::ClearTransientStore () BEGIN\n");
     456#endif
    454457    fpViewer -> SetView ();
    455458    fpViewer -> ClearView ();
    456459    fpViewer -> DrawView ();
     460#ifdef G4DEBUG_VIS_OGL
     461    printf("G4OpenGLStoredSceneHandler::ClearTransientStore () END\n");
     462#endif
    457463  }
    458464}
  • trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc

    r1040 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLViewer.cc,v 1.54 2009/04/28 14:33:04 lgarnier Exp $
     27// $Id: G4OpenGLViewer.cc,v 1.55 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    5757G4OpenGLViewer::G4OpenGLViewer (G4OpenGLSceneHandler& scene):
    5858G4VViewer (scene, -1),
    59 fPrintFilename ("G4OpenGL.eps"),
    6059fPrintColour (true),
    6160fVectoredPs (true),
    62 fPrintSizeX(0),
    63 fPrintSizeY(0),
    6461fOpenGLSceneHandler(scene),
    6562background (G4Colour(0.,0.,0.)),
     
    8582fDisplayLightFrontGreen(1.),
    8683fDisplayLightFrontBlue(0.),
     84fPrintSizeX(-1),
     85fPrintSizeY(-1),
     86fPrintFilename ("G4OpenGL.eps"),
     87fPrintFilenameIndex(0),
    8788fPointSize (0),
    8889fSizeHasChanged(0)
     
    492493  bool res;
    493494#ifdef G4DEBUG_VIS_OGL
    494   printf("G4OpenGLViewer::printEPS file:%s Vec:%d\n",fPrintFilename.c_str(),fVectoredPs);
     495  printf("G4OpenGLViewer::printEPS file:%s Vec:%d\n",getRealPrintFilename().c_str(),fVectoredPs);
    495496#endif
    496497  if (fVectoredPs) {
     
    500501  }
    501502  if (res == false) {
    502     G4cerr << "Error while saving file... "<<fPrintFilename.c_str()<< G4endl;
     503    G4cerr << "Error while saving file... "<<getRealPrintFilename().c_str()<< G4endl;
    503504  } else {
    504505    G4cout << "File "<<fPrintFilename.c_str()<<" has been saved " << G4endl;
    505506  }
     507
     508  // increment index if necessary
     509  if ( fPrintFilenameIndex != -1) {
     510    fPrintFilenameIndex++;
     511  }
     512
    506513}
    507514
     
    512519bool G4OpenGLViewer::printNonVectoredEPS () {
    513520
    514   int width = 0;
    515   int height = 0;
    516 
    517   if (fPrintSizeX == 0) {
    518     width = fWinSize_x;
    519   } else {
    520     width = fPrintSizeX;
    521   }
    522   if (fPrintSizeY == 0) {
    523     height = fWinSize_y;
    524   } else {
    525     height = fPrintSizeY;
    526   }
     521  int width = getRealPrintSizeX();
     522  int height = getRealPrintSizeY();
    527523
    528524#ifdef G4DEBUG_VIS_OGL
    529   printf("G4OpenGLViewer::printNonVectoredEPS file:%s Vec:%d X:%d Y:%d col:%d\n",fPrintFilename.c_str(),fVectoredPs,width,height,fPrintColour);
     525  printf("G4OpenGLViewer::printNonVectoredEPS file:%s Vec:%d X:%d Y:%d col:%d\n",getRealPrintFilename().c_str(),fVectoredPs,width,height,fPrintColour);
    530526#endif
    531527  FILE* fp;
     
    545541    components = 1;
    546542  }
    547  
    548   fp = fopen (fPrintFilename.c_str(), "w");
     543  std::string name = getRealPrintFilename();
     544  fp = fopen (name.c_str(), "w");
    549545  if (fp == NULL) {
    550     G4cerr << "Can't open filename " << fPrintFilename.c_str() << G4endl;
     546    G4cerr << "Can't open filename " << name.c_str() << G4endl;
    551547    return false;
    552548  }
    553549 
    554550  fprintf (fp, "%%!PS-Adobe-2.0 EPSF-1.2\n");
    555   fprintf (fp, "%%%%Title: %s\n", fPrintFilename.c_str());
     551  fprintf (fp, "%%%%Title: %s\n", name.c_str());
    556552  fprintf (fp, "%%%%Creator: OpenGL pixmap render output\n");
    557553  fprintf (fp, "%%%%BoundingBox: 0 0 %d %d\n", width, height);
     
    603599
    604600  // Reset for next time (useful is size change)
    605   fPrintSizeX = 0;
    606   fPrintSizeY = 0;
     601  //  fPrintSizeX = -1;
     602  //  fPrintSizeY = -1;
    607603
    608604  return true;
     
    612608bool G4OpenGLViewer::printGl2PS() {
    613609
    614   int width = 0;
    615   int height = 0;
    616 
    617   if (fPrintSizeX == 0) {
    618     width = fWinSize_x;
    619   } else {
    620     width = fPrintSizeX;
    621   }
    622   if (fPrintSizeY == 0) {
    623     height = fWinSize_y;
    624   } else {
    625     height = fPrintSizeY;
    626   }
     610  int width = getRealPrintSizeX();
     611  int height = getRealPrintSizeY();
    627612
    628613  if (!fGL2PSAction) return false;
    629614
    630   fGL2PSAction->setFileName(fPrintFilename.c_str());
     615  fGL2PSAction->setFileName(getRealPrintFilename().c_str());
    631616  // try to resize
    632617  int X = fWinSize_x;
     
    652637
    653638  // Reset for next time (useful is size change)
    654   fPrintSizeX = 0;
    655   fPrintSizeY = 0;
     639  //  fPrintSizeX = 0;
     640  //  fPrintSizeY = 0;
    656641
    657642  return true;
     
    668653G4bool G4OpenGLViewer::sizeHasChanged() {
    669654  return fSizeHasChanged;
     655}
     656
     657G4int G4OpenGLViewer::getRealPrintSizeX() {
     658  if (fPrintSizeX == -1) {
     659    return fWinSize_x;
     660  }
     661  GLint dims[2];
     662  glGetIntegerv(GL_MAX_VIEWPORT_DIMS, dims);
     663  if (fPrintSizeX > dims[0]){
     664    return dims[0];
     665  }
     666  if (fPrintSizeX < -1){
     667    return 0;
     668  }
     669  return fPrintSizeX;
     670}
     671
     672G4int G4OpenGLViewer::getRealPrintSizeY() {
     673  if (fPrintSizeY == -1) {
     674    return fWinSize_y;
     675  }
     676  GLint dims[2];
     677  glGetIntegerv(GL_MAX_VIEWPORT_DIMS, dims);
     678  if (fPrintSizeY > dims[1]){
     679    return dims[1];
     680  }
     681  if (fPrintSizeY < -1){
     682    return 0;
     683  }
     684  return fPrintSizeY;
     685}
     686
     687void G4OpenGLViewer::setPrintSize(G4int X, G4int Y) {
     688  fPrintSizeX = X;
     689  fPrintSizeY = Y;
     690}
     691
     692void G4OpenGLViewer::setPrintFilename(G4String name,G4bool inc) {
     693  if (name != "") {
     694    fPrintFilename = name;
     695  } else {
     696    fPrintFilename = "G4OpenGL";  // by default
     697  }
     698  if (inc) {
     699    fPrintFilenameIndex=0;
     700  } else {
     701    fPrintFilenameIndex=-1;
     702  }
     703}
     704
     705std::string G4OpenGLViewer::getRealPrintFilename() {
     706  std:: string temp = fPrintFilename;
     707  if (fPrintFilenameIndex != -1) {
     708    temp +="_"+fPrintFilenameIndex;
     709  }
     710  temp += ".eps";
     711  return temp;
    670712}
    671713
  • trunk/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc

    r1037 r1041  
    6969     "\nCan be \"vectored\" or \"pixmap\" - see \"/vis/ogl/set/printMode\".");
    7070
     71  fpCommandPrintSize =
     72    new G4UIcommand("/vis/ogl/set/printSize", this);
     73  fpCommandPrintSize->SetGuidance ("Set print size");
     74  fpCommandPrintSize->SetGuidance ("Tip : -1 will mean 'print size' = 'window size'");
     75  fpCommandPrintSize->SetGuidance ("       Setting size greatter than your maximum graphic card capacity , will set the size to maximum  size.");
     76  G4UIparameter* parameterPrintSize;
     77  parameterPrintSize = new G4UIparameter ("width", 'd', omitable = false);
     78  parameterPrintSize->SetDefaultValue(-1);
     79  fpCommandPrintSize->SetParameter(parameterPrintSize);
     80  parameterPrintSize = new G4UIparameter ("height", 'd', omitable = false);
     81  parameterPrintSize->SetDefaultValue(-1);
     82  fpCommandPrintSize->SetParameter(parameterPrintSize);
     83
     84  fpCommandPrintFilename =
     85    new G4UIcommand("/vis/ogl/set/printFilename", this);
     86  fpCommandPrintFilename->SetGuidance ("Set print filename");
     87  fpCommandPrintFilename->SetGuidance ("Setting 'incremental' will increment filename by one at each new print, starting at 0");
     88  G4UIparameter* parameterPrintFilename;
     89  parameterPrintFilename = new G4UIparameter ("name", 's', omitable = true);
     90  parameterPrintFilename->SetDefaultValue("G4OpenGL");
     91  fpCommandPrintFilename->SetParameter(parameterPrintFilename);
     92  parameterPrintFilename = new G4UIparameter ("incremental", 'b', omitable = true);
     93  parameterPrintFilename->SetDefaultValue(1);
     94  fpCommandPrintFilename->SetParameter(parameterPrintFilename);
     95
    7196  fpDirectorySet = new G4UIdirectory ("/vis/ogl/set/");
    7297  fpDirectorySet->SetGuidance("G4OpenGLViewer set commands.");
     
    252277  if (command == fpCommandPrintEPS)
    253278    {
    254       // Keep copy of fPrintFilename to preserve Xm behaviour...
    255       std::string tmp_string = pOGLViewer->fPrintFilename;
    256 
    257       // Make new print string...
    258       static G4int file_count = 0;
    259       std::ostringstream oss;
    260       oss << "G4OpenGL_" << file_count++ << ".eps";
    261       pOGLViewer->fPrintFilename = std::string(oss.str().c_str());
    262       // Print eps file...
    263 #ifdef G4DEBUG_VIS_OGL
    264       printf("G4OpenGLViewerMessenger::SetNewValue Call printEPS %s\n",std::string(oss.str().c_str()).c_str());
    265 #endif
    266279      pOGLViewer->printEPS();
    267       // Restore fPrintFilename for Xm...
    268       pOGLViewer->fPrintFilename = tmp_string;
    269       return;
     280      return;
     281    }
     282
     283  if (command == fpCommandPrintSize)
     284    {
     285      G4int width,height;
     286      std::istringstream iss(newValue);
     287      iss >> width
     288          >> height;
     289      pOGLViewer->setPrintSize(width,height);
     290    }
     291
     292  if (command == fpCommandPrintFilename)
     293    {
     294      G4String name;
     295      G4bool inc;
     296      std::istringstream iss(newValue);
     297      iss >> name
     298          >> inc;
     299      pOGLViewer->setPrintFilename(name,inc);
    270300    }
    271301
  • trunk/source/visualization/OpenGL/src/G4OpenGLXViewer.cc

    r1039 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLXViewer.cc,v 1.54 2009/04/28 14:33:04 lgarnier Exp $
     27// $Id: G4OpenGLXViewer.cc,v 1.55 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
  • trunk/source/visualization/OpenGL/src/G4OpenGLXViewerMessenger.cc

    r948 r1041  
    9696  if (command == fpCommandPrintEPS)
    9797    {
    98       // Keep copy of fPrintFilename to preserve Xm behaviour...
    99       std::string tmp_string = pViewer->fPrintFilename;
    100 
    101       // Make new print string...
    102       static G4int file_count = 0;
    103       std::ostringstream oss;
    104       oss << "G4OpenGL_" << file_count++ << ".eps";
    105       pViewer->fPrintFilename = std::string (oss.str().c_str());
    10698      // Print eps file...
    10799      pViewer->printEPS();
    108       // Restore fPrintFilename for Xm...
    109       pViewer->fPrintFilename = tmp_string;
    110100    }
    111101
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc

    r924 r1041  
    486486       
    487487        pView->fpprint_text = new G4OpenGLXmTextField ("Name of .eps file to save",
    488                                                        (pView->fPrintFilename.c_str()));
     488                                                       (pView->getRealPrintFilename().c_str()));
    489489        pView->fpprint_box->AddChild (pView->fpprint_text);     
    490490       
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc

    r1038 r1041  
    7676
    7777  pView->fVP.SetZoomFactor (zoomBy);
    78   pView->RepaintGLView ();
     78  pView->SetView ();
     79  pView->ClearView ();
     80  pView -> DrawView ();
    7981
    8082
     
    106108
    107109  pView->fVP.SetDolly (dolly);
    108   pView->RepaintGLView ();
     110  pView->SetView ();
     111  pView->ClearView ();
     112  pView->DrawView ();
    109113
    110114
     
    153157  pView->fVP.SetCurrentTargetPoint (tp - stp);
    154158
    155   pView->RepaintGLView ();
     159  pView->SetView ();
     160  pView->ClearView ();
     161  pView->DrawView ();
    156162
    157163  pView->pan_timer = XtAppAddTimeOut
     
    201207  pView->fVP.SetCurrentTargetPoint (tp - stp);
    202208 
    203   pView->RepaintGLView();
     209  pView->SetView ();
     210  pView->ClearView ();
     211  pView->DrawView ();
    204212
    205213  pView->pan_timer = XtAppAddTimeOut
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc

    r1038 r1041  
    109109  */
    110110
    111   pView->RepaintGLView ();
     111  pView->SetView ();
     112  pView->ClearView ();
     113  pView->DrawView ();
    112114
    113115  pView->rotation_timer = XtAppAddTimeOut
     
    180182
    181183  */
    182   pView->RepaintGLView ();
     184  pView->SetView ();
     185  pView->ClearView ();
     186  pView->DrawView ();
    183187 
    184188  pView->rotation_timer = XtAppAddTimeOut
     
    271275  pView->fVP.SetViewAndLights (pView->original_vp + d_up + d_third_axis);
    272276
    273   pView->RepaintGLView ();
     277  pView->SetView ();
     278  pView->ClearView ();
     279  pView->DrawView ();
    274280 
    275281  if (pView->frameNo++ == 20) {
     
    278284      pView->frameNo = 0;
    279285      pView->fVP.SetViewAndLights (pView->original_vp);
    280       pView->RepaintGLView();
     286      pView->SetView ();
     287      pView->ClearView ();
     288      pView->DrawView ();
    281289   }
    282290  } else {
     
    303311  pView->fVP.SetZoomFactor(1.0);
    304312  pView->fVP.SetDolly(0.0);
    305   pView->RepaintGLView();
     313  pView->SetView ();
    306314  pView->ClearView ();
    307315  pView->DrawView ();
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc

    r1038 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLXmStyleCallbacks.cc,v 1.14 2006/06/29 21:20:02 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// $Id: G4OpenGLXmStyleCallbacks.cc,v 1.15 2009/01/19 16:53:42 lgarnier Exp $
     28// GEANT4 tag $Name: $
    2929//
    3030//
     
    7575  pView->fVP.SetDrawingStyle (style);
    7676 
    77   pView->RepaintGLView();
     77  pView->SetView ();
     78  pView->ClearView ();
     79  pView->DrawView ();
    7880}
    7981
     
    106108  pView->fVP.SetRepStyle (style);
    107109
    108   pView->RepaintGLView ();
     110  pView->SetView ();
     111  pView->ClearView ();
     112  pView->DrawView ();
    109113}
    110114
     
    141145  }
    142146
    143   pView->RepaintGLView ();
     147  pView->SetView ();
     148  pView->ClearView ();
     149  pView->DrawView ();
    144150}
    145151
     
    169175
    170176  pView->SetNeedKernelVisit (true);
    171   pView->RepaintGLView ();
     177  pView->SetView ();
     178  pView->ClearView ();
     179  pView->DrawView ();
    172180}
    173181
     
    202210  }
    203211
    204   pView->RepaintGLView ();
     212  pView->SetView ();
     213  pView->ClearView ();
     214  pView->DrawView ();
    205215}
    206216
     
    229239  }
    230240
    231   pView->RepaintGLView ();
     241  pView->SetView ();
     242  pView->ClearView ();
     243  pView->DrawView ();
    232244}
    233245
     
    257269
    258270  pView->SetNeedKernelVisit (true);
    259   pView->RepaintGLView ();
     271  pView->SetView ();
     272  pView->ClearView ();
     273  pView->DrawView ();
    260274}
    261275
     
    292306  }
    293307
    294   pView->RepaintGLView();
     308  pView->SetView ();
     309  pView->ClearView ();
     310  pView->DrawView ();
    295311
    296312
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc

    r1039 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLXmViewer.cc,v 1.30 2009/02/04 16:48:41 lgarnier Exp $
     27// $Id: G4OpenGLXmViewer.cc,v 1.31 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    4848#include "G4OpenGLXmSliderBar.hh"
    4949
    50 #include "G4StateManager.hh"
    51 
    5250#include "G4Xt.hh"
    5351#include <X11/Shell.h>
     
    5957
    6058void G4OpenGLXmViewer::ShowView () {
    61 #ifdef G4DEBUG_VIS_OGL
    62     printf("G4OpenGLXmViewer::ShowView vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n");
    63 #endif
    64     G4StateManager* stateManager = G4StateManager::GetStateManager();
    65     G4ApplicationState state = stateManager->GetCurrentState();
    66 //     if (state == G4State_Idle) {
    67 #ifdef G4DEBUG_VIS_OGL
    68       printf("G4OpenGLXmViewer::ShowView LOOOOOOOOOOOOOOOPPPPPPPPPPP\n");
    69 #endif
    70       G4Xt::getInstance () -> SecondaryLoop ();
    71 #ifdef G4DEBUG_VIS_OGL
    72       printf("G4OpenGLXmViewer::ShowView LOOOOOOOOOOOOOOOPPPPPPPPPPP END\n");
    73 #endif
    74 //     }
    75 #ifdef G4DEBUG_VIS_OGL
    76     printf("G4OpenGLXmViewer::Showiew END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
    77 #endif
     59
     60  G4Xt::getInstance () -> SecondaryLoop ();
     61
    7862}
    7963
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc

    r1039 r1041  
    2525//
    2626//
    27 // $Id: G4OpenGLXmWindowHandlingCallbacks.cc,v 1.10 2009/04/08 16:55:44 lgarnier Exp $
     27// $Id: G4OpenGLXmWindowHandlingCallbacks.cc,v 1.11 2009/05/13 10:28:00 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    4242                                      XtPointer x)
    4343{
    44 #ifdef G4DEBUG_VIS_OGL
    45   printf("G4OpenGLXmViewer::resize_callback\n");
    46 #endif
    4744  expose_callback(w,clientData,x);
    4845}
     
    6663  glXMakeCurrent (pView->dpy, XtWindow(pView->glxarea), pView->cx);
    6764
    68 #ifdef G4DEBUG_VIS_OGL
    69   printf("G4OpenGLXmViewer::expose_callback\n");
    70 #endif
    7165  pView->SetView ();
    7266  pView->ClearView ();
  • trunk/source/visualization/management/src/G4VisCommandsScene.cc

    r954 r1041  
    556556            // Re-draw, forcing rebuild of graphics database, if any...
    557557            aViewer -> NeedKernelVisit();
     558#ifdef G4DEBUG_VIS_MANAGEMENT
     559            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call SetView()\n");
     560#endif
    558561            aViewer -> SetView ();
     562#ifdef G4DEBUG_VIS_MANAGEMENT
     563            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call SetView() END\n");
     564            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call ClearView()\n");
     565#endif
    559566            aViewer -> ClearView ();
     567#ifdef G4DEBUG_VIS_MANAGEMENT
     568            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call ClearView() END\n");
     569            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call DrawView()\n");
     570#endif
    560571            aViewer -> DrawView ();
     572#ifdef G4DEBUG_VIS_MANAGEMENT
     573            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call DrawView() END\n");
     574#endif
    561575            if (flush) aViewer -> ShowView ();
    562576            if (verbosity >= G4VisManager::confirmations) {
     
    614628      pCurrentSceneHandler -> SetCurrentViewer (pCurrentViewer);
    615629      if (pCurrentViewer && pCurrentSceneHandler->GetScene()) {
     630#ifdef G4DEBUG_VIS_MANAGEMENT
     631            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call SetView()\n");
     632#endif
    616633        pCurrentViewer -> SetView ();
     634#ifdef G4DEBUG_VIS_MANAGEMENT
     635            printf("G4VisCommandSceneNotifyHandlers::SetNewValue Call SetView() END\n");
     636#endif
    617637      }
    618638    }
  • trunk/source/visualization/management/src/G4VisCommandsSceneHandler.cc

    r954 r1041  
    113113    G4VViewer* pViewer = pSceneHandler -> GetCurrentViewer();
    114114    if (pViewer && pViewer -> GetViewParameters().IsAutoRefresh()) {
    115       pViewer -> SetView ();
    116       pViewer -> ClearView ();
    117       pViewer -> DrawView ();
     115#ifdef G4DEBUG_VIS_MANAGEMENT
     116            printf("G4VisCommandSceneHandlerAttach::SetNewValue Call SetView()\n");
     117#endif
     118            pViewer -> SetView ();
     119#ifdef G4DEBUG_VIS_MANAGEMENT
     120            printf("G4VisCommandSceneHandlerAttach::SetNewValue Call SetView() END\n");
     121            printf("G4VisCommandSceneHandlerAttach::SetNewValue Call ClearView()\n");
     122#endif
     123            pViewer -> ClearView ();
     124#ifdef G4DEBUG_VIS_MANAGEMENT
     125            printf("G4VisCommandSceneHandlerAttach::SetNewValue Call ClearView() END\n");
     126            printf("G4VisCommandSceneHandlerAttach::SetNewValue Call DrawView()\n");
     127#endif
     128            pViewer -> DrawView ();
     129#ifdef G4DEBUG_VIS_MANAGEMENT
     130            printf("G4VisCommandSceneHandlerAttach::SetNewValue Call DrawView() END\n");
     131#endif
    118132    }
    119133    if (verbosity >= G4VisManager::confirmations) {
  • trunk/source/visualization/management/src/G4VisCommandsViewer.cc

    r954 r1041  
    269269  }
    270270
     271#ifdef G4DEBUG_VIS_MANAGEMENT
     272  printf("G4VisCommandViewerClear::SetNewValue Call ClearView()\n");
     273#endif
    271274  viewer->ClearView();
     275#ifdef G4DEBUG_VIS_MANAGEMENT
     276  printf("G4VisCommandViewerClear::SetNewValue Call ClearView() END\n");
     277  printf("G4VisCommandViewerClear::SetNewValue Call FinishView()\n");
     278#endif
    272279  viewer->FinishView();
     280#ifdef G4DEBUG_VIS_MANAGEMENT
     281  printf("G4VisCommandViewerClear::SetNewValue Call FinishView() END\n");
     282#endif
    273283  if (verbosity >= G4VisManager::confirmations) {
    274284    G4cout << "Viewer \"" << clearName << "\" cleared." << G4endl;
     
    11371147             << G4endl;
    11381148    }
     1149#ifdef G4DEBUG_VIS_MANAGEMENT
     1150    printf("G4VisCommandViewerRefresh::SetNewValue Call SetView()\n");
     1151#endif
    11391152    viewer -> SetView ();
     1153#ifdef G4DEBUG_VIS_MANAGEMENT
     1154    printf("G4VisCommandViewerRefresh::SetNewValue Call SetView() END\n");
     1155    printf("G4VisCommandViewerRefresh::SetNewValue Call ClearView()\n");
     1156#endif
    11401157    viewer -> ClearView ();
     1158#ifdef G4DEBUG_VIS_MANAGEMENT
     1159    printf("G4VisCommandViewerRefresh::SetNewValue Call ClearView() END\n");
     1160    printf("G4VisCommandViewerRefresh::SetNewValue Call DrawView()\n");
     1161#endif
    11411162    viewer -> DrawView ();
     1163#ifdef G4DEBUG_VIS_MANAGEMENT
     1164    printf("G4VisCommandViewerRefresh::SetNewValue Call DrawView() END\n");
     1165#endif
    11421166    if (verbosity >= G4VisManager::confirmations) {
    11431167      G4cout << "Viewer \"" << viewer -> GetName () << "\"" << " refreshed."
Note: See TracChangeset for help on using the changeset viewer.