Changeset 1340 for trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
r1335 r1340 25 25 // 26 26 // 27 // $Id: G4OpenGLViewer.cc,v 1.6 2 2010/05/11 10:22:37 allisonExp $27 // $Id: G4OpenGLViewer.cc,v 1.63 2010/10/05 15:45:19 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 113 113 glDisable (GL_POLYGON_SMOOTH); 114 114 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(); 119 117 } 120 118 … … 177 175 } 178 176 179 glViewport(0, 0, fWinSize_x,fWinSize_y); 180 181 # ifdef G4DEBUG_VIS_OGL182 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 185 183 } 186 184 … … 191 189 return; 192 190 } 193 #ifdef G4DEBUG_VIS_OGL194 printf("G4OpenGLViewer::SetView\n");195 #endif196 191 // Calculates view representation based on extent of object being 197 192 // viewed and (initial) viewpoint. (Note: it can change later due … … 338 333 background = fVP.GetBackgroundColour (); 339 334 340 #ifdef G4DEBUG_VIS_OGL341 printf("G4OpenGLViewer::SetView END\n");342 #endif343 335 } 344 336 … … 461 453 glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment); 462 454 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 463 460 glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE); 464 461 glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE); … … 469 466 glPixelStorei (GL_UNPACK_ALIGNMENT, 1); 470 467 468 glFlush(); 471 469 glReadBuffer(GL_FRONT); 472 470 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); 474 472 glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes); 475 473 glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst); … … 529 527 bool G4OpenGLViewer::printNonVectoredEPS () { 530 528 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); 536 539 #endif 537 540 FILE* fp; … … 621 624 int height = getRealPrintSizeY(); 622 625 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 623 630 if (!fGL2PSAction) return false; 624 631 … … 643 650 644 651 // Set the viewport 645 // fGL2PSAction->setViewport(0, 0, getRealPrintSizeX(),getRealPrintSizeY());652 // fGL2PSAction->setViewport(0, 0, width, height); 646 653 // By default, we choose the line width (trajectories...) 647 654 fGL2PSAction->setLineWidth(1); … … 693 700 return 0; 694 701 } 702 #ifdef G4DEBUG_VIS_OGL 703 printf("G4OpenGLViewer::getRealPrintSizeX %d\n",fPrintSizeX); 704 #endif 695 705 return fPrintSizeX; 696 706 } … … 712 722 return 0; 713 723 } 724 #ifdef G4DEBUG_VIS_OGL 725 printf("G4OpenGLViewer::getRealPrintSizeY %d\n",fPrintSizeY); 726 #endif 714 727 return fPrintSizeY; 715 728 } … … 825 838 //phi spin stuff here 826 839 827 828 #ifdef G4DEBUG_VIS_OGL829 printf("G4OpenGLViewer::rotateScene dx:%f dy:%f delta:%f\n",dx,dy, deltaRotation);830 #endif831 832 840 vp = fVP.GetViewpointDirection ().unit (); 833 841 up = fVP.GetUpVector ().unit (); 834 842 835 #ifdef G4DEBUG_VIS_OGL836 printf("G4OpenGLViewer::rotateScene vp: %f %f %f\n",vp.x(),vp.y(),vp.z());837 #endif838 843 yprime = (up.cross(vp)).unit(); 839 844 zprime = (vp.cross(yprime)).unit(); … … 855 860 // to allow more than 360° rotation 856 861 857 // const G4Point3D targetPoint858 // = 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 866 862 if (fVP.GetLightsMoveWithCamera()) { 867 #ifdef G4DEBUG_VIS_OGL868 printf("G4OpenGLViewer::rotateScene GetLightsMoveWithCamera: %f \n",new_vp.z()*vp.z());869 #endif870 863 new_up = (new_vp.cross(yprime)).unit(); 871 864 if (new_vp.z()*vp.z() <0) { 872 #ifdef G4DEBUG_VIS_OGL873 printf("G4OpenGLViewer::rotateScene R_____________________________________________\n");874 #endif875 865 new_up.set(new_up.x(),-new_up.y(),new_up.z()); 876 866 } 877 867 } else { 878 #ifdef G4DEBUG_VIS_OGL879 printf("G4OpenGLViewer::rotateScene : %f \n",new_vp.z()*vp.z());880 #endif881 868 new_up = up; 882 869 if (new_vp.z()*vp.z() <0) { 883 #ifdef G4DEBUG_VIS_OGL884 printf("G4OpenGLViewer::rotateScene X_____________________________________________\n");885 #endif886 870 new_up.set(new_up.x(),-new_up.y(),new_up.z()); 887 871 } … … 902 886 delta = a2 - a1; 903 887 // So new viewpoint is... 904 905 888 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 914 890 fVP.SetViewAndLights (viewPoint); 915 916 917 891 } 918 892
Note: See TracChangeset
for help on using the changeset viewer.