- Timestamp:
- Nov 9, 2009, 6:57:11 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc
r1103 r1160 81 81 fMemoryForDisplayLists (true), 82 82 fAddPrimitivePreambleNestingDepth (0), 83 fTopPODL (0), 84 fLastPolymarker(), 85 fLastPolymarkers(), 86 nbDoublons(0) 83 fTopPODL (0) 87 84 {} 88 85 … … 195 192 if (fReadyForTransients || !fMemoryForDisplayLists) { 196 193 glPopMatrix(); 197 #ifdef G4DEBUG_VIS_OGL198 // printf("G4OpenGLStoredSceneHandler::AddPrimitivePostamble glFlush\n");199 #endif200 194 glFlush (); 201 195 glDrawBuffer (GL_BACK); … … 213 207 void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Polymarker& polymarker) 214 208 { 215 216 #ifdef G4DEBUG_VIS_OGL217 // printf("G4OpenGLStoredSceneHandler::AddPrimitive\n");218 #endif219 std::vector< G4Polymarker > poly;220 // 40,83 N03 lancement221 // 289,69 10Gev supp doublons + bitmap 21 frame en 10 sec222 // 343,45 10Gev full polymarker + bitmap 15 frame en 10 sec223 // 351,67 10Gev full polymarker - bitmap 31 frame en 10 sec224 // 257,90 10Gev supp doublons MAX - bitmap 42 frame en 10 sec 45757 markers et 16243 enleves225 // Check226 int reste = polymarker.size();227 bool res = false;228 if (fLastPolymarkers.size() > 0 ) {229 230 // Loop new point to check231 for (unsigned int b=0; b< polymarker.size();b++) {232 // printf("check %d/%d\n",b,polymarker.size());233 res= false;234 235 // Look for stored point list236 for (unsigned int a=0; a< fLastPolymarkers.size() ;a++) {237 // printf("against vect %d/%d\n",a,fLastPolymarker.size());238 std::vector < G4Polymarker > storedPoly = fLastPolymarkers[a];239 int size= storedPoly.size()-1;240 241 // Look for point242 for (int aPoly=0; aPoly< size ;aPoly++) {243 // printf("against poly %d/%d\n",aPoly,storedPoly.size());244 if (( storedPoly[size-aPoly].GetPosition().x() == polymarker[b].x()) &&245 ( storedPoly[size-aPoly].GetPosition().y() == polymarker[b].y()) &&246 ( storedPoly[size-aPoly].GetPosition().z() == polymarker[b].z())) {247 reste --;248 // res= true;249 nbDoublons++;250 // 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());251 }252 }253 }254 // Add255 if (!res) {256 G4Polymarker tmp;257 tmp.SetPosition(polymarker[b]);258 poly.push_back(tmp);259 }260 }261 } else {262 for (unsigned int b=0; b< polymarker.size();b++) {263 G4Polymarker tmp;264 tmp.SetPosition(polymarker[b]);265 poly.push_back(tmp);266 }267 }268 fLastPolymarkers.push_back(poly);269 #define TEST_MARKER 1270 #ifdef TEST_MARKER271 // if it is already done272 if (poly.size() == 1 ) {273 // if (polymarker.size() >0) {274 // if (( fLastPolymarker.GetPosition().x() == polymarker[0].x()) &&275 // ( fLastPolymarker.GetPosition().y() == polymarker[0].y()) &&276 // ( fLastPolymarker.GetPosition().z() == polymarker[0].z())) {277 // if (fpViewer->GetViewParameters().IsPicking()) {278 // glLoadName(++fPickName);279 // fPickMap[fPickName] = 0;280 // }281 // printf("G4OpenGLStoredSceneHandler::AddPrimitive SUPPR ----------- point %f %f %f\n",polymarker[0].x(),polymarker[0].y(),polymarker[0].z());282 const G4Colour& c = GetColour (polymarker);283 glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ());284 G4OpenGLSceneHandler::AddPrimitive(poly[0]);285 // fLastPolymarker.SetPosition(polymarker[poly]);286 return;287 }288 #endif289 #ifdef G4DEBUG_VIS_OGL290 // printf("G4OpenGLStoredSceneHandler::AddPrimitive new marker list\n");291 #endif292 209 AddPrimitivePreamble(polymarker); 293 210 G4OpenGLSceneHandler::AddPrimitive(polymarker); 294 211 AddPrimitivePostamble(); 295 // fLastPolymarker.SetPosition(polymarker[polymarker.size()-1]);296 212 } 297 213 … … 332 248 // gets into the display list 333 249 AddPrimitivePreamble(polyhedron); 334 #ifdef G4DEBUG_VIS_OGL335 printf("G4OpenGLStoredSceneHandler::AddPrimitive (poly?) :\n");336 #endif337 250 G4OpenGLSceneHandler::AddPrimitive(polyhedron); 338 251 AddPrimitivePostamble(); … … 384 297 void G4OpenGLStoredSceneHandler::EndModeling () { 385 298 // Make a List which calls the other lists. 386 #ifdef G4DEBUG_VIS_OGL387 printf("G4OpenGLStoredSceneHandler::EndModeling Cree une nouvelle liste+++++++++++++++++++++++++++\n");388 #endif389 299 fTopPODL = glGenLists (1); 390 300 if (glGetError() == GL_OUT_OF_MEMORY) { // Could pre-allocate? … … 454 364 // Make sure screen corresponds to graphical database... 455 365 if (fpViewer) { 456 #ifdef G4DEBUG_VIS_OGL457 printf("G4OpenGLStoredSceneHandler::ClearTransientStore () BEGIN\n");458 #endif459 366 fpViewer -> SetView (); 460 367 fpViewer -> ClearView (); 461 368 fpViewer -> DrawView (); 462 #ifdef G4DEBUG_VIS_OGL463 printf("G4OpenGLStoredSceneHandler::ClearTransientStore () END\n");464 #endif465 369 } 466 370 }
Note: See TracChangeset
for help on using the changeset viewer.