Wavelet and Image class library  1.3.2
VideoArray.hh
Go to the documentation of this file.
00001 /*
00002  * class VideoArray
00003  *
00004  * $Date$
00005  * $Revision$
00006  *
00007  */
00008 
00009 #ifndef VIDEO_ARRAY_HH__
00010 #define VIDEO_ARRAY_HH__
00011 
00012 #include "WImage/ImageArray.hh"
00013 
00023 template<class T> class 
00024 VideoArray : public ImageArray <T>
00025 {
00026 public:
00035   VideoArray (int rows, int cols, int frames);
00036   VideoArray (int rows, int cols, int frames, const VideoArray<T>*v);
00038   virtual ~VideoArray (void);
00039 
00045   void current (int frame);
00046 
00049   inline int current (void) { return m_current; }
00050   
00054   inline int frames (void) const { return m_frames; }
00055 
00063   inline T at (int y, int x) const { return this->m_ar[abs (y, x)]; }
00069   virtual T at (int abs) const { 
00070     return this->m_ar[m_offset + abs]; 
00071   }
00079   inline void to (int y, int x, T val) { this->m_ar[abs (y, x)] = val; }
00085   virtual void to (int abs, T val) { this->m_ar[m_offset + abs] = val; }
00093   virtual int abs (int y, int x) const { 
00094     return m_offset + this->m_rows[y] + x; 
00095   }
00096 
00109   bool epsilonsFrames (int f1, int f2, T epsilon) const;
00110 
00119   bool equalsFrames (int f1, int f2) const;
00120 
00131   virtual bool epsilons (ImageArray<T> &ia, T epsilon) const;
00132 
00142   virtual void resize (int rows, int cols);
00151   virtual void reframe (int frames, bool keephead = true);
00162   virtual void import (int rows, int cols, int frames, T *array);
00163 
00172   virtual void import (int rows, int cols, T *array);
00177   virtual VideoArray<T> *cloneVideo (void) const;
00182   virtual ImageArray<T> *clone (void) const;
00188   virtual void copy (ImageArray<T> &ia);
00189 
00190 protected:
00192   int m_frames;
00194   int m_xyzsize;
00196   int m_current;
00198   int m_offset;
00208   bool epsilonsVideo (VideoArray<T> &va, T epsilon) const;
00209 }; /* class VideoArray */
00210 
00211 #include "../VideoArray.cc"
00212 
00215 #endif /* VIDEO_ARRAY_HH__ */
00216 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines