00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __OPENKN_CONTROLLER__CAMERACONTROLLER_HPP__
00027 #define __OPENKN_CONTROLLER__CAMERACONTROLLER_HPP__
00028
00029
00030
00031
00032 #include "ControllerException.hpp"
00033
00034
00035
00036
00037
00038 namespace kn{
00039
00040
00041
00045 struct CameraParams
00046 {
00047
00048 std::string devicename;
00049
00050 size_t width;
00051
00052 size_t height;
00053
00057 CameraParams(const std::string& dn = "",
00058 const size_t& expectedwidth = 320,
00059 const size_t& expectedheight = 240)
00060 :devicename(dn),width(expectedwidth),height(expectedheight){}
00061
00062 };
00063
00064
00068 class CameraController
00069 {
00070
00071 protected:
00072
00076 std::string devicename;
00077
00081 size_t camwidth;
00082
00086 size_t camheight;
00087
00088
00089 public:
00090
00091
00092
00093
00097 virtual ~CameraController(void){}
00098
00102 virtual void openDevice(void) = 0;
00103
00107 virtual void closeDevice(void) = 0;
00108
00112 virtual void start(void) = 0;
00113
00117 virtual void stop(void) = 0;
00118
00124 virtual unsigned char * getImage(void) = 0;
00125
00131 virtual size_t width(void) const = 0;
00132
00138 virtual size_t height(void) const = 0;
00139
00140
00141 };
00142
00143
00144
00145
00146 }
00147
00148 #endif