• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

include/FCam/F2/Frame.h

Go to the documentation of this file.
00001 #ifndef FCAM_F2_FRAME_H
00002 #define FCAM_F2_FRAME_H
00003 
00007 
00008 #include "../Frame.h"
00009 #include "Shot.h"
00010 
00011 namespace FCam{ namespace F2 {
00012 
00013     class Sensor;
00014         
00019     struct _Frame: public FCam::_Frame {
00020         RowSkip::e rowSkip;
00021         ColSkip::e colSkip;
00022         RowBin::e rowBin;
00023         ColBin::e colBin;
00024 
00025         int roiStartX;
00026         int roiStartY;
00027 
00028         FCam::F2::Shot _shot;
00029 
00030         const FCam::F2::Shot &shot() const { return _shot; }
00031         const FCam::Shot &baseShot() const { return shot(); }
00032 
00033         // Derived frames should implement these to return static
00034         // platform data necessary for interpreting this frame.
00035         BayerPattern bayerPattern() const;
00036         unsigned short minRawValue() const;
00037         unsigned short maxRawValue() const;
00038         void rawToRGBColorMatrix(int kelvin, float *matrix) const;
00039         const std::string &manufacturer() const;
00040         const std::string &model() const;
00041 
00042         _Frame();
00043     };
00044     
00050     class Frame: public FCam::Frame {
00051     protected:
00052         const _Frame *get() const { return static_cast<_Frame*>(ptr.get()); }
00053 
00054     public: 
00055 
00060         Frame(_Frame *f=NULL): FCam::Frame(f) {}
00061             
00063         RowSkip::e rowSkip() const { return get()->rowSkip; }
00064 
00066         ColSkip::e colSkip() const { return get()->colSkip; }
00067 
00069         RowBin::e rowBin() const { return get()->rowBin; }
00070 
00072         ColBin::e colBin() const { return get()->colBin; }
00073 
00078         int roiStartX() const { return get()->roiStartX; }
00079 
00084         int roiStartY() const { return get()->roiStartY; }
00085 
00089         const FCam::F2::Shot &shot() const {
00090             return get()->shot();
00091         }
00092     
00093     };    
00094         
00095     }
00096 }
00097 
00098 #endif

Generated on Mon Aug 16 2010 14:25:45 for FCam by  doxygen 1.7.1