Ignore:
Timestamp:
Nov 9, 2009, 6:57:11 PM (15 years ago)
Author:
garnier
Message:

mise en place de Vis dans UI

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc

    r1103 r1160  
    8181fMemoryForDisplayLists (true),
    8282fAddPrimitivePreambleNestingDepth (0),
    83 fTopPODL (0),
    84 fLastPolymarker(),
    85 fLastPolymarkers(),
    86 nbDoublons(0)
     83fTopPODL (0)
    8784{}
    8885
     
    195192  if (fReadyForTransients || !fMemoryForDisplayLists) {
    196193    glPopMatrix();
    197 #ifdef G4DEBUG_VIS_OGL
    198     //    printf("G4OpenGLStoredSceneHandler::AddPrimitivePostamble glFlush\n");
    199 #endif
    200194    glFlush ();
    201195    glDrawBuffer (GL_BACK);
     
    213207void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Polymarker& polymarker)
    214208{
    215 
    216 #ifdef G4DEBUG_VIS_OGL
    217   //  printf("G4OpenGLStoredSceneHandler::AddPrimitive\n");
    218 #endif
    219   std::vector< G4Polymarker > poly;
    220     // 40,83 N03 lancement
    221     // 289,69 10Gev supp doublons   + bitmap 21 frame en 10 sec
    222     // 343,45 10Gev full polymarker + bitmap 15 frame en 10 sec
    223     // 351,67 10Gev full polymarker - bitmap 31 frame en 10 sec
    224     // 257,90 10Gev supp doublons MAX  - bitmap 42 frame en 10 sec 45757 markers et 16243 enleves
    225   // Check
    226   int reste = polymarker.size();
    227   bool res = false;
    228   if (fLastPolymarkers.size() > 0 ) {
    229 
    230     // Loop new point to check
    231     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 list
    236       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 point
    242         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       // Add
    255       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 1
    270 #ifdef TEST_MARKER
    271   // if it is already done
    272   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 #endif 
    289 #ifdef G4DEBUG_VIS_OGL
    290   //  printf("G4OpenGLStoredSceneHandler::AddPrimitive new marker list\n");
    291 #endif
    292209  AddPrimitivePreamble(polymarker);
    293210  G4OpenGLSceneHandler::AddPrimitive(polymarker);
    294211  AddPrimitivePostamble();
    295 //  fLastPolymarker.SetPosition(polymarker[polymarker.size()-1]);
    296212}
    297213
     
    332248  // gets into the display list
    333249  AddPrimitivePreamble(polyhedron);
    334 #ifdef G4DEBUG_VIS_OGL
    335   printf("G4OpenGLStoredSceneHandler::AddPrimitive (poly?) :\n");
    336 #endif
    337250  G4OpenGLSceneHandler::AddPrimitive(polyhedron);
    338251  AddPrimitivePostamble();
     
    384297void G4OpenGLStoredSceneHandler::EndModeling () {
    385298  // Make a List which calls the other lists.
    386 #ifdef G4DEBUG_VIS_OGL
    387   printf("G4OpenGLStoredSceneHandler::EndModeling Cree une nouvelle liste+++++++++++++++++++++++++++\n");
    388 #endif
    389299  fTopPODL = glGenLists (1);
    390300  if (glGetError() == GL_OUT_OF_MEMORY) {  // Could pre-allocate?
     
    454364  // Make sure screen corresponds to graphical database...
    455365  if (fpViewer) {
    456 #ifdef G4DEBUG_VIS_OGL
    457     printf("G4OpenGLStoredSceneHandler::ClearTransientStore () BEGIN\n");
    458 #endif
    459366    fpViewer -> SetView ();
    460367    fpViewer -> ClearView ();
    461368    fpViewer -> DrawView ();
    462 #ifdef G4DEBUG_VIS_OGL
    463     printf("G4OpenGLStoredSceneHandler::ClearTransientStore () END\n");
    464 #endif
    465369  }
    466370}
Note: See TracChangeset for help on using the changeset viewer.