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

include/FCam/Flash.h

Go to the documentation of this file.
00001 #ifndef FCAM_FLASH_H
00002 #define FCAM_FLASH_H
00003 
00004 #include "Action.h"
00005 #include "Device.h"
00006 
00010 namespace FCam {
00011     
00012     class Action;
00013 
00015     class Flash : public Device {
00016       public:
00017         ~Flash();
00018 
00020         virtual int minDuration() = 0;
00021 
00023         virtual int maxDuration() = 0;
00024         
00026         virtual float minBrightness() = 0;
00027 
00029         virtual float maxBrightness() = 0;
00030 
00033         virtual void fire(float brightness, int duration) = 0;       
00034 
00037         virtual int fireLatency() = 0;
00038 
00041         virtual float getBrightness(Time t) = 0;
00042         
00046         virtual void tagFrame(Frame) = 0;
00047 
00049         class FireAction : public CopyableAction<FireAction> {
00050           public:
00052             FireAction(Flash *f);
00053 
00057             FireAction(Flash *f, int time);
00058             
00063             FireAction(Flash *f, int time, float brightness, int duration);
00064 
00067             float brightness;
00068 
00070             int duration;
00071 
00072             void doAction();
00073 
00075             Flash *getFlash() {return flash;}
00076           private:
00077 
00078             Flash *flash;
00079         };
00080 
00083         class Tags {
00084         public:
00086             Tags(Frame);
00087             
00089             float brightness;
00090             
00094             int start;
00095 
00098             int duration;
00099 
00104             int peak;
00105         };
00106     };
00107 
00108 }
00109 
00110 #endif

Generated on Thu Jul 15 2010 17:51:28 for FCam by  doxygen 1.7.1