Ignore:
Timestamp:
Feb 3, 2009, 4:41:56 PM (17 years ago)
Author:
garnier
Message:

test avec des predefined headers...mais +10% de temps de compilation....

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

Legend:

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

    r911 r914  
    4040#include "G4OpenGLImmediateQtViewer.hh"
    4141#include "G4OpenGLViewerMessenger.hh"
     42#include "G4OpenGLImmediateSceneHandler.hh"
    4243
    4344G4OpenGLImmediateQt::G4OpenGLImmediateQt ():
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc

    r911 r914  
    3535
    3636#include "G4OpenGLImmediateQtViewer.hh"
     37#include "G4OpenGLImmediateSceneHandler.hh"
    3738
    3839#include "G4ios.hh"
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc

    r877 r914  
    4545#include "G4OpenGLImmediateSceneHandler.hh"
    4646
     47#include "G4OpenGLViewer.hh"
    4748#include "G4OpenGLTransform3D.hh"
    4849#include "G4Polyline.hh"
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc

    r911 r914  
    3737
    3838#include "G4OpenGLImmediateViewer.hh"
     39#include "G4OpenGLImmediateSceneHandler.hh"
    3940
    4041G4OpenGLImmediateViewer::G4OpenGLImmediateViewer (G4OpenGLImmediateSceneHandler& scene):
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc

    r911 r914  
    4141#include "G4OpenGLImmediateXViewer.hh"
    4242#include "G4OpenGLViewerMessenger.hh"
    43 
     43#include "G4OpenGLImmediateSceneHandler.hh"
    4444G4OpenGLImmediateX::G4OpenGLImmediateX ():
    4545  G4VGraphicsSystem ("OpenGLImmediateX",
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc

    r911 r914  
    3636
    3737#include "G4OpenGLImmediateXViewer.hh"
     38#include "G4OpenGLImmediateSceneHandler.hh"
    3839
    3940#include "G4ios.hh"
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc

    r911 r914  
    4242#include "G4OpenGLViewerMessenger.hh"
    4343#include "G4OpenGLXmViewerMessenger.hh"
     44#include "G4OpenGLImmediateSceneHandler.hh"
    4445
    4546G4OpenGLImmediateXm::G4OpenGLImmediateXm ():
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc

    r911 r914  
    3636
    3737#include "G4OpenGLImmediateXmViewer.hh"
     38#include "G4OpenGLImmediateSceneHandler.hh"
    3839
    3940#include "G4ios.hh"
  • trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc

    r911 r914  
    3737
    3838#include "G4OpenGLQtViewer.hh"
     39#include "G4VViewer.hh"
     40#include "G4VSceneHandler.hh"
     41#include "G4OpenGLSceneHandler.hh"
    3942
    4043#include "G4ios.hh"
     
    13471350        res = generateVectorEPS(nomFich,exportDialog->getWidth(),exportDialog->getHeight(),image);
    13481351      } else {
    1349         res = generateEPS(nomFich,exportDialog->getNbColor(),image);
     1352        res = generateEPS2(nomFich,exportDialog->getNbColor(),image);
    13501353      }
    13511354    } else if ((format == "ps") || (format == "pdf")) {
     
    17071710   @param aImage : Image to print
    17081711*/
    1709 bool G4OpenGLQtViewer::generateEPS (
     1712bool G4OpenGLQtViewer::generateEPS2 (
    17101713 QString aFilename
    17111714,int aInColor
     
    17131716)
    17141717{
     1718#ifdef G4DEBUG_VIS_OGL
     1719  printf("G4OpenGLQtViewer::generateEPS call parent\n");
     1720#endif
     1721  generateEPS((aFilename+"GL").toStdString().c_str(),3,(unsigned int)aImage.width(),(unsigned int)aImage.height());
     1722#ifdef G4DEBUG_VIS_OGL
     1723  printf("G4OpenGLQtViewer::generateEPS\n");
     1724#endif
    17151725  // FIXME
    17161726
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc

    r877 r914  
    5454#include "G4Polyhedron.hh"
    5555#include "G4AttHolder.hh"
     56#include "G4OpenGLTransform3D.hh"
     57#include "G4OpenGLViewer.hh"
    5658
    5759G4OpenGLStoredSceneHandler::PO::PO
  • trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc

    r911 r914  
    2525//
    2626//
    27 // $Id: G4OpenGLViewer.cc,v 1.46 2009/01/19 16:53:42 lgarnier Exp $
     27// $Id: G4OpenGLViewer.cc,v 1.45 2009/01/15 18:14:58 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    745745}
    746746
     747GLubyte* G4OpenGLViewer::grabPixels (int inColor, unsigned int width, unsigned int height) {
     748 
     749  GLubyte* buffer;
     750  GLint swapbytes, lsbfirst, rowlength;
     751  GLint skiprows, skippixels, alignment;
     752  GLenum format;
     753  int size;
     754
     755  if (inColor) {
     756    format = GL_RGB;
     757    size = width*height*3;
     758  } else {
     759    format = GL_LUMINANCE;
     760    size = width*height*1;
     761  }
     762
     763  buffer = new GLubyte[size];
     764  if (buffer == NULL)
     765    return NULL;
     766
     767  glGetIntegerv (GL_UNPACK_SWAP_BYTES, &swapbytes);
     768  glGetIntegerv (GL_UNPACK_LSB_FIRST, &lsbfirst);
     769  glGetIntegerv (GL_UNPACK_ROW_LENGTH, &rowlength);
     770
     771  glGetIntegerv (GL_UNPACK_SKIP_ROWS, &skiprows);
     772  glGetIntegerv (GL_UNPACK_SKIP_PIXELS, &skippixels);
     773  glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment);
     774
     775  glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE);
     776  glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE);
     777  glPixelStorei (GL_UNPACK_ROW_LENGTH, 0);
     778
     779  glPixelStorei (GL_UNPACK_SKIP_ROWS, 0);
     780  glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0);
     781  glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
     782
     783  glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer);
     784
     785  glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes);
     786  glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst);
     787  glPixelStorei (GL_UNPACK_ROW_LENGTH, rowlength);
     788 
     789  glPixelStorei (GL_UNPACK_SKIP_ROWS, skiprows);
     790  glPixelStorei (GL_UNPACK_SKIP_PIXELS, skippixels);
     791  glPixelStorei (GL_UNPACK_ALIGNMENT, alignment);
     792 
     793  return buffer;
     794}
     795
     796int G4OpenGLViewer::generateEPS (const char* filnam,
     797                                int inColour,
     798                                unsigned int width,
     799                                unsigned int height) {
     800
     801  FILE* fp;
     802  GLubyte* pixels;
     803  GLubyte* curpix;
     804  int components, pos, i;
     805
     806  pixels = grabPixels (inColour, width, height);
     807
     808  if (pixels == NULL)
     809    return 1;
     810  if (inColour) {
     811    components = 3;
     812  } else {
     813    components = 1;
     814  }
     815 
     816  fp = fopen (filnam, "w");
     817  if (fp == NULL) {
     818    return 2;
     819  }
     820 
     821  fprintf (fp, "%%!PS-Adobe-2.0 EPSF-1.2\n");
     822  fprintf (fp, "%%%%Title: %s\n", filnam);
     823  fprintf (fp, "%%%%Creator: OpenGL pixmap render output\n");
     824  fprintf (fp, "%%%%BoundingBox: 0 0 %d %d\n", width, height);
     825  fprintf (fp, "%%%%EndComments\n");
     826  fprintf (fp, "gsave\n");
     827  fprintf (fp, "/bwproc {\n");
     828  fprintf (fp, "    rgbproc\n");
     829  fprintf (fp, "    dup length 3 idiv string 0 3 0 \n");
     830  fprintf (fp, "    5 -1 roll {\n");
     831  fprintf (fp, "    add 2 1 roll 1 sub dup 0 eq\n");
     832  fprintf (fp, "    { pop 3 idiv 3 -1 roll dup 4 -1 roll dup\n");
     833  fprintf (fp, "       3 1 roll 5 -1 roll } put 1 add 3 0 \n");
     834  fprintf (fp, "    { 2 1 roll } ifelse\n");
     835  fprintf (fp, "    }forall\n");
     836  fprintf (fp, "    pop pop pop\n");
     837  fprintf (fp, "} def\n");
     838  fprintf (fp, "systemdict /colorimage known not {\n");
     839  fprintf (fp, "   /colorimage {\n");
     840  fprintf (fp, "       pop\n");
     841  fprintf (fp, "       pop\n");
     842  fprintf (fp, "       /rgbproc exch def\n");
     843  fprintf (fp, "       { bwproc } image\n");
     844  fprintf (fp, "   }  def\n");
     845  fprintf (fp, "} if\n");
     846  fprintf (fp, "/picstr %d string def\n", width * components);
     847  fprintf (fp, "%d %d scale\n", width, height);
     848  fprintf (fp, "%d %d %d\n", width, height, 8);
     849  fprintf (fp, "[%d 0 0 %d 0 0]\n", width, height);
     850  fprintf (fp, "{currentfile picstr readhexstring pop}\n");
     851  fprintf (fp, "false %d\n", components);
     852  fprintf (fp, "colorimage\n");
     853 
     854  curpix = (GLubyte*) pixels;
     855  pos = 0;
     856  for (i = width*height*components; i>0; i--) {
     857    fprintf (fp, "%02hx ", *(curpix++));
     858    if (++pos >= 32) {
     859      fprintf (fp, "\n");
     860      pos = 0;
     861    }
     862  }
     863  if (pos)
     864    fprintf (fp, "\n");
     865
     866  fprintf (fp, "grestore\n");
     867  fprintf (fp, "showpage\n");
     868  delete pixels;
     869  fclose (fp);
     870  return 0;
     871}
     872
    747873GLdouble G4OpenGLViewer::getSceneNearWidth()
    748874{
  • trunk/source/visualization/OpenGL/src/G4OpenGLXViewer.cc

    r912 r914  
    3636
    3737#include "G4OpenGLXViewer.hh"
     38#include "G4VViewer.hh"
     39#include "G4OpenGLSceneHandler.hh"
     40#include <GL/glu.h>
    3841
    3942#include "G4OpenGLFontBaseStore.hh"
     
    465468}
    466469
    467 GLubyte* G4OpenGLXViewer::grabPixels (int inColor, unsigned int width, unsigned int height) {
    468  
    469   GLubyte* buffer;
    470   GLint swapbytes, lsbfirst, rowlength;
    471   GLint skiprows, skippixels, alignment;
    472   GLenum format;
    473   int size;
    474 
    475   if (inColor) {
    476     format = GL_RGB;
    477     size = width*height*3;
    478   } else {
    479     format = GL_LUMINANCE;
    480     size = width*height*1;
    481   }
    482 
    483   buffer = new GLubyte[size];
    484   if (buffer == NULL)
    485     return NULL;
    486 
    487   glGetIntegerv (GL_UNPACK_SWAP_BYTES, &swapbytes);
    488   glGetIntegerv (GL_UNPACK_LSB_FIRST, &lsbfirst);
    489   glGetIntegerv (GL_UNPACK_ROW_LENGTH, &rowlength);
    490 
    491   glGetIntegerv (GL_UNPACK_SKIP_ROWS, &skiprows);
    492   glGetIntegerv (GL_UNPACK_SKIP_PIXELS, &skippixels);
    493   glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment);
    494 
    495   glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE);
    496   glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE);
    497   glPixelStorei (GL_UNPACK_ROW_LENGTH, 0);
    498 
    499   glPixelStorei (GL_UNPACK_SKIP_ROWS, 0);
    500   glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0);
    501   glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
    502 
    503   glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer);
    504 
    505   glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes);
    506   glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst);
    507   glPixelStorei (GL_UNPACK_ROW_LENGTH, rowlength);
    508  
    509   glPixelStorei (GL_UNPACK_SKIP_ROWS, skiprows);
    510   glPixelStorei (GL_UNPACK_SKIP_PIXELS, skippixels);
    511   glPixelStorei (GL_UNPACK_ALIGNMENT, alignment);
    512  
    513   return buffer;
    514 }
    515 
    516 int G4OpenGLXViewer::generateEPS (char* filnam,
    517                                 int inColour,
    518                                 unsigned int width,
    519                                 unsigned int height) {
    520 
    521   FILE* fp;
    522   GLubyte* pixels;
    523   GLubyte* curpix;
    524   int components, pos, i;
    525 
    526   pixels = grabPixels (inColour, width, height);
    527 
    528   if (pixels == NULL)
    529     return 1;
    530   if (inColour) {
    531     components = 3;
    532   } else {
    533     components = 1;
    534   }
    535  
    536   fp = fopen (filnam, "w");
    537   if (fp == NULL) {
    538     return 2;
    539   }
    540  
    541   fprintf (fp, "%%!PS-Adobe-2.0 EPSF-1.2\n");
    542   fprintf (fp, "%%%%Title: %s\n", filnam);
    543   fprintf (fp, "%%%%Creator: OpenGL pixmap render output\n");
    544   fprintf (fp, "%%%%BoundingBox: 0 0 %d %d\n", width, height);
    545   fprintf (fp, "%%%%EndComments\n");
    546   fprintf (fp, "gsave\n");
    547   fprintf (fp, "/bwproc {\n");
    548   fprintf (fp, "    rgbproc\n");
    549   fprintf (fp, "    dup length 3 idiv string 0 3 0 \n");
    550   fprintf (fp, "    5 -1 roll {\n");
    551   fprintf (fp, "    add 2 1 roll 1 sub dup 0 eq\n");
    552   fprintf (fp, "    { pop 3 idiv 3 -1 roll dup 4 -1 roll dup\n");
    553   fprintf (fp, "       3 1 roll 5 -1 roll } put 1 add 3 0 \n");
    554   fprintf (fp, "    { 2 1 roll } ifelse\n");
    555   fprintf (fp, "    }forall\n");
    556   fprintf (fp, "    pop pop pop\n");
    557   fprintf (fp, "} def\n");
    558   fprintf (fp, "systemdict /colorimage known not {\n");
    559   fprintf (fp, "   /colorimage {\n");
    560   fprintf (fp, "       pop\n");
    561   fprintf (fp, "       pop\n");
    562   fprintf (fp, "       /rgbproc exch def\n");
    563   fprintf (fp, "       { bwproc } image\n");
    564   fprintf (fp, "   }  def\n");
    565   fprintf (fp, "} if\n");
    566   fprintf (fp, "/picstr %d string def\n", width * components);
    567   fprintf (fp, "%d %d scale\n", width, height);
    568   fprintf (fp, "%d %d %d\n", width, height, 8);
    569   fprintf (fp, "[%d 0 0 %d 0 0]\n", width, height);
    570   fprintf (fp, "{currentfile picstr readhexstring pop}\n");
    571   fprintf (fp, "false %d\n", components);
    572   fprintf (fp, "colorimage\n");
    573  
    574   curpix = (GLubyte*) pixels;
    575   pos = 0;
    576   for (i = width*height*components; i>0; i--) {
    577     fprintf (fp, "%02hx ", *(curpix++));
    578     if (++pos >= 32) {
    579       fprintf (fp, "\n");
    580       pos = 0;
    581     }
    582   }
    583   if (pos)
    584     fprintf (fp, "\n");
    585 
    586   fprintf (fp, "grestore\n");
    587   fprintf (fp, "showpage\n");
    588   delete pixels;
    589   fclose (fp);
    590   return 0;
    591 }
    592470
    593471GLXContext G4OpenGLXViewer::create_GL_print_context(XVisualInfo*& pvi) {
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmBox.cc

    r911 r914  
    3636#include "G4OpenGLXmVWidgetComponent.hh"
    3737#include "G4OpenGLXmVWidgetShell.hh"
     38#include <Xm/RowColumn.h>
     39#include <Xm/Xm.h>
    3840
    3941G4OpenGLXmBox::G4OpenGLXmBox (const char* n,
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc

    r911 r914  
    3636#include "G4OpenGLXmFourArrowButtons.hh"
    3737#include <X11/Intrinsic.h>
     38#include <Xm/Form.h>
     39#include <Xm/ArrowBG.h>
     40
    3841#include "globals.hh"
    3942
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc

    r911 r914  
    3636#include "G4OpenGLXmVWidgetComponent.hh"
    3737#include "G4OpenGLXmVWidgetShell.hh"
     38#include <Xm/RowColumn.h>
     39#include <Xm/Frame.h>
    3840
    3941G4OpenGLXmFramedBox::G4OpenGLXmFramedBox (const char* n,
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc

    r911 r914  
    4343
    4444#include "G4OpenGLXmViewer.hh"
     45#include "G4VSceneHandler.hh"
    4546
    4647#include "G4Scene.hh"
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc

    r911 r914  
    4040
    4141#include "G4OpenGLXmViewer.hh"
     42#include "G4VSceneHandler.hh"
     43#include <Xm/ToggleB.h>
     44
    4245#include "G4Scene.hh"
    4346
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc

    r911 r914  
    3636#include "G4OpenGLXmPushButton.hh"
    3737#include <X11/Intrinsic.h>
     38#include <Xm/PushB.h>
     39
    3840#include "globals.hh"
    3941
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc

    r911 r914  
    3636#include "G4OpenGLXmRadioButton.hh"
    3737#include <X11/Intrinsic.h>
     38#include <Xm/ToggleB.h>
     39
    3840#include "globals.hh"
    3941
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc

    r911 r914  
    3636#include "G4OpenGLXmSeparator.hh"
    3737#include <X11/Intrinsic.h>
     38#include <Xm/Separator.h>
     39
    3840#include "globals.hh"
    3941
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc

    r911 r914  
    3434#include "G4OpenGLXmVWidgetComponent.hh"
    3535#include "G4OpenGLXmVWidgetContainer.hh"
     36#include "G4OpenGLXmViewer.hh"
    3637#include "G4OpenGLXmTextField.hh"
     38
    3739#include <X11/Intrinsic.h>
     40#include <Xm/Label.h>
     41#include <Xm/TextF.h>
     42
    3843#include "globals.hh"
    3944
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc

    r911 r914  
    3434#include "G4OpenGLXmTopLevelShell.hh"
    3535#include "G4OpenGLXmVWidgetContainer.hh"
     36#include "G4OpenGLXmViewer.hh"
     37
     38#include <Xm/Frame.h>
     39#include <Xm/RowColumn.h>
    3640
    3741G4OpenGLXmTopLevelShell::G4OpenGLXmTopLevelShell (G4OpenGLXmViewer* v,
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc

    r911 r914  
    3333
    3434#include "G4OpenGLXmVWidgetObject.hh"
     35#include "G4OpenGLXmViewer.hh"
    3536
    3637G4OpenGLXmVWidgetObject::G4OpenGLXmVWidgetObject ()
  • trunk/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc

    r912 r914  
    3838
    3939#include "G4OpenGLXmViewer.hh"
     40#include "G4OpenGLSceneHandler.hh"
    4041
    4142#include "G4VisExtent.hh"
Note: See TracChangeset for help on using the changeset viewer.