Changeset 1919 in Sophya
- Timestamp:
- Mar 6, 2002, 5:46:47 PM (24 years ago)
- Location:
- trunk/SophyaPI/PIGcont
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIGcont/picntools.cc
r1905 r1919 531 531 t_contour_levels_kind lvkind = dr->GetCntLevelKind() ; 532 532 for (ii=0 ; ii<4 ; ii++) 533 if( crbe_algo[ii]==kind)533 if(lev_kind[ii]==lvkind) 534 534 {mOpt[9]->SetValue(910+ii); break;} 535 535 … … 538 538 sprintf(txt,"%d",nlv); 539 539 mTxt[0]->SetText(txt); 540 // cout << " nlv "<<nlv<< endl; 540 541 541 if(dr->Levels()!=NULL){ 542 542 string strg=" "; 543 543 for(int kk=0 ; kk<nlv ; kk++) { 544 cout << " dr->Level("<<kk<<") "<<endl;544 //cout << " dr->Level("<<kk<<") "<<endl; 545 545 cout <<dr->Level(kk)<<endl; 546 sprintf(txt,"%g",dr->Level(kk)); 546 if (kk!=nlv-1) 547 sprintf(txt,"%g ,",dr->Level(kk)); 548 else 549 sprintf(txt,"%g",dr->Level(kk)); 550 547 551 strg += txt; 548 552 } … … 569 573 int k,ii,jj,kk; 570 574 571 k = mOpt[8]->GetValue()-900; // type de ligne575 k = mOpt[8]->GetValue()-900; // type de contour 572 576 dr->SetCntKind(crbe_algo[k]); 573 577 … … 576 580 577 581 string str=mTxt[0]->GetText(); 582 578 583 ii=atoi(str.c_str()); 579 dr->SetNLevel(ii); 584 if(ii>0) 585 dr->SetNLevel(ii); 586 else 587 cerr<< " PICnTools::SetCalcParm ERREUR noombre de contours <=0 "<<ii<<endl; 580 588 char *buff; 581 589 char *tmp; 582 590 str=mTxt[1]->GetText(); 591 583 592 buff=strdup(str.c_str()); 584 593 double * zlev=NULL; … … 587 596 zlev = new double[2]; 588 597 tmp = strtok(buff,","); 598 if(tmp ==NULL) { 599 cerr<< " PICnTools::SetCalcParm ERREUR decodage des niveaux impossible avec " << buff <<endl; 600 return; 601 } 589 602 zlev[0] = atof(tmp); 603 590 604 tmp = strtok(NULL,","); 605 if(tmp ==NULL) { 606 cerr<< " PICnTools::SetCalcParm ERREUR decodage des niveaux impossible avec " << buff <<endl; 607 return; 608 } 591 609 zlev[1]= atof(tmp); 592 610 dr->SetMyLevels(zlev,2); … … 596 614 zlev = new double[ii]; 597 615 tmp = strtok(buff,","); 616 if(tmp ==NULL) { 617 cerr<< " PICnTools::SetCalcParm ERREUR decodage des niveaux impossible dans " << buff <<endl; 618 return; 619 } 620 int cntr = 0; 598 621 for(jj=0 ; jj<ii ; jj++){ 599 622 zlev[jj]= atof(tmp); 600 cout << " jj "<<zlev[jj]<<endl; 601 tmp = strtok(NULL,","); 623 cntr++; 624 //cout << " jj "<<zlev[jj]<<endl; 625 tmp = strtok(NULL,"," ); 626 if(tmp == NULL) { 627 628 break; 629 } 630 cout << " tmp = <"<<tmp<<"<"<<endl; 631 632 } 633 if(cntr<ii) { 634 cerr<< " PICnTools::SetCalcParm ERREUR decodage des niveaux "<<cntr 635 <<" trouves sur "<<ii<<" dans " << buff <<endl; 636 return; 637 602 638 } 603 639 dr->SetMyLevels(zlev,ii); … … 605 641 606 642 607 } 643 } 608 644 609 645 // -
trunk/SophyaPI/PIGcont/pigncont.cc
r1905 r1919 1 // This may look like C code, but it is really -*- C++ -*- 2 // Classe d'interface avec le code de GNUplot 3 // pour calculer les contours & classe de trace de contours 4 // O. Perdereau 5 // LAL (Orsay) / IN2P3-CNRS DAPNIA/SPP (Saclay) / CEA 6 1 7 #include "machdefs.h" 2 8 #include <stdio.h> … … 16 22 #include <sys/resource.h> 17 23 18 /* A virer ?? Reza 21/12/2001 19 static TBOOLEAN multiplot; 20 static double zero =0; 21 static TBOOLEAN fg_polar; 22 static int xleft, xright, ybot, ytop; 23 static float xsize; 24 static float ysize; 25 static float xoffset, yoffset; 26 */ 24 //++ 25 // Class GNUPlotContour 26 // Lib PIGcont 27 // include pigncont.h 28 // 29 // Classe d'interface avec le code de GNUplot qui calcule les courbes de niveaux 30 // GNUplot part d'une grille (structure iso_curve) qui est remplie par les 31 // createurs 32 // Les parametres du calcul sont modifiable a partir de la fenetre d'options 33 // du traceur de contour (classe PIContourDrawer) 34 // Options (reconnues dans un enum t_contour_kind dans GNUplot) 35 // 1) nombre de courbes et et niveaux determines automatiquement par le programme (defaut) 36 // En general, 5 courbes sont tracees LEVELS_AUTO 37 // 38 // 2) nombre de niveaux fixe par l'utilisateur. Les niveaux sont equidistants entre 39 // le min et le max de la surface LEVELS_NUM 40 // 41 // 3) nombre et hauteurs des niveaux fixes par l'utilisateur. Les niveaux sont passes 42 // dans un tableau LEVELS_DISCRETE 43 // 44 // 4) nombre niveau min et ecart entre niveaux fixe par l'utilisateur LEVELS_INCREMENTAL 45 // 46 // Les contours sont traces en interpolant entre les points de la grille. 47 // On peut choisir 3 algorithmes d'interpolation a travers p.ex. les options 48 // de PIContourDrawer 49 // (enum t_contour_levels_kind ds GNUplot) 50 // a) interpolation simple CONTOUR_KIND_LINEAR 51 // b) spline cubique CONTOUR_KIND_CUBIC_SPL 52 // c) B-spline CONTOUR_KIND_BSPLINE 53 // 54 //-- 55 //++ 56 // Links Voir aussi 57 // PIContourDrawer 58 // PIcntools 59 //-- 60 //++ 61 // Titre Constructeurs et Méthodes 62 //-- 63 //++ 64 // GNUPlotContour(struct iso_curve * iso) : 65 // constructeur a partir d'une structure iso_curve 66 // (structure de GNUplot) 67 //-- 68 27 69 28 70 GNUPlotContour::GNUPlotContour(struct iso_curve * iso){ … … 67 109 68 110 111 //++ 112 // GNUPlotContour(NTupleInterface *nt,int *nz=NULL,double *z=NULL,double *dz=NULL): 113 // constructeur a partir d'un NTupleInterface 114 // la structure iso_curve est remplie par le constructeur 115 //Inputs 116 //| NTupleInterface *nt 117 //| double *nz nombre de contours (optionnel) 118 //| double *z tabelau avec les niveaux des contours (optionnel) 119 //| double *dz increment entre contours (optionnel) 120 //-- 69 121 GNUPlotContour::GNUPlotContour(NTupleInterface *nt,int *nz=NULL,double *z=NULL,double *dz=NULL){ 70 122 _xmin = 1.e37; … … 262 314 } 263 315 264 GNUPlotContour::GNUPlotContour(P2DArrayAdapter*arr,int *nz=NULL,double *z=NULL,double *dz=NULL){ 316 //++ 317 // GNUPlotContour(P2DArrayAdapter*arr,int *nz=NULL,double *z=NULL,double *dz=NULL): 318 // constructeur a partir d'un P2DArrayAdapter 319 // la structure iso_curve est remplie par le constructeur 320 //Inputs 321 //| P2DArrayAdapter* arr 322 //| double *nz nombre de contours (optionnel) 323 //| double *z tabelau avec les niveaux des contours (optionnel) 324 //| double *dz increment entre contours (optionnel) 325 //-- 326 327 GNUPlotContour::GNUPlotContour(P2DArrayAdapter* arr,int *nz=NULL,double *z=NULL,double *dz=NULL){ 265 328 _xmin = 1.e37; 266 329 _ymin = 1.e37; … … 353 416 } 354 417 418 419 //++ 420 // ~GNUPlotContour() 421 // 422 // Destructeur 423 // 424 //-- 355 425 GNUPlotContour::~GNUPlotContour(){ 356 426 cout << " destructeur de GNUPlotContour "<<endl; … … 394 464 } 395 465 466 467 //++ 468 // void CalcContour() 469 // Methode de calcul des courbes de niveaux 470 // par appel a la routine de GNUplot 471 // 472 //-- 396 473 void GNUPlotContour::CalcContour(){ 397 474 //cout << " GNUPlotContour::CalcContour(): determination des contours "<<endl; … … 425 502 426 503 427 rcus = getrusage( RUSAGE_SELF , &r_usage);504 //rcus = getrusage( RUSAGE_SELF , &r_usage); 428 505 429 506 //if(rcus==0) … … 474 551 475 552 } 476 //_+_ Methode 553 //++ 554 // void SetMyLevels(double *ptr,int k) 555 // Setting du tableau des niveaux des contours 556 //Inputs 557 //| int k : nombre de niveaux 558 //| double *ptr : adresse du tableau des niveaux 559 //-- 477 560 void 478 561 GNUPlotContour::SetMyLevels(double *ptr,int k){ … … 483 566 } 484 567 485 // Class PIContourDrawer 486 /* --Methode-- */ 568 //++ 569 // Class PIContourDrawer 570 // Lib PIGcont 571 // include pigncont.h 572 // 573 // Classe de traceur de contour qui herite de PIDrawer et de GNUPlotContour 574 // elle gere les options graphiques generales (couleurs, lignes, fontes,...) 575 // les contours peuvent etre traces avec des lignes ou des markers 576 // on peut afficher les valeurs des niveaux des contours 577 // on peut demander a utiliser une table de couleur 578 // tout ca a travers la fenetre de controle associee (PICntools) 579 // 580 // 581 //-- 582 //++ 583 // Links Parents 584 // PIDrawer 585 // GNUPlotContour 586 //-- 587 //++ 588 // Links Voir aussi 589 // PIcntools 590 //-- 591 //++ 592 // Titre Constructeurs et Méthodes 593 //-- 594 //++ 595 // PIContourDrawer(P2DArrayAdapter* arr,bool autodel,int *nz,double *z0,double *dz ) 596 // Constructeur a partir d'un P2DArrayAdapter* - voir le createur de GNUPlotContour 597 // 598 //-- 599 487 600 PIContourDrawer::PIContourDrawer(P2DArrayAdapter* arr,bool autodel,int *nz,double *z0,double *dz ) 488 601 :GNUPlotContour(arr,nz,z0,dz) … … 500 613 } 501 614 615 //++ 616 // PIContourDrawer(NTupleInterface* nti,bool autodel,int *nz,double *z0,double *dz ) 617 // Constructeur a partir d'un NTupleInterface* - voir le createur de GNUPlotContour 618 // 619 //-- 502 620 PIContourDrawer::PIContourDrawer(NTupleInterface* nti,bool autodel,int *nz,double *z0,double *dz ) 503 621 :GNUPlotContour(nti,nz,z0,dz) … … 671 789 672 790 void PIContourDrawer::InitAtts(){ 673 mLineOn = false;674 mMarkOn = true;791 mLineOn = true; 792 mMarkOn = false; 675 793 mLabelOn = false; 676 794 } 677 678 679 795 796 797 -
trunk/SophyaPI/PIGcont/pigncont.h
r1857 r1919 1 1 // This may look like C code, but it is really -*- C++ -*- 2 2 // Classe GNUPlotContour : interface avec le code de gnuplot pour tracer les contours 3 // Classe PIContourDrawer : trace des contours d s PI3 // Classe PIContourDrawer : trace des contours dans PI 4 4 // (c) DAPNIA (CEA) LAL (IN2P3/CNRS) 5 5 // R. Ansari O.Perdereau 11/2001
Note:
See TracChangeset
for help on using the changeset viewer.