leutron.h
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 class LeutronCamera : public Camera
00033 {
00034
00035 public:
00036
00037 LeutronCamera();
00038 virtual ~LeutronCamera();
00039
00040 virtual void open();
00041 virtual void start();
00042 virtual void stop();
00043 virtual void close();
00044 virtual void flush();
00045 virtual void capture();
00046
00047 virtual void print_info();
00048
00049 virtual bool ready();
00050
00051 virtual unsigned char* buffer();
00052 virtual unsigned int buffer_size();
00053 virtual void dispose_buffer();
00054
00055 virtual unsigned int pixel_width();
00056 virtual unsigned int pixel_height();
00057 virtual colorspace_t colorspace();
00058
00059 virtual void set_image_number(unsigned int n);
00060
00061 private:
00062 bool opened;
00063 bool started;
00064 bool autodetect;
00065
00066 const char *camera_name;
00067
00068
00069
00070 unsigned short int camera_handle;
00071 LvCameraNode *camera;
00072 LvGrabberNode *grabber;
00073
00074 unsigned int width;
00075 unsigned int height;
00076 unsigned int scaled_width;
00077 unsigned int scaled_height;
00078
00079 colorspace_t cspace;
00080
00081 unsigned char *scaled_buffer;
00082
00083 };
00084
00085 #endif