Changeset 1121


Ignore:
Timestamp:
Oct 7, 2009, 4:24:22 PM (15 years ago)
Author:
garnier
Message:

en test...ca marche encore...

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

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/OpenGL/include/G4OpenGLStoredQtViewer.hh

    r1115 r1121  
    4040#include "G4OpenGLQtViewer.hh"
    4141
    42 #include <qgl.h>
     42#include <QGLWidget> // include <qglwidget.h>
    4343
    4444class QMouseEvent;
  • trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc

    r1110 r1121  
    3333
    3434#ifdef G4VIS_BUILD_OPENGLQT_DRIVER
     35#define QT_STORE_46_DBG 1
    3536
    3637#include "G4VViewer.hh"
     
    7475}
    7576
     77#ifdef QT_STORE_46_DBG
     78void G4OpenGLImmediateQtViewer::initializeGL () {
     79  glShadeModel(GL_SMOOTH);                                                      // Enable Smooth Shading
     80  glClearColor(0.0f, 0.0f, 0.0f, 0.5f);                         // Black Background
     81  glClearDepth(1.0f);                                                                   // Depth Buffer Setup
     82  glEnable(GL_DEPTH_TEST);                                                      // Enables Depth Testing
     83  glDepthFunc(GL_LEQUAL);                                                               // The Type Of Depth Testing To Do
     84  glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);    // Really Nice Perspective Calculations
     85 
     86
     87 return;                                                                                // Initialization Went OK
     88
     89 
     90 }
     91#else
    7692void G4OpenGLImmediateQtViewer::initializeGL () {
    7793
     
    96112
    97113}
    98 
     114#endif
    99115
    100116/** To ensure compatibility with DrawView method
     
    114130
    115131
     132#ifdef QT_STORE_46_DBG
     133void G4OpenGLImmediateQtViewer::ComputeView () {
     134 }
     135#else
    116136void G4OpenGLImmediateQtViewer::ComputeView () {
    117137
     
    152172  fHasToRepaint = true;
    153173}
     174#endif
    154175
    155176void G4OpenGLImmediateQtViewer::FinishView()
     
    169190   - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements
    170191*/
     192#ifdef QT_STORE_46_DBG
     193void G4OpenGLImmediateQtViewer::resizeGL(
     194                                      int width
     195                                      ,int height)
     196
     197#ifdef G4DEBUG_VIS_OGL
     198  printf("G4OpenGLImmediateQtViewer::resizeGL\n");
     199#endif
     200  if (height==0)                                                                                // Prevent A Divide By Zero By
     201    {
     202      height=1;                                                                         // Making Height Equal One
     203    }
     204 
     205  glViewport(0,0,width,height);                                         // Reset The Current Viewport
     206 
     207  glMatrixMode(GL_PROJECTION);                                          // Select The Projection Matrix
     208  glLoadIdentity();                                                                     // Reset The Projection Matrix
     209 
     210  // Calculate The Aspect Ratio Of The Window
     211  gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
     212 
     213  glMatrixMode(GL_MODELVIEW);                                                   // Select The Modelview Matrix
     214  glLoadIdentity();                                                                     // Reset The Modelview Matrix
     215 
     216}
     217#else
    171218void G4OpenGLImmediateQtViewer::resizeGL(
    172219 int aWidth
     
    176223  fHasToRepaint = sizeHasChanged();
    177224}
    178 
    179 
     225#endif
     226
     227
     228#ifdef QT_STORE_46_DBG
     229void G4OpenGLImmediateQtViewer::paintGL()
     230{
     231#ifdef G4DEBUG_VIS_OGL
     232  printf("G4OpenGLImmediateQtViewer::paintGL\n");
     233#endif
     234    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     235    glMatrixMode(GL_MODELVIEW);
     236    glLoadIdentity();
     237    gluLookAt(1,1,1,0,0,0,0,0,1);
     238
     239    glBegin(GL_QUADS);
     240    //carré rouge
     241    glColor3ub(255,0,0);
     242    glVertex3d(1,1,0);
     243    glVertex3d(1,0,0);
     244    glVertex3d(0,0,0);
     245    glVertex3d(0,1,0);
     246    //carré vert
     247    glColor3ub(0,255,0);
     248    glVertex3d(1,1,0);
     249    glVertex3d(2,1,0);
     250    glVertex3d(2,0,0);
     251    glVertex3d(1,0,0);
     252    //carré vert
     253    glColor3ub(0,255,0);
     254    glVertex3d(0,2,0);
     255    glVertex3d(1,2,0);
     256    glVertex3d(1,1,0);
     257    glVertex3d(0,1,0);
     258    //carré bleu
     259    glColor3ub(0,0,255);
     260    glVertex3d(2,2,0);
     261    glVertex3d(2,1,0);
     262    glVertex3d(1,1,0);
     263    glVertex3d(1,2,0);
     264    //carré bleu
     265    glColor3ub(0,0,255);
     266    glVertex3d(1,0,0);
     267    glVertex3d(1,1,0);
     268    glVertex3d(1,1,1);
     269    glVertex3d(1,0,1);
     270    //carré blanc
     271    glColor3ub(255,255,255);
     272    glVertex3d(1,1,0);
     273    glVertex3d(0,1,0);
     274    glVertex3d(0,1,1);
     275    glVertex3d(1,1,1);
     276    //carré rouge
     277    glColor3ub(255,0,0);
     278    glVertex3d(1,1,1);
     279    glVertex3d(1,0,1);
     280    glVertex3d(0,0,1);
     281    glVertex3d(0,1,1);
     282    glEnd();
     283}
     284
     285#else
    180286void G4OpenGLImmediateQtViewer::paintGL()
    181287{
     
    208314#endif
    209315}
     316#endif
     317
    210318
    211319void G4OpenGLImmediateQtViewer::mousePressEvent(QMouseEvent *event)
  • trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc

    r1106 r1121  
    106106
    107107  if(fWindow) return; //Done.
    108 #ifdef G4DEBUG_VIS_OGL
    109   printf("G4OpenGLQtViewer::CreateMainWindow glWidget\n");
    110 #endif
    111108
    112109  // launch Qt if not
     
    239236  ,fLaunchSpinDelay(100)
    240237{
     238#ifdef G4DEBUG_VIS_OGL
     239  printf("G4OpenGLQtViewer::Creation ...............\n");
     240#endif
    241241
    242242  // launch Qt if not
     
    14331433void G4OpenGLQtViewer::FinishView()
    14341434{
     1435#ifdef G4DEBUG_VIS_OGL
     1436  printf("G4OpenGLQtViewer::FinishView\n");
     1437#endif
    14351438   glFlush ();
    14361439   fWindow->swapBuffers ();
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc

    r1108 r1121  
    3333
    3434#ifdef G4VIS_BUILD_OPENGLQT_DRIVER
    35 
     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"
    3642#include "G4OpenGLStoredQtViewer.hh"
     43#include "G4OpenGLStoredSceneHandler.hh"
    3744
    3845#include "G4ios.hh"
    39 
    40 //#include <qmouseevent.h>
    41 #include <qevent.h> // include <qcontextmenuevent.h>
    4246
    4347G4OpenGLStoredQtViewer::G4OpenGLStoredQtViewer
     
    4751  G4OpenGLViewer (sceneHandler),
    4852  G4OpenGLQtViewer (sceneHandler),
    49   G4OpenGLStoredViewer (sceneHandler),             // FIXME : gerer le pb du parent !
    50   QGLWidget()
     53  G4OpenGLStoredViewer (sceneHandler)             // FIXME : gerer le pb du parent !
    5154{
    5255
     
    7982}
    8083
     84#ifdef QT_STORE_46_DBG_INIT
     85void 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 return;                                                                                // Initialization Went OK
     95
     96 }
     97#else
    8198void G4OpenGLStoredQtViewer::initializeGL () {
    8299
     
    93110  glDepthFunc (GL_LEQUAL);
    94111  glDepthMask (GL_TRUE);
     112#ifdef G4DEBUG_VIS_OGL
     113    printf("glDepthFunc (GL_LEQUAL)  G4OpenGLStoredQtViewer\n ");
     114    printf("glDepthMask (GL_TRUE)  G4OpenGLStoredQtViewer\n ");
     115#endif
    95116
    96117  if (fSceneHandler.GetScene() == 0) {
     
    105126}
    106127
     128#endif
    107129
    108130void G4OpenGLStoredQtViewer::DrawView () {
     
    122144}
    123145
     146#ifdef QT_STORE_46_DBG_COMPUTE
     147void G4OpenGLStoredQtViewer::ComputeView () {
     148    glBegin(GL_QUADS);
     149    //carré rouge
     150    glColor3ub(255,0,0);
     151    glVertex3d(9,9,0);
     152    glVertex3d(9,0,0);
     153    glVertex3d(0,0,0);
     154    glVertex3d(0,9,0);
     155    //carré vert
     156    glColor3ub(0,255,0);
     157    glVertex3d(9,9,0);
     158    glVertex3d(18,9,0);
     159    glVertex3d(18,0,0);
     160    glVertex3d(9,0,0);
     161    //carré vert
     162    glColor3ub(0,255,0);
     163    glVertex3d(0,18,0);
     164    glVertex3d(9,18,0);
     165    glVertex3d(9,9,0);
     166    glVertex3d(0,9,0);
     167    //carré bleu
     168    glColor3ub(0,0,255);
     169    glVertex3d(18,18,0);
     170    glVertex3d(18,9,0);
     171    glVertex3d(9,9,0);
     172    glVertex3d(9,18,0);
     173    //carré bleu
     174    glColor3ub(0,0,255);
     175    glVertex3d(9,0,0);
     176    glVertex3d(9,9,0);
     177    glVertex3d(9,9,9);
     178    glVertex3d(9,0,9);
     179    //carré blanc
     180    glColor3ub(255,255,255);
     181    glVertex3d(9,9,0);
     182    glVertex3d(0,9,0);
     183    glVertex3d(0,9,9);
     184    glVertex3d(9,9,9);
     185    //carré rouge
     186    glColor3ub(255,0,0);
     187    glVertex3d(9,9,9);
     188    glVertex3d(9,0,9);
     189    glVertex3d(0,0,9);
     190    glVertex3d(0,9,9);
     191    glEnd();
     192 }
     193#else
    124194void G4OpenGLStoredQtViewer::ComputeView () {
    125195
     
    151221    HaloingFirstPass ();
    152222    DrawDisplayLists ();
     223#ifdef G4DEBUG_VIS_OGL
     224    printf("glFlush ()  G4OpenGLStoredQtViewer\n ");
     225#endif
    153226    glFlush ();
    154227
     
    198271  fHasToRepaint =true;
    199272}
     273#endif
    200274
    201275
     
    203277   - Lors du resize de la fenetre, on doit non pas redessiner le detecteur, mais aussi les evenements
    204278*/
     279#ifdef QT_STORE_46_DBG_RESIZE
    205280void G4OpenGLStoredQtViewer::resizeGL(
    206281                                      int aWidth
    207282                                      ,int aHeight)
    208283
     284#ifdef G4DEBUG_VIS_OGL
     285  printf("G4OpenGLStoredQtViewer::resizeGL\n");
     286#endif
    209287  // Set new size, it will be update when next Repaint()->SetView() called
     288  if (2 == 1) {
     289    if (aHeight==0)
     290      {
     291        aHeight=1;     
     292      }
     293   
     294    glViewport(0,0,aWidth,aHeight);
     295   
     296    glMatrixMode(GL_PROJECTION);               
     297    glLoadIdentity();   
     298   
     299    // Calculate The Aspect Ratio Of The Window
     300    gluPerspective(45.0f,(GLfloat)aWidth/(GLfloat)aHeight,0.1f,100.0f);
     301   
     302    glMatrixMode(GL_MODELVIEW);
     303    glLoadIdentity();
     304  } else {
     305    int side = qMin(aWidth, aHeight);
     306    glViewport((aWidth - side) / 2, (aHeight - side) / 2, side, side);
     307   
     308    glMatrixMode(GL_PROJECTION);
     309    glLoadIdentity();
     310    glOrtho(-0.5, +0.5, -0.5, +0.5, 4.0, 15.0);
     311    glMatrixMode(GL_MODELVIEW);
     312  }
     313}
     314#else
     315void G4OpenGLStoredQtViewer::resizeGL(
     316                                      int aWidth
     317                                      ,int aHeight)
     318
     319#ifdef G4DEBUG_VIS_OGL
     320  printf("G4OpenGLStoredQtViewer::resizeGL\n");
     321#endif
     322  // Set new size, it will be update when next Repaint()->SetView() called
     323
    210324  ResizeWindow(aWidth,aHeight);
     325
     326
     327
     328  SetView(); // en test .......................
     329  //  ResizeGLView(); // en test .......................
     330
     331
     332
     333
    211334  fHasToRepaint = sizeHasChanged();
    212335}
    213 
    214 
     336#endif
     337
     338
     339#ifdef QT_STORE_46_DBG_PAINT
     340void G4OpenGLStoredQtViewer::paintGL()
     341{
     342#ifdef G4DEBUG_VIS_OGL
     343  printf("G4OpenGLStoredQtViewer::paintGL\n");
     344#endif
     345    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     346    glMatrixMode(GL_MODELVIEW);
     347    glLoadIdentity();
     348    gluLookAt(15,15,15,0,0,0,0,0,1);
     349
     350    glBegin(GL_QUADS);
     351    //carré rouge
     352    glColor3ub(255,0,0);
     353    glVertex3d(9,9,0);
     354    glVertex3d(9,0,0);
     355    glVertex3d(0,0,0);
     356    glVertex3d(0,9,0);
     357    //carré vert
     358    glColor3ub(0,255,0);
     359    glVertex3d(9,9,0);
     360    glVertex3d(18,9,0);
     361    glVertex3d(18,0,0);
     362    glVertex3d(9,0,0);
     363    //carré vert
     364    glColor3ub(0,255,0);
     365    glVertex3d(0,18,0);
     366    glVertex3d(9,18,0);
     367    glVertex3d(9,9,0);
     368    glVertex3d(0,9,0);
     369    //carré bleu
     370    glColor3ub(0,0,255);
     371    glVertex3d(18,18,0);
     372    glVertex3d(18,9,0);
     373    glVertex3d(9,9,0);
     374    glVertex3d(9,18,0);
     375    //carré bleu
     376    glColor3ub(0,0,255);
     377    glVertex3d(9,0,0);
     378    glVertex3d(9,9,0);
     379    glVertex3d(9,9,9);
     380    glVertex3d(9,0,9);
     381    //carré blanc
     382    glColor3ub(255,255,255);
     383    glVertex3d(9,9,0);
     384    glVertex3d(0,9,0);
     385    glVertex3d(0,9,9);
     386    glVertex3d(9,9,9);
     387    //carré rouge
     388    glColor3ub(255,0,0);
     389    glVertex3d(9,9,9);
     390    glVertex3d(9,0,9);
     391    glVertex3d(0,0,9);
     392    glVertex3d(0,9,9);
     393    glEnd();
     394}
     395
     396#else
    215397void G4OpenGLStoredQtViewer::paintGL()
    216398{
     
    246428}
    247429
     430#endif
     431
    248432void G4OpenGLStoredQtViewer::mousePressEvent(QMouseEvent *event)
    249433{
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc

    r1107 r1121  
    5050fG4OpenGLStoredSceneHandler (sceneHandler)
    5151{
     52#ifdef G4DEBUG_VIS_OGL
     53  printf("G4OpenGLStoredViewer::Creation ...............\n");
     54#endif
    5255  fLastVP = fDefaultVP; // Not sure if this gets executed before or
    5356  // after G4VViewer::G4VViewer!!  Doesn't matter much.
  • trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc

    r1105 r1121  
    116116  glDisable (GL_POLYGON_SMOOTH);
    117117
     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
    118126  fWinSize_x = fVP.GetWindowSizeHintX();
    119127  fWinSize_y = fVP.GetWindowSizeHintY();
     
    141149#endif
    142150  glFlush ();
     151#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 ");
     157#endif
    143158}
    144159
     
    209224#endif
    210225  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
    211229  //    glViewport(0, 0, fWinSize_x,fWinSize_y); 
    212230 
Note: See TracChangeset for help on using the changeset viewer.