Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxImageSeq.h

00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *
00007  *  Dennis Koelma   (koelma@wins.uva.nl)
00008  *  TatHieu Nguyen  (tat@wins.uva.nl)
00009  *  Thang Pham      (vietp@wins.uva.nl)
00010  *
00011  */
00012 
00013 
00014 #ifndef HxImageSeq_h
00015 #define HxImageSeq_h
00016 
00017 #include "HxImageSeqIter.h"
00018 #include "HxString.h"
00019 #include "HxEnvironment.h"
00020 #include <vector>
00021 
00022 
00023 class HxImageSeqData;
00024 
00025 
00043 class HxImageSeq {
00044 public:
00046                         HxImageSeq();
00047 
00055                         HxImageSeq(HxString filename, int bufSize = 0);
00056 
00058                         HxImageSeq(const HxImageSeq& rhs);
00059 
00064     static void         setUseMDC(int flag);
00065 
00067     virtual             ~HxImageSeq();
00068 
00070     HxImageSeq&         operator=(const HxImageSeq& rhs);
00071 
00073     int                 ident() const;
00074 
00076     int                 isNull() const;
00077 
00079     int                 frameWidth() const;
00080 
00082     int                 frameHeight() const;
00083 
00085     int                 frameDepth() const;
00086 
00088     int                 nrFrames() const;
00089 
00091     HxImageRep          getFrame(int nr) const;
00092 
00098     void                getRgb2d(int nr, int* pixels, 
00099                             HxString displayMode) const;
00100 
00107     void                getRgbPixels2d(int nr, int* pixels, 
00108                             HxString displayMode,
00109                             int resWidth = -1, int resHeight = -1,
00110                             HxGeoIntType gi = NEAREST) const;
00111 
00113     HxImageSeqIter      begin();
00114 
00116     HxImageSeqIter      end();
00117 
00118 
00120     static const int    MPEG_F;
00122     static const int    MIR_F;
00124     static const int    AVI_F;
00125 
00130     int                 writeFile(std::vector<int> frameList, HxString filename,
00131                                   int format);
00132 
00134     STD_OSTREAM&        put(STD_OSTREAM& os) const;
00135 
00136 private:
00137 
00138     static int          _useMDC;
00139 
00140     HxRcPtr<HxImageSeqData> _pointee;
00141 
00142     HxImageSeqData*     pointee() const;
00143 
00144     friend class        HxImageSeqIter;
00145 };
00146 
00147 
00148 inline STD_OSTREAM&
00149 operator<<(STD_OSTREAM& os, const HxImageSeq& seq)
00150 {
00151     return seq.put(os);
00152 }
00153 
00154 inline HxString
00155 makeString(const HxImageSeq& seq)
00156 {
00157     return HxString("HxImageSeq") + makeString(seq.ident());
00158 }
00159 
00160 #endif

Generated on Mon Jan 27 15:48:44 2003 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001