Fork me on GitHub

Changeset 100 in svn for trunk/Utilities/FROG


Ignore:
Timestamp:
Dec 18, 2008, 2:39:26 PM (16 years ago)
Author:
severine ovyn
Message:

Remove datacard bug + CaloTowers OK

Location:
trunk/Utilities/FROG
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Utilities/FROG/Includes/FROG/FROG_Chunk.h

    r95 r100  
    114114#define C_PRIMITIVE_PARTIALSPHERE       41031   // Contains a sphere
    115115#define C_PRIMITIVE_CYLINDER            41040   // Contains a cylinder
     116#define C_PRIMITIVE_CONE                41080   // Contains a cylinder
    116117
    117118#define C_PRIMITIVE_SURFACE                     42000   // Contains Chunks related to Surface Primtive (Plane, Disc, ...)
  • trunk/Utilities/FROG/Includes/FROG/FROG_Element_Tools.cpp

    r95 r100  
    139139                                }                               
    140140                        break;
     141
     142                       case C_PRIMITIVE_CONE :
     143                                NObjs = (chunk_size-chunk_read)/(FROG_Element_Primitive_Cone::sizeOf()-6);
     144                                for(int i=0;i<NObjs;i++){
     145                                        mother->addDaughter(new FROG_Element_Primitive_Cone(pFile));
     146                                        chunk_read += FROG_Element_Primitive_Cone::sizeOf()-6;
     147                                }
     148                        break;
     149
    141150
    142151                        case C_PRIMITIVE_CUSTOM_SURFACE :
  • trunk/Utilities/FROG/Includes/FROG/FROG_Element_Tools.h

    r95 r100  
    2525#include "FROG_Element_Primitive_PartialSphere.h"
    2626#include "FROG_Element_Primitive_Cylinder.h"
     27#include "FROG_Element_Primitive_Cone.h"
    2728
    2829#include "FROG_Element_Primitive_CustomSurface.h"
  • trunk/Utilities/FROG/main.cpp

    r95 r100  
    55void Loading()
    66{
     7        char Buffer[1024];
     8
    79        switch(mLoading_I)
    810        {       
     
    4345                        ViewScreen = new FROG_View_Screen("Screen");
    4446                        ViewScreen->Reshape(WINDOW_WIDTH,WINDOW_HEIGHT);
    45                         ViewScreen->LoadingInProgress(0.0f,"Reading config.txt",Fonts,LogoTexture);
     47                        sprintf(Buffer,"Reading %s",inputConfig.c_str());
     48                        ViewScreen->LoadingInProgress(0.0f,Buffer,Fonts,LogoTexture);
    4649               
    4750
    48                         LoadCard("config.txt");
     51                        LoadCard(inputConfig.c_str());
    4952                        if(!Card->IsTagPresent("InputGeom") && !Card->IsTagPresent("InputVisFile")){
    5053                           printf("There is no .geom file neither than .vis file in the Config card\n");
    51                            printf("FROG will stop.  Please update the Config card (config.txt)\n");
     54                           printf("FROG will stop.  Please update the Config card (%s)\n",inputConfig.c_str());
    5255                           exit(0);
    5356                        }                       
     
    6164                           inputGeom = Card->GetStringVector("InputGeom");         
    6265                           for(unsigned int g=0;g<inputGeom.size();g++){
    63                                    inputGeom[g] = string((char*)DownLoadFile( (char*)inputGeom[g].c_str() ) );
     66                                   inputGeom[g] = string((char*)DownLoadFile( (char*)inputGeom[g].c_str(), AbsolutePath.c_str() ) );
    6467                           }
    6568                        }                                               
     
    6770
    6871                case 2:
     72                        /*
    6973                        ViewScreen->LoadingInProgress(10.0f,"Downloading Events\n(if necessary)",Fonts,LogoTexture);                   
    7074
     
    7276                                inputVisFileFromCard = Card->GetString("InputVisFile");                         
    7377                        }
    74                         inputVisFile = string((char*)DownLoadFile( (char*)inputVisFileFromCard.c_str() ) );
     78                        inputVisFile = string((char*)DownLoadFile( (char*)inputVisFileFromCard.c_str(), AbsolutePath.c_str() ) );
     79                        */
    7580                        break;
    7681
     
    8792                        }                       
    8893                        frogObjects_ = new FROG_Objects_Extended(geom,NULL,Card, Fonts);
     94
    8995                       
    9096                        }break;
    9197
    9298                case 4:{
    93                         if(strcmp(inputVisFile.c_str(),"")==0){
    94                                 ViewScreen->LoadingInProgress(80.0f,"No Event Files has been Given",Fonts,LogoTexture);
    95                         }else{
    96                                 ViewScreen->LoadingInProgress(80.0f,(char*)inputVisFile.c_str(),Fonts,LogoTexture);
    97                         }
     99                        ViewScreen->LoadingInProgress(80.0f,"Loading .vis Files",Fonts,LogoTexture);
    98100
    99101                        if(events)delete events;
    100                         events = new FROG_Events();                             
    101                         events->Load(inputVisFile.c_str());
    102                         events->frogObjects_ = frogObjects_;
    103                         events->Init(frogObjects_);
     102                        events = new FROG_Events(frogObjects_);                                         
     103                        events->Load(inputVisFileFromCommand);                         
    104104                        events->readEventToDisplay(Card);
    105                         if(SCREENSAVER)eventNumber = rand()%((int)events->NumberOfEvents());
     105                        if(SCREENSAVER)eventNumber = rand()%((int)events->NumberOfEvents());                   
    106106                        event = events->GoToEvent(eventNumber);
    107 
    108107                        }break;
    109108
    110                 case 5:{
     109                case 5:{                       
    111110                        ViewScreen->LoadingInProgress(95.0f,"Views Initialisation",Fonts,LogoTexture);
    112111
    113112                        ViewScreen->displayFunc_ = displaytext;
    114113                        std::vector<string> ViewsName = Card->GetStringVector("ActiveViews");
    115                         ViewMain = ViewScreen;                 
    116                         for(unsigned int i=0;i<ViewsName.size();i++){                           
     114                        ViewMain = ViewScreen;                                         
     115                        for(unsigned int i=0;i<ViewsName.size();i++){                                                          
    117116                                char* tmp = new char[ViewsName[i].size()+1];                           
    118117                                strcpy(tmp,ViewsName[i].c_str());                               
    119                                 ActiveViews.push_back(FROG_VIEW::Create(tmp,frogObjects_));                                                             
    120                         }                                               
     118                                ActiveViews.push_back(FROG_VIEW::Create(tmp,frogObjects_));                                                                                            
     119                        }                                                      
    121120                        ViewScreen->Reshape(WINDOW_WIDTH,WINDOW_HEIGHT);
     121                       
    122122                        for(unsigned int j=0;j<ActiveViews.size();j++){
    123123                                if(ViewMain==ViewScreen && ActiveViews[j]->IsSwapPossible()){ViewMain = ActiveViews[j];}
     
    125125                                ActiveViews[j]->displayFunc_ = &display2;
    126126                        }                               
    127                         ViewMain->IsActive = true;
     127                        ViewMain->IsActive = true;                     
    128128                        geom->updateGeomToDisplay((void*)frogObjects_);
    129129
    130130                        ViewMenu = new FROG_View_Menu("ViewMenu2",frogObjects_);
    131                         ViewMenu->Reshape(WINDOW_WIDTH,WINDOW_HEIGHT);                 
     131                        ViewMenu->Reshape(WINDOW_WIDTH,WINDOW_HEIGHT);                                         
    132132                        }break;
    133133
     
    155155                        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ;             
    156156
     157
    157158                        mLoading   = false;
    158159                        end = time ( NULL );
     
    161162                        glutDisplayFunc (display);
    162163                        glutIdleFunc    (display);
     164
     165                        glutKeyboardFunc (processNormalKeys);
     166                        glutSpecialFunc  (processSpecialKeys);
     167                 
     168                        glutMouseFunc(processMouse);
     169                        glutMotionFunc(processMotion);
     170                        if(SCREENSAVER){
     171                                eventTime = 20;
     172                                glutPassiveMotionFunc(processPassiveMotion);           
     173                                glutFullScreen();
     174                        }
     175
    163176
    164177                        if(SHOOTER){
     
    207220        Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH-126,WINDOW_HEIGHT - 30,"% 10i FPS", ViewScreen->FPS);
    208221        if(mHelpScreen){               
    209                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 45    ,"F1     = Open this Screen for Help");
    210                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 60    ,"F2     = Open the Display Menu");
    211                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 75    ,"F3     = use only for debug");
    212                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 90    ,"F4     = Automatic ScreenShooter (Warning)");
    213 
    214                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 125   ,"F5     = SimTrack       : ON/OFF");
    215                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 140   ,"F6     = SimVertex      : ON/OFF");
    216                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 155   ,"F7     = PSimHits       : ON/OFF");
    217                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 170   ,"F8     = RecoTrack      : ON/OFF");
    218 
    219                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 205   ,"F9     = SiStripCluster : ON/OFF");
    220                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 220   ,"F10    = EcalHits       : ON/OFF");
    221                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 235   ,"F11    = HcalHits       : ON/OFF");           
    222                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 250   ,"F12    = MuonHit/Seg    : ON/OFF");
    223 
    224                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 285   ,"0      = Geometry to Display : NONE");
    225                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 300   ,"9      = Geometry to Display : FULL");
    226 
    227                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 335   ,"LEFT   = Previous Event");
    228                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 350   ,"RIGHT  = Next     Event");
    229                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 375   ,"UP     = Increase Rotation");
    230                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 390   ,"DOWN   = Decrease Rotation");
    231 
    232                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 425   ,"p      = Zoom In");
    233                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 440   ,"m      = Zoom Out");
    234                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 455   ,"f      = Maximize the active view");
    235                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 470   ,"s      = SlideShow      : ON/OFF");
    236                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 485   ,"t      = TreeMenu       : ON/OFF");
    237 
    238                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 515   ,"ENTER  = Screenshot");
    239                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 530   ,"SPACE  = Rotation       : ON/OFF");
    240                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 545   ,"ESCAPE = Exit");
    241                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 560   ,"q      = Exit");
    242                 Fonts->Font_Fixed_9_by_15->glPrint(WINDOW_WIDTH/3,WINDOW_HEIGHT - 575   ,"a      = Full Screen");
     222                if(events) Fonts->Font_Fixed_9_by_15->glPrint(0,WINDOW_HEIGHT - 14,"CurrentFile = ...%s",events->CurrentFile());
     223
     224                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 45       ,"F1     = Open this Screen for Help");
     225                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 60       ,"F2     = Open the Display Menu");
     226                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 75       ,"F3     = use only for debug");
     227                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 90       ,"F4     = Automatic ScreenShooter (Warning)");
     228
     229                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 125      ,"F5     = SimTrack       : ON/OFF");
     230                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 140      ,"F6     = SimVertex      : ON/OFF");
     231                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 155      ,"F7     = PSimHits       : ON/OFF");
     232                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 170      ,"F8     = RecoTrack      : ON/OFF");
     233
     234                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 205      ,"F9     = SiStripCluster : ON/OFF");
     235                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 220      ,"F10    = EcalHits       : ON/OFF");
     236                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 235      ,"F11    = HcalHits       : ON/OFF");           
     237                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 250      ,"F12    = MuonHit/Seg    : ON/OFF");
     238
     239                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 285      ,"0      = Geometry to Display : NONE");
     240                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 300      ,"9      = Geometry to Display : FULL");
     241
     242                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 335      ,"LEFT   = Previous Event");
     243                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 350      ,"RIGHT  = Next     Event");
     244                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 375      ,"UP     = Increase Rotation");
     245                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 390      ,"DOWN   = Decrease Rotation");
     246
     247                Fonts->Font_Fixed_9_by_15->glPrint(500,WINDOW_HEIGHT - 375      ,"PAGE UP   = Previous VisFile");
     248                Fonts->Font_Fixed_9_by_15->glPrint(500,WINDOW_HEIGHT - 390      ,"PAGE DOWN = Next     VisFile");
     249
     250                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 425      ,"p      = Zoom In");
     251                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 440      ,"m      = Zoom Out");
     252                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 455      ,"f      = Maximize the active view");
     253                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 470      ,"s      = SlideShow      : ON/OFF");
     254                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 485      ,"t      = TreeMenu       : ON/OFF");
     255
     256                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 515   ,"ENTER  = Screenshot");
     257                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 530   ,"SPACE  = Rotation       : ON/OFF");
     258                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 545   ,"ESCAPE = Exit");
     259                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 560   ,"q      = Exit");
     260                Fonts->Font_Fixed_9_by_15->glPrint(150,WINDOW_HEIGHT - 575   ,"a      = Full Screen");
    243261               
    244262                Fonts->Font_Fixed_9_by_15->glPrint(120,3,"This program has been created by Loic Quertenmont, loic.quertenmont@cern.ch");               
     
    334352// if required by the variable updateVisFileTime
    335353
    336 #ifdef linux       
    337         if( updateVisFileTime>0 && !Thread_Run) {
    338                 char* argtosend = (char*)inputVisFileFromCard.c_str();
    339                 if (pthread_create (&Thread_H, NULL, DownLoadFile, (void*)argtosend) < 0) {
    340                    printf("pthread_create error for Thread_H\n");
    341                    exit (1);
    342                 }               
    343                 Thread_Run=true;
    344         }
    345 
    346         static time_t upstart = time (NULL );
    347         time_t upstop = time( NULL );
    348         if(upstop - upstart > updateVisFileTime && Thread_Run) {
    349                 (void)pthread_join (Thread_H, NULL);
    350 
    351                 Thread_Run=false;
    352                 glutDisplayFunc (Loading);
    353                 glutIdleFunc    (Loading);
    354 
    355                 mLoading_I = 30;
    356                 mLoading   = true;
    357                 start = time ( NULL );
    358         }
    359 #elif macos
    360         if( updateVisFileTime>0 && !Thread_Run) {
    361                 char* argtosend = (char*)inputVisFileFromCard.c_str();
    362                 if (pthread_create (&Thread_H, NULL, DownLoadFile, (void*)argtosend) < 0) {
    363                    printf("pthread_create error for Thread_H\n");
    364                    exit (1);
    365                 }               
    366                 Thread_Run=true;
    367         }
    368 
    369         static time_t upstart = time (NULL );
    370         time_t upstop = time( NULL );
    371         if(upstop - upstart > updateVisFileTime && Thread_Run) {
    372                 (void)pthread_join (Thread_H, NULL);
    373 
    374                 Thread_Run=false;
    375                 glutDisplayFunc (Loading);
    376                 glutIdleFunc    (Loading);
    377 
    378                 mLoading_I = 30;
    379                 mLoading   = true;
    380                 start = time ( NULL );
    381         }
    382 #else   
     354/*
     355#ifdef windows       
    383356        if( updateVisFileTime>0 && !Thread_Run) {
    384357                char* argtosend = (char*)inputVisFileFromCard.c_str();
     
    408381                upstart = time (NULL );
    409382        }
     383#else
     384        if( updateVisFileTime>0 && !Thread_Run) {
     385                char* argtosend = (char*)inputVisFileFromCard.c_str();
     386                if (pthread_create (&Thread_H, NULL, DownLoadFile, (void*)argtosend) < 0) {
     387                   printf("pthread_create error for Thread_H\n");
     388                   exit (1);
     389                }               
     390                Thread_Run=true;
     391        }
     392
     393        static time_t upstart = time (NULL );
     394        time_t upstop = time( NULL );
     395        if(upstop - upstart > updateVisFileTime && Thread_Run) {
     396                (void)pthread_join (Thread_H, NULL);
     397
     398                Thread_Run=false;
     399                glutDisplayFunc (Loading);
     400                glutIdleFunc    (Loading);
     401
     402                mLoading_I = 30;
     403                mLoading   = true;
     404                start = time ( NULL );
     405        }
     406
    410407#endif
    411 
     408*/
    412409
    413410}
     
    424421                        break;
    425422                case 13 :{                     
    426                         char temp[255]; sprintf(temp,"screenshot%02i.%s",SCREENSHOT,SCREENSHOT_FORMAT);                 
     423                        char temp[255]; sprintf(temp,"%s%02i.%s",ScreenShotName,SCREENSHOT,SCREENSHOT_FORMAT);                 
    427424                        SaveScreenshot(temp,WINDOW_WIDTH,WINDOW_HEIGHT, displayForScreenShot );                 
    428425                        SCREENSHOT++;
     
    439436                case 'r' :
    440437        case 'R' :
    441             LoadCard("config.txt");
     438            LoadCard(inputConfig.c_str());
    442439/*                      geom->updateGeomToDisplay(Card);
    443440                        events->prim->setDisplay(0);
     
    586583                        }
    587584                        break;
     585
     586                case GLUT_KEY_PAGE_UP :
     587                        events->NextFile();
     588                        event = events->GoToEvent(0);
     589                        break;
     590                case GLUT_KEY_PAGE_DOWN :
     591                        events->PreviousFile();
     592                        event = events->GoToEvent(0);
     593                        break;
     594
    588595                case GLUT_KEY_HOME :
    589596                        if(ViewMain->Type_==VIEW3D)     ViewMain->cam_->Reset();                       
     
    681688        ViewMain->Display_Begin();
    682689
    683         GLuint buff[256] = {0};
     690        GLuint buff[1024] = {0};
    684691        GLint hits, view[4];
    685692
    686         glSelectBuffer(256, buff);
     693        glSelectBuffer(1024, buff);
    687694        glGetIntegerv(GL_VIEWPORT, view);
    688695        glRenderMode(GL_SELECT);
     
    693700        glPushMatrix();
    694701                glLoadIdentity();
    695                 gluPickMatrix(x-2, y-2, 4.0, 4.0, view);                       
     702                gluPickMatrix(x-4, y-4, 8.0, 8.0, view);                       
    696703                ViewMain->ProjectionMatrix();
    697704                glMatrixMode(GL_MODELVIEW);
     
    723730        for (i = 0; (int)i < hits; i++) {
    724731                unsigned int tmp = names[i * 4 + 3];
    725                 //printf("--> %i > %i\n",i,tmp);               
     732                //printf("--> %i/%i > %i\n",i,hits,tmp);               
    726733                if(i == NearestHit && tmp!=0){                         
    727734                        if(tmp>1000000){
     
    734741 }
    735742
    736 void LoadCard(const char* inputCard ) {
     743void LoadCard(const char* inputCard ){
    737744        if(Card)delete Card;
    738         Card = new FROG_ReadCards(inputCard);
    739        
     745        Card = new FROG_ReadCards(AbsolutePath.c_str(),inputCard);
     746               
    740747        Card->GetInt  (&updateVisFileTime   , "updateVisFileTime");     
    741748
     
    745752
    746753        Card->GetChar (SCREENSHOT_FORMAT,256, "Screenshot_Format");
     754        Card->GetChar (ScreenShotName,1024  , "Screenshot_Name");
    747755
    748756        Card->GetColor(BackGround_Color     , "BackGround_Color");
     
    778786        }
    779787        if(!mAutomaticShooter){                         
    780                 if(eventTime>0)glutTimerFunc(1+eventTime*1000,AutomaticEventChanging, 0);       
     788                if(eventTime>=0)glutTimerFunc(1+eventTime*1000,AutomaticEventChanging, 0);     
    781789        }else{         
    782790                if(mAutomaticShooter_LastEvent == events->Current_Event){
     
    788796
    789797        EventI++;
    790         if(event && events)printf("%8u | Run %4i Event %4i | Event %4i in File Containing %4i Events\n",EventI,event->NRun_,event->NEvent_,events->Current_Event, (int)events->NumberOfEvents()-1);
     798        if(event && events)printf("%8u | Run %4i Event %4i | Event %4i in File Containing %4i Events\n",EventI,event->NRun_,event->NEvent_,events->Current_Event, (int)events->NumberOfEvents());
    791799}
    792800
     
    794802int main (int argc, char *argv[])
    795803{       
    796         #ifdef linux
    797         #elif macos
    798 
    799     #else
    800                 string ExePath = string(argv[0]);
    801                 unsigned int n = ExePath.rfind("frog");
    802                 ExePath = ExePath.substr(0,n);
    803 
    804                 USES_CONVERSION;
    805                 if(SetCurrentDirectory(A2W(ExePath.c_str()))==0){
    806                         printf("Was not able to change directory to %s\n",ExePath.c_str());
    807                 }
    808     #endif
     804        string ExePath = string(argv[0]);
     805        unsigned int n = ExePath.rfind("frog");
     806        AbsolutePath = ExePath.substr(0,n);
    809807
    810808       
     
    821819                if(      strcmp(LowCase,"-shooter"                               )==0){SHOOTER          = true;
    822820                }else if(strcmp(LowCase,"-s"                                     )==0){SCREENSAVER      = true;
    823                 }else if(len>=4 && strcmp(LowCase+len-4,".vis"   )==0){inputVisFileFromCard = string(argv[i]);
    824                 }else if(len>=7 && strcmp(LowCase+len-7,".vis.gz")==0){inputVisFileFromCard = string(argv[i]);
     821                }else if(strcmp(LowCase,"-v"                                     )==0){
     822                        printf("Fast and Realistic OpenGl Event Display : FROG\n");
     823                        printf("Version      : %6.3f of %s\n",FROG_VERSION,__DATE__);
     824                        printf("Authors List : \n");
     825                        printf("%s\n",FROG_AUTHORLIST);
     826                        exit(0);
     827                }else if(strcmp(LowCase,"-c"                                     )==0 && i+1<argc){
     828                        i++;    inputConfig = string(argv[i]);
     829                }else if(len>=4 && strcmp(LowCase+len-4,".vis"   )==0){inputVisFileFromCommand.push_back(string(argv[i]));
     830                }else if(len>=7 && strcmp(LowCase+len-7,".vis.gz")==0){inputVisFileFromCommand.push_back(string(argv[i]));
    825831                }else{
    826832                        printf("\n");
    827                         printf("######################################################################\n");
    828                         printf("#                 http://projects.hepforge.org/frog/                 #\n");
    829                         printf("#   Please have a look at the website for latest versions and news   #\n");
    830                         printf("# Also register to the Frog mailing list if you are not a member yet #\n");                     
    831                         printf("######################################################################\n");
    832                         printf("#                             HELP SCREEN                            #\n");
    833                         printf("######################################################################\n");
    834                         printf("#  Supported Commands are :                                          #\n");
    835                         printf("#  filename.vis        --> open the file : filename.vis              #\n");
    836                         printf("#  filename.vis.gz     --> open the file : filename.vis.gz           #\n");
    837                         printf("#  -help               --> Print this screen                         #\n");
    838                         printf("#  -s                  --> ScreenSaver Mode                          #\n");
    839                         printf("#  -shooter            --> Scan events, make a screenshot and exit   #\n");
    840                         printf("######################################################################\n");
    841                         printf("\n");
     833                        printf("#######################################################################\n");
     834                        printf("#                  http://projects.hepforge.org/frog/                 #\n");
     835                        printf("#   Please have a look at the website for latest versions and news    #\n");
     836                        printf("# Also register to the Frog mailing list if you are not a member yet  #\n");                   
     837                        printf("#######################################################################\n");
     838                        printf("#                             HELP SCREEN                             #\n");
     839                        printf("#######################################################################\n");
     840                        printf("#  Supported Commands are :                                           #\n");
     841                        printf("#  filename.vis        --> open the file : filename.vis               #\n");
     842                        printf("#  filename.vis.gz     --> open the file : filename.vis.gz            #\n");
     843                        printf("#  -help               --> Print this screen                          #\n");
     844                        printf("#  -v                  --> Print Version and Other Info               #\n");
     845                        printf("#  -s                  --> ScreenSaver Mode                           #\n");
     846                        printf("#  -c <config.txt>     --> Specify the Frog Configuration Card to use #\n");
     847                        printf("#  -shooter            --> Scan events, make a screenshot and exit    #\n");
     848                        printf("#######################################################################\n");
     849                        printf("\n");                   
    842850                        exit(0);
    843851                }
     
    854862
    855863        // Charge le logo en mémoire
    856         LoadTexture((unsigned int*)&LogoTexture     ,"Resources/Frog_Logo.png");
    857         LoadTexture((unsigned int*)&LogoTxtTexture  ,"Resources/Frog_LogoTxt.png");
     864        LoadTexture((unsigned int*)&LogoTexture     ,FROG_PATH::GetGlobalPath("Resources/Frog_Logo.png"   ,AbsolutePath.c_str()).c_str());
     865        LoadTexture((unsigned int*)&LogoTxtTexture  ,FROG_PATH::GetGlobalPath("Resources/Frog_LogoTxt.png",AbsolutePath.c_str()).c_str());
    858866
    859867        // initialisation des fonctions callback appelées par glut
     
    864872        glutIdleFunc    (Loading);
    865873
    866         // here are the new entries
    867         glutKeyboardFunc (processNormalKeys);
    868         glutSpecialFunc  (processSpecialKeys);
    869  
    870         glutMouseFunc(processMouse);
    871         glutMotionFunc(processMotion);
    872         if(SCREENSAVER){
    873                 eventTime = 20;
    874                 glutPassiveMotionFunc(processPassiveMotion);           
    875                 glutFullScreen();
    876         }
    877874       
    878875        // initialisation of GLEW (OpenGL Extension Wrangler Library)
  • trunk/Utilities/FROG/main.h

    r95 r100  
    77#define _MAIN_H__
    88
    9 #define FROG_VERSION 1.105
     9#define FROG_VERSION 1.106
    1010#define FROG_AUTHORLIST "Loic.Quertenmont@cern.ch\nVincent.Roberfroid@cern.ch"
    1111
     
    8989GLuint LogoTxtTexture;
    9090
     91char ScreenShotName[1024] = {"screenshot"};
     92std::string AbsolutePath;
     93std::string inputConfig = "config.txt";
    9194std::string inputVisFile;
    9295std::string inputVisFileFromCard;
     96std::vector<string> inputVisFileFromCommand;
    9397std::vector<std::string> inputGeom;
    9498
     
    151155void displayForScreenShot();
    152156void displaytext();
     157void processNormalKeys(unsigned char key, int x, int y);
     158void processSpecialKeys(int key, int x, int y) ;
     159void processMouse(int button, int state, int x, int y);
     160void processMotion(int x, int y);
     161void processPassiveMotion(int x, int y);
    153162
    154163void LoadCard(const char* inputCard );
     
    161170void updateEventsFile();
    162171
    163 
    164172#endif
    165173
Note: See TracChangeset for help on using the changeset viewer.