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