- Timestamp:
- Oct 2, 2009, 3:45:41 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc
r1049 r1113 44 44 // Also seems to be required for HP's CC and AIX xlC, at least. 45 45 46 47 // FIXME : L.Garnier 22 Sept 09 48 // This include should be the first, because we should include 49 // qobject.h first. I don't know why, but on macOSX 10.5.8, if 50 // we do not, it says : 51 // /Library/Frameworks/QtCore.framework/Headers/qglobal.h:1895: error: redefinition of âclass QTypeInfo<char>â 52 // /Library/Frameworks/QtCore.framework/Headers/qglobal.h:1894: error: previous definition of âclass QTypeInfo<char>â 53 54 #include "G4OpenGLQtViewer.hh" 46 55 #include "G4OpenGLSceneHandler.hh" 47 56 #include "G4OpenGLViewer.hh" … … 252 261 void G4OpenGLSceneHandler::AddPrimitive (const G4Text& text) { 253 262 263 #ifdef G4DEBUG_VIS_OGL 264 printf ("G4OpenGLSceneHandler::AddPrimitives TEXT\n"); 265 #endif 254 266 // Loads G4Atts for picking... 255 267 if (fpViewer->GetViewParameters().IsPicking()) { 268 #ifdef G4DEBUG_VIS_OGL 269 printf ("G4OpenGLSceneHandler::AddPrimitives PICKING\n"); 270 #endif 256 271 G4AttHolder* holder = new G4AttHolder; 257 272 LoadAtts(text, holder); … … 265 280 G4String textString = text.GetText(); 266 281 282 #ifdef G4DEBUG_VIS_OGL 283 printf ("G4OpenGLSceneHandler::AddPrimitives TEXT -%s-X:%f Y:%f Z:%f- - Red:%f Green:%f Blue:%f--\n",textString.c_str(),position.x(),position.y(),position.z(),c.GetRed (), c.GetGreen (), c.GetBlue ()); 284 #endif 285 267 286 G4int font_base = G4OpenGLFontBaseStore::GetFontBase(fpViewer,size); 287 #ifdef G4DEBUG_VIS_OGL 288 printf ("G4OpenGLSceneHandler::AddPrimitives getFontBase ?size=%f-recu:%d-\n",size,font_base); 289 #endif 268 290 if (font_base < 0) { 291 #ifdef G4DEBUG_VIS_OGL 292 printf ("G4OpenGLSceneHandler::AddPrimitives NO FONT BASE--\n"); 293 #endif 294 295 #ifdef G4DEBUG_VIS_OGL 296 printf ("G4OpenGLSceneHandler::AddPrimitives SPECIAL CASE\n"); 297 #endif 298 G4OpenGLQtViewer* oGLSQtViewer = dynamic_cast<G4OpenGLQtViewer*>(fpViewer); 299 if (oGLSQtViewer) { 300 // FIXME : No font for the moment 301 const char* textCString = textString.c_str(); 302 oGLSQtViewer->drawText(textCString,position.x(),position.y(),position.z(),size); 303 } 269 304 static G4int callCount = 0; 270 305 ++callCount; 271 306 if (callCount <= 10 || callCount%100 == 0) { 307 308 309 272 310 G4cout << 273 311 "G4OpenGLSceneHandler::AddPrimitive (const G4Text&) call count " … … 287 325 const char* textCString = textString.c_str(); 288 326 glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ()); 289 glDisable (GL_DEPTH_TEST); 290 glDisable (GL_LIGHTING); 327 G4OpenGLQtViewer* oGLSQtViewer = dynamic_cast<G4OpenGLQtViewer*>(fpViewer); 328 329 if (oGLSQtViewer) { 330 // FIXME : No font for the moment 331 oGLSQtViewer->drawText(textCString,position.x(),position.y(),position.z(),size); 332 } else { 333 glDisable (GL_DEPTH_TEST); 334 glDisable (GL_LIGHTING); 335 336 glRasterPos3d(position.x(),position.y(),position.z()); 337 // No action on offset or layout at present. 338 glPushAttrib(GL_LIST_BIT); 339 glListBase(font_base); 340 glCallLists(strlen(textCString), GL_UNSIGNED_BYTE, (GLubyte *)textCString); 341 glPopAttrib(); 342 } 343 // ////////////// 344 // makeCurrent(); 345 // glPushAttrib(GL_LIST_BIT | GL_CURRENT_BIT | GL_COLOR_BUFFER_BIT); 346 // glRasterPos3d(x, y, z); 347 // glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 348 // glEnable(GL_BLEND); 349 // glListBase(fontDisplayListBase(fnt, listBase)); 350 // glCallLists(str.length(), GL_UNSIGNED_BYTE, str.local8Bit()); 351 // glPopAttrib(); 352 // ////////////// 291 353 292 glRasterPos3d(position.x(),position.y(),position.z()); 293 // No action on offset or layout at present. 294 glPushAttrib(GL_LIST_BIT); 295 glListBase(font_base); 296 glCallLists(strlen(textCString), GL_UNSIGNED_BYTE, (GLubyte *)textCString); 297 glPopAttrib(); 354 #ifdef G4DEBUG_VIS_OGL 355 printf ("G4OpenGLSceneHandler::AddPrimitives TEXT\n"); 356 #endif 298 357 } 299 358 … … 442 501 // Assume all facets are planar convex quadrilaterals. 443 502 // Draw each facet individually 444 503 #ifdef G4DEBUG_VIS_OGL 504 printf ("G4OpenGLSceneHandler::AddPrimitives BEGIN poly\n"); 505 #endif 445 506 if (polyhedron.GetNoFacets() == 0) return; 507 #ifdef G4DEBUG_VIS_OGL 508 printf ("G4OpenGLSceneHandler::AddPrimitives BEGIN 2 poly %d ++ %d\n",fpViewer,fpViewer->GetViewParameters().IsPicking()); 509 #endif 446 510 447 511 // Loads G4Atts for picking... … … 449 513 G4AttHolder* holder = new G4AttHolder; 450 514 const G4Visible vis; 451 printf ("G4OpenGLSceneHandler::AddPrimitives poly %d",&polyhedron); 452 LoadAtts(vis, holder); 515 #ifdef G4DEBUG_VIS_OGL 516 printf ("G4OpenGLSceneHandler::AddPrimitives poly %d\n",&polyhedron); 517 #endif 518 LoadAtts(polyhedron, holder); 453 519 // LoadAtts(polyhedron, holder); 454 520 fPickMap[fPickName] = holder;
Note: See TracChangeset
for help on using the changeset viewer.