Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

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

    r1335 r1340  
    2525//
    2626//
    27 // $Id: G4OpenGLViewer.cc,v 1.62 2010/05/11 10:22:37 allison Exp $
     27// $Id: G4OpenGLViewer.cc,v 1.63 2010/10/05 15:45:19 lgarnier Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    113113  glDisable (GL_POLYGON_SMOOTH);
    114114
    115   //  if (fVP != NULL) {
    116     fWinSize_x = fVP.GetWindowSizeHintX();
    117     fWinSize_y = fVP.GetWindowSizeHintY();
    118     //  }
     115  fWinSize_x = fVP.GetWindowSizeHintX();
     116  fWinSize_y = fVP.GetWindowSizeHintY();
    119117
    120118
     
    177175  }
    178176   
    179   glViewport(0, 0, fWinSize_x,fWinSize_y);
    180 
    181 #ifdef G4DEBUG_VIS_OGL
    182   printf("G4OpenGLViewer::ResizeGLView END %d %d &:%d\n",fWinSize_x,fWinSize_y,this);
    183 #endif
    184  
     177#ifdef G4DEBUG_VIS_OGL
     178  printf("G4OpenGLViewer::ResizeGLView viewport X:%d Y:%d\n",fWinSize_x,fWinSize_y);
     179#endif
     180  glViewport(0, 0, fWinSize_x,fWinSize_y);   
     181
     182
    185183}
    186184
     
    191189    return;
    192190  }
    193 #ifdef G4DEBUG_VIS_OGL
    194   printf("G4OpenGLViewer::SetView\n");
    195 #endif
    196191  // Calculates view representation based on extent of object being
    197192  // viewed and (initial) viewpoint.  (Note: it can change later due
     
    338333  background = fVP.GetBackgroundColour ();
    339334
    340 #ifdef G4DEBUG_VIS_OGL
    341   printf("G4OpenGLViewer::SetView END\n");
    342 #endif
    343335}
    344336
     
    461453  glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment);
    462454
     455#ifdef G4DEBUG_VIS_OGL
     456  printf("G4OpenGLViewer::grabPixels colors:%d swap:%d lsb:%d rowlenght:%d sr:%d sp:%d align:%d\n",inColor,swapbytes, lsbfirst, rowlength,skiprows, skippixels, alignment);
     457#endif
     458
     459
    463460  glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE);
    464461  glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE);
     
    469466  glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
    470467
     468  glFlush();
    471469  glReadBuffer(GL_FRONT);
    472470  glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer);
    473 
     471  //  glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*) buffer);
    474472  glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes);
    475473  glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst);
     
    529527bool G4OpenGLViewer::printNonVectoredEPS () {
    530528
    531   int width = getRealPrintSizeX();
    532   int height = getRealPrintSizeY();
    533 
    534 #ifdef G4DEBUG_VIS_OGL
    535   printf("G4OpenGLViewer::printNonVectoredEPS file:%s Vec:%d X:%d Y:%d col:%d fWinX:%d fWinY:%d\n",getRealPrintFilename().c_str(),fVectoredPs,width,height,fPrintColour,fWinSize_x,fWinSize_y);
     529  GLint viewport[4];
     530  glGetIntegerv(GL_VIEWPORT, viewport);
     531
     532  int width2 = getRealPrintSizeX();
     533  int height2 = getRealPrintSizeY();
     534  int width = viewport[2]; // FIXME : Why -1 ????
     535  int height = viewport[3];
     536
     537#ifdef G4DEBUG_VIS_OGL
     538  printf("G4OpenGLViewer::printNonVectoredEPS file:%s Vec:%d X:%d Y:%d X2:%d Y2:%d col:%d fWinX:%d fWinY:%d\n",getRealPrintFilename().c_str(),fVectoredPs,width,height,width2,height2,fPrintColour,fWinSize_x,fWinSize_y);
    536539#endif
    537540  FILE* fp;
     
    621624  int height = getRealPrintSizeY();
    622625
     626#ifdef G4DEBUG_VIS_OGL
     627  printf("G4OpenGLViewer::printGl2PS file:%s Vec:%d X:%d Y:%d col:%d fWinX:%d fWinY:%d\n",getRealPrintFilename().c_str(),fVectoredPs,width,height,fPrintColour,fWinSize_x,fWinSize_y);
     628#endif
     629
    623630  if (!fGL2PSAction) return false;
    624631
     
    643650
    644651    // Set the viewport
    645     //    fGL2PSAction->setViewport(0, 0, getRealPrintSizeX(),getRealPrintSizeY()); 
     652    //    fGL2PSAction->setViewport(0, 0, width, height); 
    646653    // By default, we choose the line width (trajectories...)
    647654    fGL2PSAction->setLineWidth(1);
     
    693700    return 0;
    694701  }
     702#ifdef G4DEBUG_VIS_OGL
     703  printf("G4OpenGLViewer::getRealPrintSizeX %d\n",fPrintSizeX);
     704#endif
    695705  return fPrintSizeX;
    696706}
     
    712722    return 0;
    713723  }
     724#ifdef G4DEBUG_VIS_OGL
     725  printf("G4OpenGLViewer::getRealPrintSizeY %d\n",fPrintSizeY);
     726#endif
    714727  return fPrintSizeY;
    715728}
     
    825838  //phi spin stuff here
    826839 
    827 
    828 #ifdef G4DEBUG_VIS_OGL
    829   printf("G4OpenGLViewer::rotateScene dx:%f dy:%f delta:%f\n",dx,dy, deltaRotation);
    830 #endif
    831 
    832840  vp = fVP.GetViewpointDirection ().unit ();
    833841  up = fVP.GetUpVector ().unit ();
    834842 
    835 #ifdef G4DEBUG_VIS_OGL
    836   printf("G4OpenGLViewer::rotateScene     vp: %f %f %f\n",vp.x(),vp.y(),vp.z());
    837 #endif
    838843  yprime = (up.cross(vp)).unit();
    839844  zprime = (vp.cross(yprime)).unit();
     
    855860  // to allow more than 360° rotation
    856861
    857   //   const G4Point3D targetPoint
    858   //     = fSceneHandler.GetScene()->GetStandardTargetPoint()
    859   //     + fVP.GetCurrentTargetPoint ();
    860   //   G4double radius = fSceneHandler.GetScene()->GetExtent().GetExtentRadius();
    861   //   if(radius<=0.) radius = 1.;
    862   //  const G4double cameraDistance = fVP.GetCameraDistance (radius);
    863   //  const G4Point3D cameraPosition =
    864   //    targetPoint + cameraDistance * fVP.GetViewpointDirection().unit();
    865 
    866862  if (fVP.GetLightsMoveWithCamera()) {
    867 #ifdef G4DEBUG_VIS_OGL
    868   printf("G4OpenGLViewer::rotateScene GetLightsMoveWithCamera: %f \n",new_vp.z()*vp.z());
    869 #endif
    870863    new_up = (new_vp.cross(yprime)).unit();
    871864    if (new_vp.z()*vp.z() <0) {
    872 #ifdef G4DEBUG_VIS_OGL
    873       printf("G4OpenGLViewer::rotateScene  R_____________________________________________\n");
    874 #endif
    875865      new_up.set(new_up.x(),-new_up.y(),new_up.z());
    876866    }
    877867  } else {
    878 #ifdef G4DEBUG_VIS_OGL
    879     printf("G4OpenGLViewer::rotateScene : %f \n",new_vp.z()*vp.z());
    880 #endif
    881868    new_up = up;
    882869    if (new_vp.z()*vp.z() <0) {
    883 #ifdef G4DEBUG_VIS_OGL
    884       printf("G4OpenGLViewer::rotateScene  X_____________________________________________\n");
    885 #endif
    886870      new_up.set(new_up.x(),-new_up.y(),new_up.z());
    887871    }
     
    902886  delta = a2 - a1;
    903887  // So new viewpoint is...
    904 
    905888  viewPoint = new_vp.unit() + delta;
    906 
    907 #ifdef G4DEBUG_VIS_OGL
    908   printf("G4OpenGLViewer::rotateScene     up: %f %f %f\n",up.x(),up.y(),up.z());
    909   printf("G4OpenGLViewer::rotateScene new up: %f %f %f\n",new_up.x(),new_up.y(),new_up.z());
    910   printf("G4OpenGLViewer::rotateScene new vp: %f %f %f delta:%f %f %f\n",new_vp.x(),new_vp.y(),new_vp.z(),delta.x(),delta.y(),delta.z());
    911 #endif
    912  
    913 
     889 
    914890  fVP.SetViewAndLights (viewPoint);
    915 
    916 
    917891}
    918892
Note: See TracChangeset for help on using the changeset viewer.