Ignore:
Timestamp:
Mar 4, 2009, 6:58:22 PM (15 years ago)
Author:
garnier
Message:

print PS marche, mais plein de msg de debug a supprimer

File:
1 edited

Legend:

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

    r936 r938  
    8383fTopPODL (0),
    8484fLastPolymarker(),
    85 fLastPolymarkers()
     85fLastPolymarkers(),
     86nbDoublons(0)
    8687{}
    8788
     
    210211{
    211212
     213  std::vector< G4Polymarker > poly;
    212214    // 40,83 N03 lancement
    213215    // 289,69 10Gev supp doublons   + bitmap 21 frame en 10 sec
    214216    // 343,45 10Gev full polymarker + bitmap 15 frame en 10 sec
    215217    // 351,67 10Gev full polymarker - bitmap 31 frame en 10 sec
    216     // 294,90 10Gev supp doublons   - bitmap 42 frame en 10 sec
     218    // 257,90 10Gev supp doublons MAX  - bitmap 42 frame en 10 sec 45757 markers et 16243 enleves
    217219  // Check
    218220  int reste = polymarker.size();
    219   for (unsigned int a=0; a< fLastPolymarkers.size();a++) {
     221  bool res = false;
     222  if (fLastPolymarkers.size() > 0 ) {
    220223    for (unsigned int b=0; b< polymarker.size();b++) {
    221       if (( fLastPolymarkers[a].GetPosition().x() == polymarker[b].x()) &&
    222           ( fLastPolymarkers[a].GetPosition().y() == polymarker[b].y()) &&
    223           ( fLastPolymarkers[a].GetPosition().z() == polymarker[b].z())) {
    224         reste --;
    225         printf("G4OpenGLStoredSceneHandler::AddPrimitive  DOUBLON %d et pos %d reste %d ----------- point %f %f %f\n",a,b,reste,polymarker[b].x(),polymarker[b].y(),polymarker[b].z());
     224      res= false;
     225      int size= fLastPolymarkers.size()-1;
     226      for (unsigned int a=0; a< fLastPolymarkers.size() ;a++) {
     227        if (( fLastPolymarkers[size-a].GetPosition().x() == polymarker[b].x()) &&
     228            ( fLastPolymarkers[size-a].GetPosition().y() == polymarker[b].y()) &&
     229            ( fLastPolymarkers[size-a].GetPosition().z() == polymarker[b].z())) {
     230          reste --;
     231          res= true;
     232          nbDoublons++;
     233          printf("G4OpenGLStoredSceneHandler::AddPrimitive  DOUBLON %d total:%d et pos %d reste %d ----------- point %f %f %f\n",size-a,nbDoublons,b,reste,polymarker[b].x(),polymarker[b].y(),polymarker[b].z());
     234        }
    226235      }
    227     }
    228   }
    229   // Add
    230   for (unsigned int a=0; a< polymarker.size();a++) {
    231     G4Polymarker tmp;
    232     tmp.SetPosition(polymarker[a]);
    233     fLastPolymarkers.push_back(tmp);
    234   }
    235  
     236      // Add
     237      if (!res) {
     238        G4Polymarker tmp;
     239        tmp.SetPosition(polymarker[b]);
     240        fLastPolymarkers.push_back(tmp);
     241      poly.push_back(tmp);
     242      }
     243    }
     244  } else {
     245    for (unsigned int b=0; b< polymarker.size();b++) {
     246      G4Polymarker tmp;
     247      tmp.SetPosition(polymarker[b]);
     248      fLastPolymarkers.push_back(tmp);
     249      poly.push_back(tmp);
     250    }
     251  }
    236252#define TEST_MARKER 1
    237253#ifdef TEST_MARKER
    238254  // if it is already done
    239   if (polymarker.size() >0) {
    240     if (( fLastPolymarker.GetPosition().x() == polymarker[0].x()) &&
    241         ( fLastPolymarker.GetPosition().y() == polymarker[0].y()) &&
    242         ( fLastPolymarker.GetPosition().z() == polymarker[0].z())) {
    243       if (fpViewer->GetViewParameters().IsPicking()) {
    244         glLoadName(++fPickName);
    245         fPickMap[fPickName] = 0;
    246       }
    247       printf("G4OpenGLStoredSceneHandler::AddPrimitive  SUPPR ----------- point %f %f %f\n",polymarker[0].x(),polymarker[0].y(),polymarker[0].z());
    248       const G4Colour& c = GetColour (polymarker);
    249       glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ());
    250       G4OpenGLSceneHandler::AddPrimitive(polymarker);
    251       fLastPolymarker.SetPosition(polymarker[polymarker.size()-1]);
    252       return;
    253     }
     255  if (poly.size() == 1 ) {
     256    //   if (polymarker.size() >0) {
     257    //     if (( fLastPolymarker.GetPosition().x() == polymarker[0].x()) &&
     258    //         ( fLastPolymarker.GetPosition().y() == polymarker[0].y()) &&
     259    //         ( fLastPolymarker.GetPosition().z() == polymarker[0].z())) {
     260    //       if (fpViewer->GetViewParameters().IsPicking()) {
     261    //         glLoadName(++fPickName);
     262    //         fPickMap[fPickName] = 0;
     263    //       }
     264    //       printf("G4OpenGLStoredSceneHandler::AddPrimitive  SUPPR ----------- point %f %f %f\n",polymarker[0].x(),polymarker[0].y(),polymarker[0].z());
     265    const G4Colour& c = GetColour (polymarker);
     266    glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ());
     267    G4OpenGLSceneHandler::AddPrimitive(poly[0]);
     268    //    fLastPolymarker.SetPosition(polymarker[poly]);
     269    return;
    254270  }
    255271#endif 
     
    258274  G4OpenGLSceneHandler::AddPrimitive(polymarker);
    259275  AddPrimitivePostamble();
    260   fLastPolymarker.SetPosition(polymarker[polymarker.size()-1]);
     276//  fLastPolymarker.SetPosition(polymarker[polymarker.size()-1]);
    261277}
    262278
Note: See TracChangeset for help on using the changeset viewer.