Changeset 975 for trunk/source/visualization
- Timestamp:
- Apr 8, 2009, 6:56:12 PM (15 years ago)
- Location:
- trunk/source/visualization/OpenGL
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/History
r973 r975 1 $Id: History,v 1.13 4 2009/04/08 15:15:07lgarnier Exp $1 $Id: History,v 1.135 2009/04/08 16:55:44 lgarnier Exp $ 2 2 ------------------------------------------------------------------- 3 3 … … 23 23 8th April 2009, Laurent Garnier 24 24 - G4OpenGLBitmapStore.hh : BugFix correction for windows (introduce 2nd February ?) 25 - G4OpenGLViewer.hh : move methods in private 26 - G4OpenGLXViewer.hh : Add debug methods 27 - G4OpenGLImmediateXmViewer.cc, G4OpenGLStoredViewer.cc, G4OpenGLStoredXmViewer.cc, 28 G4OpenGLStoredXViewer.cc, G4OpenGLViewer.cc : Add debug messages 29 - G4OpenGLStoredXmViewer.cc,G4OpenGLStoredXViewer.cc, G4OpenGLStoredWin32Viewer.cc : 30 - Add a DrawDisplay list in case of KernelVisit=1 and nothing new to display. 31 - Add a flush at the end of the view. 32 - G4OpenGLViewer.cc : 33 - Improve the fix and resizing when X/Y size was even (lack of precision 34 in a /2) 35 - Set line/point size at a default size when printing. 36 - G4OpenGLXmWindowsHandlingCallbacks.cc : print method rename in printEPS 37 - G4OpenGLXViewer.cc : Lot of changes, try to debug it. Pb when printing in pixmap 38 mode on some windows size 25 39 26 40 6th April 2009, Joseph Perl (opengl-V09-02-02) -
trunk/source/visualization/OpenGL/include/G4OpenGLViewer.hh
r946 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLViewer.hh,v 1. 29 2009/03/05 16:36:13lgarnier Exp $27 // $Id: G4OpenGLViewer.hh,v 1.30 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // -
trunk/source/visualization/OpenGL/include/G4OpenGLXViewer.hh
r950 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLXViewer.hh,v 1.3 0 2009/02/04 16:48:41lgarnier Exp $27 // $Id: G4OpenGLXViewer.hh,v 1.31 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 80 80 Colormap cmap; 81 81 XSetWindowAttributes swa; 82 GLXDrawable fGLXWin;82 GLXDrawable win; 83 83 GLXContext cx; 84 84 XEvent event; -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc
r948 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLImmediateXmViewer.cc,v 1.2 0 2009/02/04 16:48:41lgarnier Exp $27 // $Id: G4OpenGLImmediateXmViewer.cc,v 1.21 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 96 96 97 97 //Make sure current viewer is attached and clean... 98 glXMakeCurrent (dpy, fGLXWin, cx);98 glXMakeCurrent (dpy, win, cx); 99 99 100 100 if(style!=G4ViewParameters::hlr && -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc
r946 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLStoredViewer.cc,v 1.2 5 2009/01/19 16:53:42lgarnier Exp $27 // $Id: G4OpenGLStoredViewer.cc,v 1.26 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 134 134 size_t nPasses = cutawayUnion? cutaways.size(): 1; 135 135 #ifdef G4DEBUG_VIS_OGL 136 printf("G4OpenGLStoredViewer::DrawDisplayLists %d",nPasses);136 printf("G4OpenGLStoredViewer::DrawDisplayLists"); 137 137 #endif 138 138 for (size_t i = 0; i < nPasses; ++i) { -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc
r955 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLStoredWin32Viewer.cc,v 1.2 0 2009/01/13 09:47:05lgarnier Exp $27 // $Id: G4OpenGLStoredWin32Viewer.cc,v 1.21 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc
r955 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLStoredXViewer.cc,v 1.2 4 2009/01/19 16:53:42lgarnier Exp $27 // $Id: G4OpenGLStoredXViewer.cc,v 1.25 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 84 84 #endif 85 85 //Make sure current viewer is attached and clean... 86 glXMakeCurrent (dpy, fGLXWin, cx);86 glXMakeCurrent (dpy, win, cx); 87 87 88 88 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); … … 154 154 GLint renderMode; 155 155 glGetIntegerv(GL_RENDER_MODE, &renderMode); 156 if (renderMode == GL_RENDER) glXSwapBuffers (dpy, fGLXWin);156 if (renderMode == GL_RENDER) glXSwapBuffers (dpy, win); 157 157 } 158 158 -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc
r955 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLStoredXmViewer.cc,v 1.2 4 2009/01/19 16:53:42lgarnier Exp $27 // $Id: G4OpenGLStoredXmViewer.cc,v 1.25 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 83 83 void G4OpenGLStoredXmViewer::DrawView () { 84 84 #ifdef G4DEBUG_VIS_OGL 85 printf("G4OpenGLStoredXmViewer::DrawView context:%d old winGL:%d \n",cx,fGLXWin);85 printf("G4OpenGLStoredXmViewer::DrawView \n"); 86 86 #endif 87 87 88 88 //Make sure current viewer is attached and clean... 89 glXMakeCurrent (dpy, fGLXWin, cx);89 glXMakeCurrent (dpy, win, cx); 90 90 91 91 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); … … 159 159 GLint renderMode; 160 160 glGetIntegerv(GL_RENDER_MODE, &renderMode); 161 if (renderMode == GL_RENDER) glXSwapBuffers (dpy, fGLXWin);161 if (renderMode == GL_RENDER) glXSwapBuffers (dpy, win); 162 162 } 163 163 -
trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
r959 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLViewer.cc,v 1.5 0 2009/03/05 16:36:13lgarnier Exp $27 // $Id: G4OpenGLViewer.cc,v 1.53 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 616 616 if (!fGL2PSAction) return false; 617 617 618 619 618 fGL2PSAction->setFileName(fPrintFilename.c_str()); 620 619 // try to resize … … 624 623 fWinSize_x = width; 625 624 fWinSize_y = height; 626 627 625 ResizeGLView(); 628 626 if (fGL2PSAction->enableFileWriting()) { -
trunk/source/visualization/OpenGL/src/G4OpenGLXViewer.cc
r959 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLXViewer.cc,v 1.5 1 2009/03/05 16:36:13lgarnier Exp $27 // $Id: G4OpenGLXViewer.cc,v 1.52 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 92 92 93 93 void G4OpenGLXViewer::SetView () { 94 glXMakeCurrent (dpy, fGLXWin, cx);94 glXMakeCurrent (dpy, win, cx); 95 95 G4OpenGLViewer::SetView (); 96 96 } … … 259 259 class_hints -> res_class = NewString("G4OpenGL"); 260 260 261 fGLXWin = XCreateWindow (dpy, XRootWindow (dpy, vi -> screen), x_origin,261 win = XCreateWindow (dpy, XRootWindow (dpy, vi -> screen), x_origin, 262 262 y_origin, fWinSize_x, fWinSize_y, 0, vi -> depth, 263 263 InputOutput, vi -> visual, … … 266 266 &swa); 267 267 268 XSetWMProperties (dpy, fGLXWin, &windowName, &iconName, 0, 0,268 XSetWMProperties (dpy, win, &windowName, &iconName, 0, 0, 269 269 size_hints, wm_hints, class_hints); 270 270 271 271 // request X to Draw window on screen. 272 XMapWindow (dpy, fGLXWin);272 XMapWindow (dpy, win); 273 273 274 274 // Wait for window to appear (wait for an "expose" event). 275 XIfEvent (dpy, &event, G4OpenGLXViewerWaitForNotify, (char*) fGLXWin);275 XIfEvent (dpy, &event, G4OpenGLXViewerWaitForNotify, (char*) win); 276 276 277 277 // connect the context to a window 278 Bool success = glXMakeCurrent (dpy, fGLXWin, cx);278 Bool success = glXMakeCurrent (dpy, win, cx); 279 279 if (!success) { 280 280 fViewId = -1; // This flags an error. … … 405 405 glXMakeCurrent (dpy, None, NULL); 406 406 glXDestroyContext (dpy, cx); 407 if ( fGLXWin) XDestroyWindow (dpy, fGLXWin); // ...if already deleted in407 if (win) XDestroyWindow (dpy, win); // ...if already deleted in 408 408 // sub-class G4OpenGLXmViewer. 409 409 XFlush (dpy); … … 451 451 452 452 #ifdef G4DEBUG_VIS_OGL 453 printf("G4OpenGLXViewer::print Create pixmap old context:%d new context %d old winGL:%d Size :%d %d\n",cx,pcx,fGLXWin,fWinSize_x, fWinSize_y);453 printf("G4OpenGLXViewer::print Create pixmap Size :%d %d\n",fWinSize_x, fWinSize_y); 454 454 #endif 455 455 cx=pcx; … … 478 478 479 479 GLXDrawable tmp_win; 480 tmp_win= fGLXWin;481 fGLXWin=glxpmap;482 483 int winX=fWinSize_x;484 int winY=fWinSize_y;480 tmp_win=win; 481 win=glxpmap; 482 483 // int winX=fWinSize_x; 484 // int winY=fWinSize_y; 485 485 486 486 //#define CHECK_MULTIPLE_PRINT 1 … … 504 504 505 505 #ifdef G4DEBUG_VIS_OGL 506 printf("G4OpenGLXViewer::print Call DrawView context:%d old winGL:%d \n",cx,fGLXWin);506 printf("G4OpenGLXViewer::print Call DrawView \n"); 507 507 #endif 508 508 … … 537 537 fWinSize_x = winX; 538 538 #endif 539 fGLXWin=tmp_win;539 win=tmp_win; 540 540 cx=tmp_cx; 541 541 542 542 // bool er2 = glXMakeCurrent (dpy, 543 // fGLXWin,543 // win, 544 544 // cx); 545 545 #ifdef G4DEBUG_VIS_OGL 546 printf("G4OpenGLXViewer::print Restored context:%d old winGL:%d \n",cx,fGLXWin);546 printf("G4OpenGLXViewer::print Restored \n"); 547 547 #endif 548 548 // printf("Error 1:%d 2:%d\n",er1,er2); … … 593 593 594 594 595 #ifdef G4DEBUG_VIS_OGL596 printf("------%d------\n",tmp_cx);597 #endif598 595 return glXCreateContext (dpy, 599 596 pvi, … … 623 620 if (lineBuffer == NULL) 624 621 return false; 625 for ( int y = 0; y<lineSize; y++) {622 for (unsigned int y = 0; y<lineSize; y++) { 626 623 lineBuffer[y] = 0; 627 624 } … … 662 659 663 660 664 for ( int i=0;i<height;i++) {661 for (unsigned int i=0;i<height;i++) { 665 662 glReadPixels (0, i, (GLsizei)width, 1, format, GL_UNSIGNED_BYTE, (GLvoid*) lineBuffer); 666 663 glXWaitGL (); //Wait for effects of all previous OpenGL commands to 667 664 // printf("\n%d ",i); 668 for ( int j=0;j<lineSize;j++) {665 for (unsigned int j=0;j<lineSize;j++) { 669 666 buffer[j+i*lineSize] = lineBuffer[j]; 670 667 // printf("%d ",buffer[j]); … … 699 696 GLubyte* pixels; 700 697 GLubyte* curpix; 701 int components , pos, i;698 int components; 702 699 703 700 GLenum format; … … 777 774 778 775 curpix = (GLubyte*) pixels; 779 pos = 0;780 for ( i = width*height*components; i>0; i--) {776 unsigned int pos = 0; 777 for (unsigned int i = width*height*components; i>0; i--) { 781 778 fprintf (fp, "%02hx ", *(curpix++)); 782 779 if (++pos >= width) { -
trunk/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc
r946 r975 25 25 // 26 26 // 27 // $Id: G4OpenGLXmWindowHandlingCallbacks.cc,v 1. 9 2009/02/25 15:15:50lgarnier Exp $27 // $Id: G4OpenGLXmWindowHandlingCallbacks.cc,v 1.10 2009/04/08 16:55:44 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 //
Note: See TracChangeset
for help on using the changeset viewer.