00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __FIREVISION_CAMS_LEUTRON_H_
00025 #define __FIREVISION_CAMS_LEUTRON_H_
00026
00027 #include <cams/camera.h>
00028
00029 class LvCameraNode;
00030 class LvGrabberNode;
00031
00032 namespace firevision {
00033 #if 0
00034 }
00035 #endif
00036
00037 class LeutronCamera : public Camera
00038 {
00039
00040 public:
00041
00042 LeutronCamera();
00043 virtual ~LeutronCamera();
00044
00045 virtual void open();
00046 virtual void start();
00047 virtual void stop();
00048 virtual void close();
00049 virtual void flush();
00050 virtual void capture();
00051
00052 virtual void print_info();
00053
00054 virtual bool ready();
00055
00056 virtual unsigned char* buffer();
00057 virtual unsigned int buffer_size();
00058 virtual void dispose_buffer();
00059
00060 virtual unsigned int pixel_width();
00061 virtual unsigned int pixel_height();
00062 virtual colorspace_t colorspace();
00063
00064 virtual void set_image_number(unsigned int n);
00065
00066 private:
00067 bool opened;
00068 bool started;
00069 bool autodetect;
00070
00071 const char *camera_name;
00072
00073
00074
00075 unsigned short int camera_handle;
00076 LvCameraNode *camera;
00077 LvGrabberNode *grabber;
00078
00079 unsigned int width;
00080 unsigned int height;
00081 unsigned int scaled_width;
00082 unsigned int scaled_height;
00083
00084 colorspace_t cspace;
00085
00086 unsigned char *scaled_buffer;
00087
00088 };
00089
00090 }
00091
00092 #endif