Changeset 897 for trunk/source/visualization/OpenGL
- Timestamp:
- Dec 3, 2008, 7:03:25 PM (16 years ago)
- Location:
- trunk/source/visualization/OpenGL
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/History
r873 r897 20 20 History file for visualization/OpenGL 21 21 ------------------------------------- 22 23 2 December, Laurent Garnier 24 - G4OpenGLImmediateXmViewer,G4OpenGLStoredXmViewer,G4OpenGLXmViewer 25 G4OpenGLImmediateXViewer, G4OpenGLStoredXViewer, G4OpenGLXViewer, 26 G4OpenGLXmWindowHandlingCallbacks, 27 G4OpenGLImmediateQtViewer.cc, G4OpenGLStoredQtViewer, G4OpenGLQtViewer 28 G4OpenGLImmediateWin32Viewer.cc, G4OpenGLStoredWin32Viewer, G4OpenGLWin32Viewer 29 -> Replace WinSize by fWinSize and some improvments about size initialization 30 31 - G4OpenGLQtViewer.hh : Suppress WinSize private variable 22 32 23 33 24 October, Laurent Garnier -
trunk/source/visualization/OpenGL/include/G4OpenGLImmediateQtViewer.hh
r896 r897 52 52 public: 53 53 G4OpenGLImmediateQtViewer (G4OpenGLImmediateSceneHandler& scene, 54 const G4String& name = "", 55 G4int x=200, 56 G4int y=200, 57 unsigned int w=600, 58 unsigned int h=600); 54 const G4String& name = ""); 59 55 ~G4OpenGLImmediateQtViewer (); 60 56 void Initialise (); -
trunk/source/visualization/OpenGL/include/G4OpenGLQtViewer.hh
r877 r897 120 120 121 121 protected: 122 G4int WinSize_x;123 G4int WinSize_y;124 122 QGLWidget* fWindow; 125 123 QDialog* GLWindow; -
trunk/source/visualization/OpenGL/include/G4OpenGLViewer.hh
r850 r897 84 84 G4OpenGLSceneHandler& fOpenGLSceneHandler; 85 85 G4Colour background; //the OpenGL clear colour 86 unsigned int WinSize_x, WinSize_y; 86 unsigned int fWinSize_x, fWinSize_y; 87 // size of the OpenGL frame 87 88 G4bool 88 89 transparency_enabled, //is alpha blending enabled? -
trunk/source/visualization/OpenGL/include/G4OpenGLXViewer.hh
r850 r897 97 97 eventBase, 98 98 major, 99 minor, 100 x_origin, 101 y_origin; 99 minor; 102 100 XSizeHints *norm_hints; 103 101 XWMHints *wm_hints; -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQt.cc
r896 r897 47 47 G4VGraphicsSystem::threeD) 48 48 { 49 #ifdef G4DEBUG50 printf("G4OpenGLImmediateQt::Create \n");51 #endif52 49 G4OpenGLViewerMessenger::GetInstance(); 53 50 } -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc
r896 r897 40 40 G4OpenGLImmediateQtViewer::G4OpenGLImmediateQtViewer 41 41 (G4OpenGLImmediateSceneHandler& sceneHandler, 42 const G4String& name 43 ,G4int x 44 ,G4int y 45 ,unsigned int w 46 ,unsigned int h): 42 const G4String& name): 47 43 G4VViewer (sceneHandler, sceneHandler.IncrementViewCount (), name), 48 44 G4OpenGLViewer (sceneHandler), … … 122 118 123 119 #ifdef G4DEBUG 124 printf("G4OpenGLImmediateQtViewer::ComputeView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n", WinSize_x,WinSize_y);120 printf("G4OpenGLImmediateQtViewer::ComputeView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n",fWinSize_x, fWinSize_y); 125 121 #endif 126 122 makeCurrent(); … … 133 129 //Make sure current viewer is attached and clean... 134 130 //Qt version needed 135 // glViewport (0, 0, WinSize_x,WinSize_y);131 // glViewport (0, 0, fWinSize_x, fWinSize_y); 136 132 137 133 if(style!=G4ViewParameters::hlr && … … 157 153 158 154 #ifdef G4DEBUG 159 printf("G4OpenGLImmediateQtViewer::ComputeView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n", WinSize_x,WinSize_y);155 printf("G4OpenGLImmediateQtViewer::ComputeView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",fWinSize_x, fWinSize_y); 160 156 #endif 161 157 hasToRepaint = true; … … 197 193 // DO NOT RESIZE IF SIZE HAS NOT CHANGE 198 194 if ( !hasToRepaint) { 199 if ((( WinSize_x == (G4int)width())) &&(WinSize_y == (G4int) height())) {195 if (((fWinSize_x == (unsigned int)width())) &&(fWinSize_y == (unsigned int) height())) { 200 196 return; 201 197 } … … 204 200 printf("G4OpenGLImmediateQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",readyToPaint); 205 201 #endif 206 WinSize_x = (G4int) width();207 WinSize_y = (G4int) height();202 fWinSize_x = (unsigned int) width(); 203 fWinSize_y = (unsigned int) height(); 208 204 209 205 setupViewport(width(),height()); -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc
r850 r897 80 80 //Win32 version needed 81 81 //glXMakeCurrent (dpy, win, cx); 82 glViewport (0, 0, WinSize_x,WinSize_y);82 glViewport (0, 0, fWinSize_x, fWinSize_y); 83 83 84 84 if(style!=G4ViewParameters::hlr && -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc
r896 r897 49 49 { 50 50 G4OpenGLViewerMessenger::GetInstance(); 51 #ifdef G4DEBUG52 printf("G4OpenGLImmediateX::Create \n");53 #endif54 51 } 55 52 -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc
r894 r897 61 61 62 62 void G4OpenGLImmediateXViewer::Initialise () { 63 #ifdef G4DEBUG64 printf("G4OpenGLImmediateXViewer::Initialise\n");65 #endif66 63 67 64 CreateGLXContext (vi_immediate); … … 81 78 glDepthFunc (GL_LEQUAL); 82 79 glDepthMask (GL_TRUE); 83 #ifdef G4DEBUG84 printf("G4OpenGLImmediateXViewer::Initialise END\n");85 #endif86 80 } 87 81 … … 92 86 //Make sure current viewer is attached and clean... 93 87 glXMakeCurrent (dpy, win, cx); 94 glViewport (0, 0, WinSize_x,WinSize_y);88 glViewport (0, 0, fWinSize_x, fWinSize_y); 95 89 96 90 if(style!=G4ViewParameters::hlr && -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc
r877 r897 92 92 //Make sure current viewer is attached and clean... 93 93 glXMakeCurrent (dpy, win, cx); 94 glViewport (0, 0, WinSize_x,WinSize_y);94 glViewport (0, 0, fWinSize_x, fWinSize_y); 95 95 96 96 if(style!=G4ViewParameters::hlr && -
trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r891 r897 200 200 #endif 201 201 202 WinSize_x = 400;203 WinSize_y = 400;204 if (WinSize_x < fVP.GetWindowSizeHintX ())205 WinSize_x = fVP.GetWindowSizeHintX ();206 if (WinSize_y < fVP.GetWindowSizeHintY ())207 WinSize_y = fVP.GetWindowSizeHintY ();208 209 202 if(!fWindow) return; 210 203 #ifdef G4DEBUG … … 799 792 setupViewport(aWidth,aHeight); 800 793 801 if ((( WinSize_x != (G4int)aWidth)) || (WinSize_y != (G4int) aHeight)) {794 if (((fWinSize_x != (unsigned int)aWidth)) || (fWinSize_y != (unsigned int) aHeight)) { 802 795 hasToRepaint =true; 803 796 } 804 WinSize_x = (G4int) aWidth;805 WinSize_y = (G4int) aHeight;797 fWinSize_x = (unsigned int) aWidth; 798 fWinSize_y = (unsigned int) aHeight; 806 799 } 807 800 … … 1598 1591 GLdouble coefDepth = 0; 1599 1592 if(mouseMove) { 1600 coefTrans = ((G4double)getSceneNearWidth())/((G4double) WinSize_x);1601 if ( WinSize_y <WinSize_x) {1602 coefTrans = ((G4double)getSceneNearWidth())/((G4double) WinSize_y);1593 coefTrans = ((G4double)getSceneNearWidth())/((G4double)fWinSize_x); 1594 if (fWinSize_y <fWinSize_x) { 1595 coefTrans = ((G4double)getSceneNearWidth())/((G4double)fWinSize_y); 1603 1596 } 1604 1597 } else { -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc
r877 r897 126 126 127 127 #ifdef G4DEBUG 128 printf("G4OpenGLStoredQtViewer::ComputeView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n", WinSize_x,WinSize_y);128 printf("G4OpenGLStoredQtViewer::ComputeView %d %d VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n",fWinSize_x, fWinSize_y); 129 129 #endif 130 130 makeCurrent(); … … 195 195 196 196 #ifdef G4DEBUG 197 printf("G4OpenGLStoredQtViewer::ComputeView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n", WinSize_x,WinSize_y);197 printf("G4OpenGLStoredQtViewer::ComputeView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",fWinSize_x, fWinSize_y); 198 198 #endif 199 199 hasToRepaint =true; … … 225 225 // EXECEPT WHEN MOUSE MOVE EVENT 226 226 if ( !hasToRepaint) { 227 if ((( WinSize_x == (G4int)width())) &&(WinSize_y == (G4int) height())) {227 if (((fWinSize_x == (unsigned int)width())) &&(fWinSize_y == (unsigned int) height())) { 228 228 return; 229 229 } … … 232 232 printf("G4OpenGLStoredQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",readyToPaint); 233 233 #endif 234 WinSize_x = (G4int) width();235 WinSize_y = (G4int) height();234 fWinSize_x = (unsigned int) width(); 235 fWinSize_y = (unsigned int) height(); 236 236 237 237 setupViewport(width(),height()); -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc
r850 r897 70 70 //Win32 version needed 71 71 // glXMakeCurrent (dpy, win, cx); 72 glViewport (0, 0, WinSize_x,WinSize_y);72 glViewport (0, 0, fWinSize_x, fWinSize_y); 73 73 74 74 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc
r850 r897 79 79 //Make sure current viewer is attached and clean... 80 80 glXMakeCurrent (dpy, win, cx); 81 glViewport (0, 0, WinSize_x,WinSize_y);81 glViewport (0, 0, fWinSize_x, fWinSize_y); 82 82 83 83 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc
r850 r897 85 85 //Make sure current viewer is attached and clean... 86 86 glXMakeCurrent (dpy, win, cx); 87 glViewport (0, 0, WinSize_x,WinSize_y);87 glViewport (0, 0, fWinSize_x, fWinSize_y); 88 88 89 89 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); -
trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
r873 r897 112 112 fVP.SetAutoRefresh(true); 113 113 fDefaultVP.SetAutoRefresh(true); 114 fWinSize_x = fVP.GetWindowSizeHintX(); 115 fWinSize_y = fVP.GetWindowSizeHintY(); 114 116 115 117 // glClearColor (0.0, 0.0, 0.0, 0.0); -
trunk/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc
r850 r897 117 117 } 118 118 119 WinSize_x = 400;120 WinSize_y = 400;121 if (WinSize_x < fVP.GetWindowSizeHintX ())122 WinSize_x = fVP.GetWindowSizeHintX ();123 if (WinSize_y < fVP.GetWindowSizeHintY ())124 WinSize_y = fVP.GetWindowSizeHintY ();125 126 119 fWindow = ::CreateWindow(className,fName.c_str(), 127 120 WS_OVERLAPPEDWINDOW, 128 121 //WS_CHILD | WS_VISIBLE, 129 122 0,0, 130 WinSize_x,WinSize_y,123 fWinSize_x,fWinSize_y, 131 124 NULL, NULL, 132 125 ::GetModuleHandle(NULL), … … 211 204 212 205 //FIXME : have to handle WM_RESIZE 213 //pView-> WinSize_x = (G4int) width;214 //pView-> WinSize_y = (G4int) height;206 //pView->fWinSize_x = (G4int) width; 207 //pView->fWinSize_y = (G4int) height; 215 208 G4OpenGLWin32Viewer* This = 216 209 (G4OpenGLWin32Viewer*)::GetWindowLong(aWindow,GWL_USERDATA); 217 210 if(This) { 218 211 This->SetView(); 219 glViewport(0,0,This-> WinSize_x,This->WinSize_y);212 glViewport(0,0,This->fWinSize_x,This->fWinSize_y); 220 213 This->ClearView(); 221 214 This->DrawView(); -
trunk/source/visualization/OpenGL/src/G4OpenGLXViewer.cc
r896 r897 214 214 215 215 // Window size and position... 216 unsigned int width, height; 217 x_origin = 0; 218 y_origin = 0; 216 G4int x_origin = 0; 217 G4int y_origin = 0; 219 218 size_hints = XAllocSizeHints(); 220 221 // already done in G4VViewer at creation222 223 // const G4String& XGeometryString = fVP.GetXGeometryString();224 // int screen_num = DefaultScreen(dpy);225 // if (!XGeometryString.empty()) {226 // G4int geometryResultMask = XParseGeometry227 // ((char*)XGeometryString.c_str(),228 // &x_origin, &y_origin, &width, &height);229 // if (geometryResultMask & (WidthValue | HeightValue)) {230 // if (geometryResultMask & XValue) {231 // if (geometryResultMask & XNegative) {232 // x_origin = DisplayWidth(dpy, screen_num) + x_origin - width;233 // }234 // size_hints->flags |= PPosition;235 // size_hints->x = x_origin;236 // }237 // if (geometryResultMask & YValue) {238 // if (geometryResultMask & YNegative) {239 // y_origin = DisplayHeight(dpy, screen_num) + y_origin - height;240 // }241 // size_hints->flags |= PPosition;242 // size_hints->y = y_origin;243 // }244 // } else {245 // G4cout << "ERROR: Geometry string \""246 // << XGeometryString247 // << "\" invalid. Using \"600x600\"."248 // << G4endl;249 // width = 600;250 // height = 600;251 // }252 // }253 // size_hints->width = width;254 // size_hints->height = height;255 256 #ifdef G4DEBUG257 printf("G4OpenGLXViewer::CreateMainWindow CreateWindow Mauvais Size:W:%d X:%d H:%d Y:%d \n",width,fVP.GetWindowSizeHintX(),height, fVP.GetWindowSizeHintY());258 #endif259 260 219 261 220 Window root_return; … … 265 224 unsigned int depth_return; 266 225 267 #ifdef G4DEBUG268 printf("G4OpenGLXViewer::CreateMainWindow 1\n");269 #endif270 226 // get the parent window's geometry 271 227 XGetGeometry(dpy, XRootWindow (dpy, vi -> screen), &root_return, &x_return, &y_return, … … 273 229 &depth_return); 274 230 275 #ifdef G4DEBUG 276 printf("G4OpenGLXViewer::CreateMainWindow 2 root W :%d H :%d\n",width_return, height_return); 277 #endif 278 279 // G4int WinSize_x; 280 // G4int WinSize_y; 281 WinSize_x = fVP.GetWindowSizeHintX(); 282 WinSize_y = fVP.GetWindowSizeHintY(); 231 fWinSize_x = fVP.GetWindowSizeHintX(); 232 fWinSize_y = fVP.GetWindowSizeHintY(); 283 233 x_origin = fVP.GetWindowAbsoluteLocationHintX(width_return); 284 234 y_origin = fVP.GetWindowAbsoluteLocationHintY(height_return); 285 286 size_hints->base_width = WinSize_x; 287 size_hints->base_height = WinSize_y; 235 size_hints->base_width = fWinSize_x; 236 size_hints->base_height = fWinSize_y; 288 237 size_hints->x = x_origin; 289 238 size_hints->y = y_origin; 290 239 size_hints->flags |= PSize | PPosition; 291 240 #ifdef G4DEBUG 292 printf("G4OpenGLXViewer::CreateMainWindow CreateWindow Size:W:%d H:%d X:%d Y:%d \n", WinSize_x,WinSize_y,x_origin,y_origin);241 printf("G4OpenGLXViewer::CreateMainWindow CreateWindow Size:W:%d H:%d X:%d Y:%d \n",fWinSize_x,fWinSize_y,x_origin,y_origin); 293 242 #endif 294 243 … … 313 262 314 263 win = XCreateWindow (dpy, XRootWindow (dpy, vi -> screen), x_origin, 315 y_origin, WinSize_x,WinSize_y, 0, vi -> depth,264 y_origin, fWinSize_x, fWinSize_y, 0, vi -> depth, 316 265 InputOutput, vi -> visual, 317 266 CWBorderPixel | CWColormap | … … 489 438 Pixmap pmap = XCreatePixmap (dpy, 490 439 XRootWindow (dpy, pvi->screen), 491 WinSize_x,WinSize_y,440 fWinSize_x, fWinSize_y, 492 441 pvi->depth); 493 442 … … 504 453 cx); 505 454 506 glViewport (0, 0, WinSize_x,WinSize_y);455 glViewport (0, 0, fWinSize_x, fWinSize_y); 507 456 508 457 ClearView (); … … 512 461 generateEPS (print_string, 513 462 print_colour, 514 WinSize_x,WinSize_y);463 fWinSize_x, fWinSize_y); 515 464 516 465 win=tmp_win; -
trunk/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc
r891 r897 596 596 Dimension width, height; 597 597 XtVaGetValues (glxarea,XmNwidth,&width,XmNheight,&height,NULL); 598 #ifdef G4DEBUG 599 printf("CreateWindow Size:%d - %d \n",width,height); 600 #endif 601 WinSize_x = (G4int) width; 602 WinSize_y = (G4int) height; 598 fWinSize_x = (unsigned int) width; 599 fWinSize_y = (unsigned int) height; 603 600 604 601 win = XtWindow (glxarea); … … 633 630 fpprint_top (0) 634 631 { 635 WinSize_x = 100;636 WinSize_y = 100;637 638 632 GetXmConnection (); 639 633 if (fViewId < 0) return; -
trunk/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc
r850 r897 50 50 NULL); 51 51 52 pView-> WinSize_x = (G4int) width;53 pView-> WinSize_y = (G4int) height;52 pView->fWinSize_x = (G4int) width; 53 pView->fWinSize_y = (G4int) height; 54 54 } 55 55 … … 68 68 NULL); 69 69 70 pView-> WinSize_x = (G4int) width;71 pView-> WinSize_y = (G4int) height;70 pView->fWinSize_x = (G4int) width; 71 pView->fWinSize_y = (G4int) height; 72 72 73 73 glXMakeCurrent (pView->dpy, XtWindow(pView->glxarea), pView->cx);
Note: See TracChangeset
for help on using the changeset viewer.