Changeset 948 for trunk/source/visualization/OpenGL/src
- Timestamp:
- Mar 23, 2009, 6:25:48 PM (15 years ago)
- Location:
- trunk/source/visualization/OpenGL/src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc
r915 r948 46 46 void G4OpenGLImmediateViewer::ProcessView () 47 47 { 48 printf("G4OpenGLImmediateViewer::ProcessView\n"); 49 48 50 const G4Planes& cutaways = fVP.GetCutawayPlanes(); 49 51 G4bool cutawayUnion = fVP.IsCutaway() && -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc
r945 r948 91 91 G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle(); 92 92 93 #ifdef G4DEBUG_VIS_OGL 94 printf("G4OpenGLImmediateXmViewer::DrawView : \n"); 95 #endif 96 93 97 //Make sure current viewer is attached and clean... 94 98 glXMakeCurrent (dpy, fGLXWin, cx); … … 99 103 HaloingFirstPass (); 100 104 NeedKernelVisit (); 105 #ifdef G4DEBUG_VIS_OGL 106 printf("G4OpenGLImmediateXmViewer::DrawView : change param\n"); 107 #endif 101 108 ProcessView (); 102 109 glFlush (); … … 106 113 } 107 114 115 #ifdef G4DEBUG_VIS_OGL 116 printf("G4OpenGLImmediateXmViewer::DrawView : need Kernel/Process/Finish\n"); 117 #endif 108 118 NeedKernelVisit (); // Always need to visit G4 kernel. 109 119 ProcessView (); … … 113 123 114 124 void G4OpenGLImmediateXmViewer::FinishView () { 125 #ifdef G4DEBUG_VIS_OGL 126 printf("G4OpenGLImmediateXmViewer::FinishView : \n"); 127 #endif 115 128 glXWaitGL (); //Wait for effects of all previous OpenGL commands to 116 129 //be propogated before progressing. -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc
r946 r948 211 211 { 212 212 213 printf("G4OpenGLStoredSceneHandler::AddPrimitive\n"); 214 213 215 std::vector< G4Polymarker > poly; 214 216 // 40,83 N03 lancement … … 240 242 ( storedPoly[size-aPoly].GetPosition().z() == polymarker[b].z())) { 241 243 reste --; 242 res= true;244 // res= true; 243 245 nbDoublons++; 244 246 // printf("G4OpenGLStoredSceneHandler::AddPrimitive PT %d/%d ALREADY FOUND TOT:%d. OLD pos %d/%d in %d PolyMarkerList STILL %d Marker in list. Point is %f %f %f\n",b,polymarker.size(), nbDoublons, aPoly,size,a ,reste,polymarker[b].x(),polymarker[b].y(),polymarker[b].z()); -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc
r946 r948 61 61 void G4OpenGLStoredXViewer::Initialise () { 62 62 63 #ifdef G4DEBUG_VIS_OGL 64 printf("G4OpenGLStoredXViewer::Initialise\n"); 65 #endif 63 66 CreateGLXContext (vi_stored); 64 67 CreateMainWindow (); … … 77 80 void G4OpenGLStoredXViewer::DrawView () { 78 81 82 #ifdef G4DEBUG_VIS_OGL 79 83 printf("G4OpenGLStoredXViewer::DrawView\n"); 84 #endif 80 85 //Make sure current viewer is attached and clean... 81 86 glXMakeCurrent (dpy, fGLXWin, cx); … … 108 113 // have been done, so... 109 114 if (!kernelVisitWasNeeded) { 115 #ifdef G4DEBUG_VIS_OGL 110 116 printf("G4OpenGLStoredXViewer::DrawView NO need kernel visit\n"); 117 #endif 111 118 DrawDisplayLists (); 112 119 FinishView (); 113 120 } else { 121 #ifdef G4DEBUG_VIS_OGL 114 122 printf("G4OpenGLStoredXViewer::DrawView NEED kernel visit\n"); 123 #endif 115 124 // However, union cutaways are implemented in DrawDisplayLists, so make 116 125 // an extra pass... … … 126 135 127 136 void G4OpenGLStoredXViewer::FinishView () { 137 #ifdef G4DEBUG_VIS_OGL 138 printf("G4OpenGLStoredXViewer::FinishView\n"); 139 #endif 128 140 glXWaitGL (); //Wait for effects of all previous OpenGL commands to 129 141 //be propogated before progressing. 142 143 glFlush (); //FIXME 144 130 145 GLint renderMode; 131 146 glGetIntegerv(GL_RENDER_MODE, &renderMode); -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc
r946 r948 139 139 glXWaitGL (); //Wait for effects of all previous OpenGL commands to 140 140 //be propogated before progressing. 141 142 glFlush (); //FIXME 143 141 144 GLint renderMode; 142 145 glGetIntegerv(GL_RENDER_MODE, &renderMode); -
trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
r946 r948 115 115 116 116 void G4OpenGLViewer::ClearView () { 117 printf("G4OpenGLViewer::ClearView\n"); 117 118 glClearColor (background.GetRed(), 118 119 background.GetGreen(), … … 137 138 void G4OpenGLViewer::ResizeGLView() 138 139 { 140 printf("G4OpenGLViewer::ResizeGLView\n"); 139 141 // Check size 140 142 GLint dims[2]; … … 586 588 if (fGL2PSAction->enableFileWriting()) { 587 589 588 // FIXME : How to get the point size.... ?589 //fGL2PSAction->setLineWidth(1);590 // FIXME : How to get the line width.... ?591 // fGL2PSAction->setPointSize(30);590 // By default, we choose the line width (trajectories...) 591 fGL2PSAction->setLineWidth(1); 592 // By default, we choose the point size (markers...) 593 fGL2PSAction->setPointSize(2); 592 594 593 595 DrawView (); -
trunk/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc
r946 r948 25 25 // 26 26 // 27 // $Id: G4OpenGLViewerMessenger.cc,v 1.1 5 2009/03/05 16:36:13 lgarnierExp $27 // $Id: G4OpenGLViewerMessenger.cc,v 1.16 2009/03/18 14:34:28 allison Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 … … 177 177 fpCommandFade->SetDefaultValue(0.); 178 178 179 180 179 fpCommandPrintMode = new G4UIcmdWithAString 181 180 ("/vis/ogl/set/printMode",this); … … 229 228 (G4UIcommand* command, G4String newValue) 230 229 { 231 232 230 G4VisManager* pVisManager = G4VisManager::GetInstance(); 233 231 234 235 G4VViewer* pVViewer = pVisManager->GetCurrentViewer(); 236 237 if (!pVViewer) { 232 G4VViewer* pViewer = pVisManager->GetCurrentViewer(); 233 234 if (!pViewer) { 238 235 G4cout << 239 236 "G4OpenGLViewerMessenger::SetNewValue: No current viewer." … … 243 240 } 244 241 245 G4OpenGLViewer* pOGLViewer = dynamic_cast<G4OpenGLViewer*>(pV Viewer);242 G4OpenGLViewer* pOGLViewer = dynamic_cast<G4OpenGLViewer*>(pViewer); 246 243 247 244 if (!pOGLViewer) { … … 253 250 } 254 251 255 if (command == fpCommandPrintEPS) 252 if (command == fpCommandPrintEPS) 256 253 { 257 254 // Keep copy of fPrintFilename to preserve Xm behaviour... … … 264 261 pOGLViewer->fPrintFilename = std::string(oss.str().c_str()); 265 262 // Print eps file... 266 printf("G4OpenGLViewerMessenger : Call printEPS \n");267 263 pOGLViewer->printEPS(); 268 264 // Restore fPrintFilename for Xm... … … 277 273 } 278 274 279 G4OpenGLStoredViewer* pViewer = 280 dynamic_cast<G4OpenGLStoredViewer*>(pVViewer); 281 282 if (!pViewer) { 275 if (command == fpCommandTransparency) 276 { 277 pOGLViewer->transparency_enabled = command->ConvertToBool(newValue); 278 if (pOGLViewer->fVP.IsAutoRefresh()) 279 G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh"); 280 } 281 282 G4OpenGLStoredViewer* pOGLSViewer = 283 dynamic_cast<G4OpenGLStoredViewer*>(pViewer); 284 285 if (!pOGLSViewer) { 283 286 G4cout << 284 287 "G4OpenGLViewerMessenger::SetNewValue: Current viewer is not of type OGLS." 285 288 "\n The time slice viewing feature is only implemented for OGL Stored" 286 "\n viewers at present. Use \"/vis/viewer/select\" or \"/vis/open \"."289 "\n viewers at present. Use \"/vis/viewer/select\" or \"/vis/open OGLS...\"." 287 290 << G4endl; 288 291 return; … … 296 299 iss >> display >> screenX >> screenY 297 300 >> screenSize >> red >> green >> blue; 298 p Viewer->fDisplayHeadTime = command->ConvertToBool(display);299 p Viewer->fDisplayHeadTimeX = screenX;300 p Viewer->fDisplayHeadTimeY = screenY;301 p Viewer->fDisplayHeadTimeSize = screenSize;302 p Viewer->fDisplayHeadTimeRed = red;303 p Viewer->fDisplayHeadTimeGreen = green;304 p Viewer->fDisplayHeadTimeBlue = blue;301 pOGLSViewer->fDisplayHeadTime = command->ConvertToBool(display); 302 pOGLSViewer->fDisplayHeadTimeX = screenX; 303 pOGLSViewer->fDisplayHeadTimeY = screenY; 304 pOGLSViewer->fDisplayHeadTimeSize = screenSize; 305 pOGLSViewer->fDisplayHeadTimeRed = red; 306 pOGLSViewer->fDisplayHeadTimeGreen = green; 307 pOGLSViewer->fDisplayHeadTimeBlue = blue; 305 308 } 306 309 … … 314 317 >> originT >> unitT 315 318 >> red >> green >> blue; 316 p Viewer->fDisplayLightFront = command->ConvertToBool(display);317 p Viewer->fDisplayLightFrontX =319 pOGLSViewer->fDisplayLightFront = command->ConvertToBool(display); 320 pOGLSViewer->fDisplayLightFrontX = 318 321 command->ConvertToDimensionedDouble(G4String(originX + ' ' + unitS)); 319 p Viewer->fDisplayLightFrontY =322 pOGLSViewer->fDisplayLightFrontY = 320 323 command->ConvertToDimensionedDouble(G4String(originY + ' ' + unitS)); 321 p Viewer->fDisplayLightFrontZ =324 pOGLSViewer->fDisplayLightFrontZ = 322 325 command->ConvertToDimensionedDouble(G4String(originZ + ' ' + unitS)); 323 p Viewer->fDisplayLightFrontT =326 pOGLSViewer->fDisplayLightFrontT = 324 327 command->ConvertToDimensionedDouble(G4String(originT + ' ' + unitT)); 325 p Viewer->fDisplayLightFrontRed = red;326 p Viewer->fDisplayLightFrontGreen = green;327 p Viewer->fDisplayLightFrontBlue = blue;328 pOGLSViewer->fDisplayLightFrontRed = red; 329 pOGLSViewer->fDisplayLightFrontGreen = green; 330 pOGLSViewer->fDisplayLightFrontBlue = blue; 328 331 } 329 332 … … 335 338 iss >> end_time_string >> end_time_unit 336 339 >> time_range_string >> time_range_unit; 337 p Viewer->fEndTime = command->ConvertToDimensionedDouble340 pOGLSViewer->fEndTime = command->ConvertToDimensionedDouble 338 341 (G4String(end_time_string + ' ' + end_time_unit)); 339 342 G4double timeRange = command->ConvertToDimensionedDouble 340 343 (G4String(time_range_string + ' ' + time_range_unit)); 341 344 if (timeRange > 0.) { 342 p Viewer->fStartTime = pViewer->fEndTime - timeRange;345 pOGLSViewer->fStartTime = pOGLSViewer->fEndTime - timeRange; 343 346 } 344 if (p Viewer->fVP.IsAutoRefresh())347 if (pOGLSViewer->fVP.IsAutoRefresh()) 345 348 G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh"); 346 349 } … … 348 351 if (command == fpCommandFade) 349 352 { 350 p Viewer->fFadeFactor = command->ConvertToDouble(newValue);351 if (p Viewer->fVP.IsAutoRefresh())353 pOGLSViewer->fFadeFactor = command->ConvertToDouble(newValue); 354 if (pOGLSViewer->fVP.IsAutoRefresh()) 352 355 G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh"); 353 356 } … … 360 363 iss >> start_time_string >> start_time_unit 361 364 >> time_range_string >> time_range_unit; 362 p Viewer->fStartTime = command->ConvertToDimensionedDouble365 pOGLSViewer->fStartTime = command->ConvertToDimensionedDouble 363 366 (G4String(start_time_string + ' ' + start_time_unit)); 364 367 G4double timeRange = command->ConvertToDimensionedDouble 365 368 (G4String(time_range_string + ' ' + time_range_unit)); 366 369 if (timeRange > 0.) { 367 p Viewer->fEndTime = pViewer->fStartTime + timeRange;370 pOGLSViewer->fEndTime = pOGLSViewer->fStartTime + timeRange; 368 371 } 369 if (p Viewer->fVP.IsAutoRefresh())372 if (pOGLSViewer->fVP.IsAutoRefresh()) 370 373 G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh"); 371 374 } 372 375 373 if (command == fpCommandTransparency)374 {375 pViewer->transparency_enabled = command->ConvertToBool(newValue);376 if (pViewer->fVP.IsAutoRefresh())377 G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh");378 }379 380 376 } 381 377 -
trunk/source/visualization/OpenGL/src/G4OpenGLXViewer.cc
r946 r948 49 49 #include "G4Point3D.hh" 50 50 #include "G4Normal3D.hh" 51 #include "G4StateManager.hh" 51 52 52 53 #include <X11/Xatom.h> … … 484 485 fGLXWin=glxpmap; 485 486 487 // 486 488 bool er1 = glXMakeCurrent (dpy, 487 489 fGLXWin, // pixmap win Id … … 490 492 glViewport (0, 0, fWinSize_x, fWinSize_y); 491 493 494 // InitializeGLView (); 495 496 // clear the buffers and window. 492 497 ClearView (); 493 SetView (); 498 SetView(); 499 // FinishView (); 500 494 501 #ifdef G4DEBUG_VIS_OGL 495 502 printf("G4OpenGLXViewer::print Call DrawView context:%d old winGL:%d \n",cx,fGLXWin); 496 503 #endif 497 DrawView (); 504 505 506 507 // Need to force redraw for SXm mode 508 NeedKernelVisit (); 509 510 // Need to change state to IDLE 511 G4StateManager* stateManager = G4StateManager::GetStateManager(); 512 G4ApplicationState oldState = stateManager->GetCurrentState(); 513 stateManager->SetNewState(G4State_Idle); 514 515 516 517 DrawView (); // Will make current glX 518 519 // Restore state 520 stateManager->SetNewState(oldState); 521 522 523 498 524 499 525 std::string file = "G4OpenGL_XPixmap.eps"; … … 511 537 printf("Error 1:%d 2:%d\n",er1,er2); 512 538 539 // glXDestroyContext(pcx); 540 // glXDestroyGLXPixmap(glpixmap) 513 541 } 514 542 … … 548 576 549 577 578 printf("------%d------\n",tmp_cx); 550 579 return glXCreateContext (dpy, 551 580 pvi, 552 tmp_cx,581 0, 553 582 False); 554 583 } … … 596 625 glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer); 597 626 598 // glXWaitGL (); //Wait for effects of all previous OpenGL commands to 599 // //be propagated before progressing. 600 // glFlush (); 601 for (int i = 0; i<size; i++) { 602 if (buffer[i] != 0) 603 printf("%d",buffer[i]); 604 // else 605 // printf("."); 606 } 627 glXWaitGL (); //Wait for effects of all previous OpenGL commands to 628 // //be propagated before progressing. 629 glFlush (); 607 630 608 631 // printf("-----------\n-----------\n-----------\n-----------\n-----------\n%d %d %d\n",width, height,size); -
trunk/source/visualization/OpenGL/src/G4OpenGLXViewerMessenger.cc
r916 r948 105 105 pViewer->fPrintFilename = std::string (oss.str().c_str()); 106 106 // Print eps file... 107 pViewer->print ();107 pViewer->printEPS(); 108 108 // Restore fPrintFilename for Xm... 109 109 pViewer->fPrintFilename = tmp_string;
Note: See TracChangeset
for help on using the changeset viewer.