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

include/FCam/Shot.h

Go to the documentation of this file.
00001 #ifndef FCAM_SHOT_H
00002 #define FCAM_SHOT_H
00003 
00006 
00007 #include "Base.h"
00008 #include "Histogram.h"
00009 #include "SharpnessMap.h"
00010 #include "Image.h"
00011 #include <set>
00012 #include <pthread.h>
00013 
00014 namespace FCam {
00015 
00016     class Action;
00017 
00031     class Shot {
00032       public:
00041         Image image;
00042         
00044         int exposure;  
00045         
00053         int frameTime; 
00054             
00059         float gain; 
00060 
00063         int whiteBalance;
00064         
00066         HistogramConfig histogram;     
00067 
00069         SharpnessMapConfig sharpness;  
00070         
00074         bool wanted;
00075 
00077         void addAction(const Action &);
00078 
00080         void clearActions();
00081 
00084         const std::set<Action *> &actions() const {return _actions;}
00085 
00088         int id;
00089 
00090         Shot();
00091         ~Shot();
00092 
00095         Shot(const Shot &other);
00096 
00099         const Shot &operator=(const Shot &other);
00100 
00105         void setColorMatrix(const float *);
00106         void setColorMatrix(const std::vector<float> &vec) {setColorMatrix(&vec[0]);}
00107 
00110         const std::vector<float> &colorMatrix() const {return _colorMatrix;}
00111 
00115         void clearColorMatrix();
00116 
00117       private:
00118         static int _id;
00119         static pthread_mutex_t _idLock;        
00120 
00122         std::set<Action *> _actions;
00123 
00125         std::vector<float> _colorMatrix;
00126     };
00127 
00128 }
00129 #endif

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