Changeset 326 in Sophya for trunk/SophyaPI/PIext/pintuple.cc


Ignore:
Timestamp:
Jun 23, 1999, 4:41:47 PM (26 years ago)
Author:
ercodmgr
Message:

1/ NTupleInterface mis ds Outils++ et complete -
2/ Les PINtuple et PINtup3D utilisent maintenant NTupleInterface
3/ Debut modification interface NObjMgr - Reza 23/6/99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/pintuple.cc

    r205 r326  
    44 
    55/* --Methode-- */
    6 PINTuple::PINTuple(NTuple* nt, bool ad)
     6PINTuple::PINTuple(NTupleInterface* nt, bool ad)
    77: PIDrawer()
    88{
     
    2121void  PINTuple::SelectXY(const char* px, const char* py)
    2222{
     23string name;
    2324if (mNT == NULL)  xK = yK = -1;
    2425if (px == NULL) xK = -1;
    25 else xK = mNT->IndexNom(px);
     26else { name = px; xK = mNT->ColumnIndex(name); }
    2627if (py == NULL) yK = -1;
    27 else yK = mNT->IndexNom(py);
     28else { name = py; yK = mNT->ColumnIndex(name); }
    2829}
    2930
     
    3132void  PINTuple::SelectErrBar(const char* erbx, const char* erby)
    3233{
     34string name;
    3335if (mNT == NULL)  xebK = yebK = -1;
    3436if (erbx == NULL) xebK = -1;
    35 else xebK = mNT->IndexNom(erbx);
     37else { name = erbx;  xebK = mNT->ColumnIndex(name); }
    3638if (erby == NULL) yebK = -1;
    37 else yebK = mNT->IndexNom(erby);
     39else { name = erby;  yebK = mNT->ColumnIndex(name); }
    3840}
    3941
     
    4345{
    4446  if (!mNT) return;
    45   if (mNT->NEntry() <= 0)  return;
     47  if (mNT->NbLines() <= 0)  return;
    4648  if ( (xK < 0) || (yK < 0) )   return;
    4749
    4850  // Commencer par trouver nos limites
    49   float dx, dy;
    50   float xmin, xmax, ymin, ymax;
     51  double dx, dy;
     52  double xmin, xmax, ymin, ymax;
    5153  xmin = ymin = 9.e19;
    5254  xmax = ymax = -9.e19;
     
    6668{
    6769double xp,yp,xer,yer;
     70double xl,yl;
    6871int nok;
    6972
     
    7174if ( (xK < 0) || (yK < 0) )  return;
    7275if (mLAtt == PI_NotDefLineAtt)  g->SelLine(PI_ThinLine);
     76
    7377nok = 0; 
    74 for (int i=0; i<mNT->NEntry(); i++) {
    75   xp = mNT->GetVal(i, xK);
    76   yp = mNT->GetVal(i, yK);
     78xp = yp = xl = yl = 0;
     79for (int i=0; i<mNT->NbLines(); i++) {
     80  xl = xp;  yl = yp;
     81  xp = mNT->GetCell(i, xK);
     82  yp = mNT->GetCell(i, yK);
    7783  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);
    7886  nok++;
    7987  if ( xebK >= 0 ) {
    80     xer = mNT->GetVal(i, xebK);
     88    xer = mNT->GetCell(i, xebK);
    8189    if(xer>0.) g->DrawLine(xp-xer, yp, xp+xer, yp);
    8290  }
    8391  if ( yebK >= 0 ) {
    84     yer = mNT->GetVal(i, yebK);
     92    yer = mNT->GetCell(i, yebK);
    8593    if(yer>0.) g->DrawLine(xp, yp-yer, xp, yp+yer);
    8694  }
Note: See TracChangeset for help on using the changeset viewer.