Changeset 119 in Sophya for trunk/SophyaPI/PI/parradapter.h


Ignore:
Timestamp:
Jul 13, 1998, 8:08:21 PM (27 years ago)
Author:
ansari
Message:

1/ Premiere mise au point des DrawerTools, amelioration de PIImage Tools,
2/ creation de pipodrw.cc .h pour Drawers Outils PEIDA++
3/ ajout de P1DArrayAdapter Reza 12/07/98

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/parradapter.h

    r113 r119  
    33// LAL (Orsay) / IN2P3-CNRS  DAPNIA/SPP (Saclay) / CEA
    44
    5 // Cette classe est un adaptateur pour les PIImages et
    6 // autres classes de PI qui operent sur des structures
    7 // de type Tableaux 2-D (images, ...)
    85
    96#ifndef PARRADAPTER_SEEN
     
    1411#include "lut.h"
    1512
    16 class LUT;
     13class P1DArrayAdapter {
     14public :
     15                  P1DArrayAdapter(int sz=0) {mSize=sz; }
     16                  ~P1DArrayAdapter();
     17 
     18  virtual float   Value(int i) = 0;
     19  inline  int     Size() { return (mSize) ; }
     20     
     21protected :
     22  int mSize;
     23};
     24
     25// Cette classe est un adaptateur pour les PIImages et
     26// autres classes de PI qui operent sur des structures
     27// de type Tableaux 2-D (images, ...)
     28
    1729class P2DArrayAdapter {
    1830public :
     
    6678};
    6779
     80template <class T>
     81class P1DAdapter : public P1DArrayAdapter {
     82public :
     83                  P1DAdapter(T* data, int sz, bool ad=false) :
     84                    P1DArrayAdapter(sz)
     85                    { aDel = ad; mData = data; }
     86
     87  virtual         ~P1DAdapter() { if ( (aDel) && (mData != NULL) ) delete[] mData; }
     88  virtual float   Value(int i)
     89                    {  if ( (i < 0) || (i >= mSize) ) return(0.);
     90                    return(mData[i]); }
     91protected :
     92  bool aDel;
     93  T* mData;
     94};
     95
    6896
    6997template <class T>
Note: See TracChangeset for help on using the changeset viewer.