globle int OpenBatch( void *theEnv, char *fileName, int placeAtEnd) { FILE *theFile; /*======================*/ /* Open the batch file. */ /*======================*/ theFile = GenOpen(theEnv,fileName,"r"); if (theFile == NULL) { OpenErrorMessage(theEnv,"batch",fileName); return(FALSE); } /*============================*/ /* Create the batch router if */ /* it doesn't already exist. */ /*============================*/ if (FileCommandData(theEnv)->TopOfBatchList == NULL) { EnvAddRouter(theEnv,"batch", 20, FindBatch, NULL, GetcBatch, UngetcBatch, ExitBatch); } /*====================================*/ /* Add the newly opened batch file to */ /* the list of batch files opened. */ /*====================================*/ AddBatch(theEnv,placeAtEnd,(void *) theFile,FILE_BATCH,NULL); /*===================================*/ /* Return TRUE to indicate the batch */ /* file was successfully opened. */ /*===================================*/ return(TRUE); }
bool OpenStringBatch( Environment *theEnv, const char *stringName, const char *theString, bool placeAtEnd) { if (OpenStringSource(theEnv,stringName,theString,0) == false) { return false; } if (FileCommandData(theEnv)->TopOfBatchList == NULL) { AddRouter(theEnv,"batch", 20, QueryBatchCallback,NULL, ReadBatchCallback,UnreadBatchCallback, ExitBatchCallback,NULL); } AddBatch(theEnv,placeAtEnd,NULL,stringName,STRING_BATCH,theString,NULL); return true; }
globle int OpenStringBatch( void *theEnv, char *stringName, char *theString, int placeAtEnd) { if (OpenStringSource(theEnv,stringName,theString,0) == 0) { return(0); } if (FileCommandData(theEnv)->TopOfBatchList == NULL) { EnvAddRouter(theEnv,"batch", 20, FindBatch, NULL, GetcBatch, UngetcBatch, ExitBatch); } AddBatch(theEnv,placeAtEnd,(void *) stringName,STRING_BATCH,theString); return(1); }
bool OpenBatch( Environment *theEnv, const char *fileName, bool placeAtEnd) { FILE *theFile; /*======================*/ /* Open the batch file. */ /*======================*/ theFile = GenOpen(theEnv,fileName,"r"); if (theFile == NULL) { OpenErrorMessage(theEnv,"batch",fileName); return false; } /*============================*/ /* Create the batch router if */ /* it doesn't already exist. */ /*============================*/ if (FileCommandData(theEnv)->TopOfBatchList == NULL) { AddRouter(theEnv,"batch",20,QueryBatchCallback,NULL, ReadBatchCallback,UnreadBatchCallback, ExitBatchCallback,NULL); } /*===============================================================*/ /* If a batch file is already open, save its current line count. */ /*===============================================================*/ if (FileCommandData(theEnv)->TopOfBatchList != NULL) { FileCommandData(theEnv)->TopOfBatchList->lineNumber = GetLineCount(theEnv); } #if (! RUN_TIME) && (! BLOAD_ONLY) /*========================================================================*/ /* If this is the first batch file, remember the prior parsing file name. */ /*========================================================================*/ if (FileCommandData(theEnv)->TopOfBatchList == NULL) { FileCommandData(theEnv)->batchPriorParsingFile = CopyString(theEnv,GetParsingFileName(theEnv)); } /*=======================================================*/ /* Create the error capture router if it does not exist. */ /*=======================================================*/ SetParsingFileName(theEnv,fileName); SetLineCount(theEnv,0); CreateErrorCaptureRouter(theEnv); #endif /*====================================*/ /* Add the newly opened batch file to */ /* the list of batch files opened. */ /*====================================*/ AddBatch(theEnv,placeAtEnd,theFile,NULL,FILE_BATCH,NULL,fileName); /*===================================*/ /* Return true to indicate the batch */ /* file was successfully opened. */ /*===================================*/ return true; }
void ListAgent::MessageReceived (BMessage *msg) { switch (msg->what) { case M_THEME_FONT_CHANGE: { int32 which (msg->FindInt16 ("which")); if (which == F_LISTAGENT) { activeTheme->ReadLock(); listView->SetFont (B_FONT_ROW, &activeTheme->FontAt (F_LISTAGENT)); activeTheme->ReadUnlock(); listView->Invalidate(); } } break; case M_THEME_FOREGROUND_CHANGE: { int32 which (msg->FindInt16 ("which")); bool refresh (false); switch (which) { case C_BACKGROUND: activeTheme->ReadLock(); listView->SetColor (B_COLOR_BACKGROUND, activeTheme->ForegroundAt (C_BACKGROUND)); activeTheme->ReadUnlock(); refresh = true; break; case C_TEXT: activeTheme->ReadLock(); listView->SetColor (B_COLOR_TEXT, activeTheme->ForegroundAt (C_TEXT)); activeTheme->ReadUnlock(); refresh = true; break; case C_SELECTION: activeTheme->ReadLock(); listView->SetColor (B_COLOR_SELECTION, activeTheme->ForegroundAt (C_SELECTION)); activeTheme->ReadUnlock(); refresh = true; break; default: break; } if (refresh) Invalidate(); } break; case M_STATUS_ADDITEMS: { vision_app->pClientWin()->pStatusView()->AddItem (new StatusItem (S_STATUS_LISTCOUNT, ""), true); vision_app->pClientWin()->pStatusView()->AddItem (new StatusItem (S_STATUS_LISTSTAT, ""), true); vision_app->pClientWin()->pStatusView()->AddItem (new StatusItem (S_STATUS_LISTFILTER, "", STATUS_ALIGN_LEFT), true); BString cString; cString << listView->CountRows(); vision_app->pClientWin()->pStatusView()->SetItemValue (0, cString.String(), false); vision_app->pClientWin()->pStatusView()->SetItemValue (1, statusStr.String(), false); vision_app->pClientWin()->pStatusView()->SetItemValue (2, filter.String(), true); } break; case M_LIST_COMMAND: { if (!processing) { BMessage sMsg (M_SERVER_SEND); BString command ("LIST"); BString params (msg->FindString ("cmd")); if (params != "-9z99") { command.Append (" "); command.Append (params); } sMsg.AddString ("data", command.String()); fSMsgr->SendMessage (&sMsg); processing = true; if (!IsHidden()) vision_app->pClientWin()->pStatusView()->SetItemValue (0, "0", true); } } break; case M_LIST_BEGIN: { BMessage msg (M_LIST_UPDATE); listUpdateTrigger = new BMessageRunner (BMessenger(this), &msg, 3000000); statusStr = S_LIST_STATUS_LOADING; if (!IsHidden()) vision_app->pClientWin()->pStatusView()->SetItemValue (1, statusStr.String(), true); } break; case M_LIST_DONE: { if (listUpdateTrigger) { delete listUpdateTrigger; listUpdateTrigger = 0; } statusStr = S_LIST_STATUS_DONE; listView->SetSortingEnabled (true); listView->SetSortColumn (channelColumn, true, true); if (!IsHidden()) vision_app->pClientWin()->pStatusView()->SetItemValue (1, statusStr.String(), true); mFind->SetEnabled (true); mFindAgain->SetEnabled (true); mFilter->SetEnabled (true); processing = false; // empty out any remaining channels that fell below the batch cut off AddBatch(); BString cString; cString << listView->CountRows(); if (!IsHidden()) vision_app->pClientWin()->pStatusView()->SetItemValue (0, cString.String(), true); } break; case M_LIST_EVENT: { const char *channel, *users, *topic; msg->FindString ("channel", &channel); msg->FindString ("users", &users); msg->FindString ("topic", &topic); BRow *row (new BRow ()); BStringField *channelField (new BStringField (channel)); BIntegerField *userField (new BIntegerField (atoi(users))); BStringField *topicField (new BStringField (topic)); row->SetField (channelField, channelColumn->LogicalFieldNum()); row->SetField (userField, usersColumn->LogicalFieldNum()); row->SetField (topicField, topicColumn->LogicalFieldNum()); fBuildList.AddItem (row); if (fBuildList.CountItems() == LIST_BATCH_SIZE) AddBatch(); } break; #ifdef __INTEL__ case M_LIST_FILTER: if (msg->HasString ("text")) { const char *buffer; msg->FindString ("text", &buffer); if (filter != buffer) { filter = buffer; if (!IsHidden()) vision_app->pClientWin()->pStatusView()->SetItemValue (2, filter.String(), true); regfree (&re); memset (&re, 0, sizeof (re)); regcomp ( &re, filter.String(), REG_EXTENDED | REG_ICASE | REG_NOSUB); BRow *currentRow; BStringField *channel, *topic; while (hiddenItems.CountItems() != 0) { currentRow = hiddenItems.RemoveItemAt (0L); listView->AddRow (currentRow); } if (filter != NULL) { int32 k (0); while (k < listView->CountRows()) { currentRow = listView->RowAt (k); channel = (BStringField *)currentRow->GetField (0); topic = (BStringField *)currentRow->GetField (2); if ((regexec (&re, channel->String(), 0, 0, 0) != REG_NOMATCH) || (regexec (&re, topic->String(), 0, 0, 0) != REG_NOMATCH)) { k++; continue; } else { listView->RemoveRow (currentRow); hiddenItems.AddItem (currentRow); } } } fMsgr.SendMessage (M_LIST_DONE); processing = true; } } else { PromptWindow *prompt (new PromptWindow ( BPoint ((Window()->Frame().right/2) - 100, (Window()->Frame().bottom/2) - 50), " Filter:", "List Filter", filter.String(), this, new BMessage (M_LIST_FILTER), new RegExValidate ("Filter"), true)); prompt->Show(); } break; case M_LIST_FIND: if (msg->HasString ("text")) { int32 selection (listView->IndexOf(listView->CurrentSelection())); const char *buffer; msg->FindString ("text", &buffer); if (strlen (buffer) == 0) { find = buffer; break; } if (selection < 0) { selection = 0; } else { ++selection; } if (find != buffer) { regfree (&fre); memset (&fre, 0, sizeof (fre)); regcomp ( &fre, buffer, REG_EXTENDED | REG_ICASE | REG_NOSUB); find = buffer; } BStringField *field; int32 i; for (i = selection; i < listView->CountRows(); ++i) { field = (BStringField *)listView->RowAt (i)->GetField (0); if (regexec (&fre, field->String(), 0, 0, 0) != REG_NOMATCH) break; } if (i < listView->CountRows()) { BRow* row = listView->RowAt (i); listView->DeselectAll(); listView->AddToSelection (row); listView->ScrollTo(row); listView->Refresh(); } else { listView->DeselectAll(); } } else { PromptWindow *prompt (new PromptWindow ( BPoint ((Window()->Frame().right / 2) - 100, (Window()->Frame().bottom/2) - 50), S_LIST_PROMPT_LABEL, S_LIST_PROMPT_TITLE, find.String(), this, new BMessage (M_LIST_FIND), new RegExValidate ("Find:"), true)); prompt->Show(); } break; case M_LIST_FAGAIN: if (find.Length()) { msg->AddString ("text", find.String()); msg->what = M_LIST_FIND; fMsgr.SendMessage (msg); } break; #endif case M_LIST_INVOKE: { BMessage msg (M_SUBMIT); BString buffer; BRow *row (listView->CurrentSelection()); if (row) { buffer = "/JOIN "; buffer += ((BStringField *)row->GetField(0))->String(); msg.AddBool ("history", false); msg.AddBool ("clear", false); msg.AddString ("input", buffer.String()); fSMsgr->SendMessage (&msg); } } break; case M_CLIENT_QUIT: { fSMsgr->SendMessage(M_LIST_SHUTDOWN); BMessage deathchant (M_OBITUARY); deathchant.AddPointer ("agent", this); deathchant.AddPointer ("item", fAgentWinItem); vision_app->pClientWin()->PostMessage (&deathchant); } break; default: BView::MessageReceived (msg); } }
int main (int argc, char *argv[]) { /* if(argc < 2) { printf("manque arg"); } else { if(argc >= 3) { */ //deux argument:= 1er grey pour la fonction et le deuxième un nom d'image :appeler if((strcmp(argv[1],"grey"))==0) { /* SDL_Surface *surface=IMG_Load(argv[2]); goToGrey(surface);*/ example* arr; image *tab = malloc(797*sizeof(image)); arr=weightImage(tab, 797, 797); float tab1[4]={-972.0,-1.0,0.222619,24.0}; float tab2[4]={3564.0,1.0,0.204066,24.0}; float tab3[4]={-1165.5,-1.0,0.198428,21.0}; float tab4[4]={1310.0,1.0,0.209290,20.0}; float tab5[4]={751.5,1.0,0.199548,9.0}; float tab6[4]={1190.0,1.0,0.204657,20.0}; float tab7[4]={8061.5,1.0,0.178388,23.0}; float tab8[4]={-504.0,-1.0,0.214318,16.0}; float tab9[4]={-4092.0,-1.0,0.170897,24.0}; float tab10[4]={-298.5,-1.0,0.178046,3.0}; float tab11[4]={6309.0,1.0,0.144317,18.0}; float tab12[4]={143.5,1.0,0.157750,7.0}; float tab13[4]={4826.0,1.0,0.248784,38.0}; float tab14[4]={-4212.0,-1.0,0.181252,24.0}; float tab15[4]={-1092.0,-1.0,0.191624,24.0}; float tab16[4]={8412.0,1.0,0.109095,24.0}; float tab17[4]={112.5,1.0,0.104319,3.0}; float tab18[4]={-175.5,-1.0,0.166597,1.0}; float tab19[4]={4109.0,1.0,0.140488,42.0}; float tab20[4]={3173.0,1.0,0.158814,38.0}; float tab21[4]={1914.0,1.0,0.133727,12.0}; float tab22[4]={13.0,1.0,0.158362,2.0}; float tab23[4]={262.5,1.0,0.149735,5.0}; //evaluation prend en param: example *arr, int i(ieme image) // creer nb = nbligne dans fichier ,tab, lis dans le fichier et le remplis (avec serateurs...) // creer float = tab[4] * evaluate(tab, arr[i].feat[tab[3]]) for(int z=0;z<797;z++) {float a=0.630079*evaluate(tab1,arr[z].feat[81095]); float b=0.692751*evaluate(tab2,arr[z].feat[103319]); float c=0.702541*evaluate(tab3,arr[z].feat[81556]); float d=0.672720*evaluate(tab4,arr[z].feat[105231]); float e=0.699813*evaluate(tab5,arr[z].feat[109008]); float f=0.685823*evaluate(tab6,arr[z].feat[105342]); float g=0.772684*evaluate(tab7,arr[z].feat[99628]); float h=0.654340*evaluate(tab8,arr[z].feat[85502]); float i=0.796683*evaluate(tab9,arr[z].feat[77819]); float j=0.770885*evaluate(tab10,arr[z].feat[72880]); float k=0.900025*evaluate(tab11,arr[z].feat[99926]); float l=0.843853*evaluate(tab12,arr[z].feat[110235]); float m=0.557756*evaluate(tab13,arr[z].feat[99462]); float n=0.756812*evaluate(tab14,arr[z].feat[77819]); float o=0.726207*evaluate(tab15,arr[z].feat[77771]); float p=1.068905*evaluate(tab16,arr[z].feat[99467]); float q=1.084687*evaluate(tab17,arr[z].feat[110324]); float r=0.804995*evaluate(tab18,arr[z].feat[72632]); float s=0.915483*evaluate(tab19,arr[z].feat[95971]); float t=0.840918*evaluate(tab20,arr[z].feat[99757]); float u=0.943950*evaluate(tab21,arr[z].feat[106812]); float v=0.840947*evaluate(tab22,arr[z].feat[110893]); float w=0.881422*evaluate(tab23,arr[z].feat[108866]); printf("%f\n",a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w);} } // 2 argument:= 1er integral pour la fonction et le deuxième un nom d'image:appeler if((strcmp(argv[1],"integral"))==0) { SDL_Surface *surface=IMG_Load(argv[2]); int **arr= Integral(surface); printf("%d\n%d\n", getpixel(surface,0,0), getpixel(surface,0,1)); printf("%d\n",arr[0][1]); } //2 argument:= 1er haar pour la fonction et le deuxième un nom d'image:appeler if((strcmp(argv[1],"haar"))==0) { /*SDL_Surface *surface=IMG_Load(argv[2]); feature *q=haarr2(surface); if(argc==4) {printf("Le caractéristique %d vaut %d\n",atoi(argv[3]),(q[atoi(argv[3])]).res);}*/ eval(); } //2 argument 1er decision 2eme entier i: appeler if((strcmp(argv[1],"decision"))==0) { example* arr; image *tab = malloc(797*sizeof(image)); arr=weightImage(tab, 797, 797); quickSort(arr,0,796,atoi(argv[2])); float *t=decision(arr,(atoi(argv[2])),796); printf("%f|",t[0]); printf("%f|",t[1]); printf("%f|",t[2]); printf("%f|",t[3]); printf("%f|",t[4]); printf("\n"); } //2 argument adaboost pour la fonction entier T pour le nombre de tour:appeler if((strcmp(argv[1],"adaboost"))==0) { example* arr; image *tab = malloc(797*sizeof(image)); arr=weightImage(tab, 797, 797); adaboost(arr,atoi(argv[2]),320); } // if(argc == 2) // { //1 argument 1er image pour la fonction:appeler if((strcmp(argv[1],"image"))==0) { example* arr; image *tab = malloc(797*sizeof(image)); arr=weightImage(tab, 797, 797); } /* } if(argc > 2) { */ if(strcmp(argv[1], "bd") == 0) { CharacterInfo *c = NULL; c= ArrayData(); char *a = "jerome", *b = "guillaume", *e= "valentin", *d = NULL; char **tab = malloc(4 * sizeof(a)); tab[0] = a; tab[1] = b; tab[2] = e; tab[3] = d; printf("enter\n\n\n"); if(strcmp(argv[2],"-add")==0) { printf("addddddddddddddddddd!"); c=AddInfo(c, argv[3]); } if(strcmp(argv[2],"-addBatch")==0) { c=AddBatch(c, tab); } if(strcmp(argv[2], "-remove")==0) { c=RemoveInfo(c, argv[3]); } if(strcmp(argv[2] , "-modif")==0) { ModifInfo(c, argv[3], argv[4]); } if(strcmp(argv[2], "-ls")==0) { ShowList(c); } /* } } else { printf("erreur arg"); } }*/ } return 0; }
void vsRenderQueue::AddFragmentBatch( vsFragment *fragment ) { AddBatch( fragment->GetMaterial(), GetMatrix(), fragment->GetDisplayList() ); }