Changeset 326 in Sophya for trunk/SophyaPI/PIext/pintuple.cc
- Timestamp:
- Jun 23, 1999, 4:41:47 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/pintuple.cc
r205 r326 4 4 5 5 /* --Methode-- */ 6 PINTuple::PINTuple(NTuple * nt, bool ad)6 PINTuple::PINTuple(NTupleInterface* nt, bool ad) 7 7 : PIDrawer() 8 8 { … … 21 21 void PINTuple::SelectXY(const char* px, const char* py) 22 22 { 23 string name; 23 24 if (mNT == NULL) xK = yK = -1; 24 25 if (px == NULL) xK = -1; 25 else xK = mNT->IndexNom(px);26 else { name = px; xK = mNT->ColumnIndex(name); } 26 27 if (py == NULL) yK = -1; 27 else yK = mNT->IndexNom(py);28 else { name = py; yK = mNT->ColumnIndex(name); } 28 29 } 29 30 … … 31 32 void PINTuple::SelectErrBar(const char* erbx, const char* erby) 32 33 { 34 string name; 33 35 if (mNT == NULL) xebK = yebK = -1; 34 36 if (erbx == NULL) xebK = -1; 35 else xebK = mNT->IndexNom(erbx);37 else { name = erbx; xebK = mNT->ColumnIndex(name); } 36 38 if (erby == NULL) yebK = -1; 37 else yebK = mNT->IndexNom(erby);39 else { name = erby; yebK = mNT->ColumnIndex(name); } 38 40 } 39 41 … … 43 45 { 44 46 if (!mNT) return; 45 if (mNT->N Entry() <= 0) return;47 if (mNT->NbLines() <= 0) return; 46 48 if ( (xK < 0) || (yK < 0) ) return; 47 49 48 50 // Commencer par trouver nos limites 49 floatdx, dy;50 floatxmin, xmax, ymin, ymax;51 double dx, dy; 52 double xmin, xmax, ymin, ymax; 51 53 xmin = ymin = 9.e19; 52 54 xmax = ymax = -9.e19; … … 66 68 { 67 69 double xp,yp,xer,yer; 70 double xl,yl; 68 71 int nok; 69 72 … … 71 74 if ( (xK < 0) || (yK < 0) ) return; 72 75 if (mLAtt == PI_NotDefLineAtt) g->SelLine(PI_ThinLine); 76 73 77 nok = 0; 74 for (int i=0; i<mNT->NEntry(); i++) { 75 xp = mNT->GetVal(i, xK); 76 yp = mNT->GetVal(i, yK); 78 xp = yp = xl = yl = 0; 79 for (int i=0; i<mNT->NbLines(); i++) { 80 xl = xp; yl = yp; 81 xp = mNT->GetCell(i, xK); 82 yp = mNT->GetCell(i, yK); 77 83 if ( (xp < xmin) || (xp > xmax) || (yp < ymin) || (yp > ymax) ) continue; 84 if ( (i > 0) && (mLAtt != PI_NotDefLineAtt) ) // On relie les points ... 85 g->DrawLine(xl, yl, xp, yp); 78 86 nok++; 79 87 if ( xebK >= 0 ) { 80 xer = mNT->Get Val(i, xebK);88 xer = mNT->GetCell(i, xebK); 81 89 if(xer>0.) g->DrawLine(xp-xer, yp, xp+xer, yp); 82 90 } 83 91 if ( yebK >= 0 ) { 84 yer = mNT->Get Val(i, yebK);92 yer = mNT->GetCell(i, yebK); 85 93 if(yer>0.) g->DrawLine(xp, yp-yer, xp, yp+yer); 86 94 }
Note:
See TracChangeset
for help on using the changeset viewer.