00001
00012 #ifndef HARDWARE_SENSOR_CAMERA_UEYE_HPP_
00013 #define HARDWARE_SENSOR_CAMERA_UEYE_HPP_
00014
00015 #include <jafarConfig.h>
00016
00017 #ifdef HAVE_UEYE
00018 #include <ueye.h>
00019 #endif
00020
00021 #include "rtslam/hardwareSensorCamera.hpp"
00022 #include "rtslam/rawImage.hpp"
00023
00024
00025 namespace jafar {
00026 namespace rtslam {
00027 namespace hardware {
00028
00033 class HardwareSensorCameraUeye: public HardwareSensorCamera
00034 {
00035 private:
00036 #ifdef HAVE_UEYE
00037 HIDS camera;
00038 #endif
00039
00040 virtual void preloadTask(void);
00041
00042 void init(Mode mode, std::string dump_path, cv::Size imgSize);
00043 #ifdef HAVE_UEYE
00044 void init(const std::string &camera_id, cv::Size imgSize, double shutter, double freq, int trigger, Mode mode, std::string dump_path);
00045 #endif
00046 public:
00047
00048 #ifdef HAVE_UEYE
00049
00055 HardwareSensorCameraUeye(kernel::VariableCondition<int> *condition, int bufferSize, const std::string &camera_id,
00056 cv::Size size, double freq, int trigger, double shutter, Mode mode, int cam_id, std::string dump_path = ".", kernel::LoggerTask *loggerTask = NULL);
00057 #endif
00058
00061 HardwareSensorCameraUeye(kernel::VariableCondition<int> *condition, int cam_id, cv::Size imgSize, std::string dump_path = ".");
00062
00063 ~HardwareSensorCameraUeye();
00064
00065 };
00066
00067 typedef boost::shared_ptr<HardwareSensorCameraUeye> hardware_sensor_ueye_ptr_t;
00068
00069 }}}
00070
00071 #endif