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 #ifndef __FIREVISION_CAMS_CONTROL_PANTILT_H_
00026 #define __FIREVISION_CAMS_CONTROL_PANTILT_H_
00027
00028 #include <cams/control/control.h>
00029
00030 namespace firevision {
00031 #if 0
00032 }
00033 #endif
00034
00035 class CameraControlPanTilt : virtual public CameraControl
00036 {
00037 public:
00038 virtual ~CameraControlPanTilt();
00039
00040 virtual void process_pantilt() = 0;
00041
00042 virtual bool supports_pan() = 0;
00043 virtual bool supports_tilt() = 0;
00044 virtual void set_pan(int pan) = 0;
00045 virtual void set_tilt(int tilt) = 0;
00046 virtual void set_pan_tilt(int pan, int tilt) = 0;
00047 virtual void set_pan_tilt_rad(float pan, float tilt) = 0;
00048 virtual int pan() = 0;
00049 virtual int tilt() = 0;
00050 virtual void start_get_pan_tilt() = 0;
00051 virtual void pan_tilt(int &pan, int &tilt) = 0;
00052 virtual void pan_tilt_rad(float &pan, float &tilt) = 0;
00053 virtual int min_pan() = 0;
00054 virtual int max_pan() = 0;
00055 virtual int min_tilt() = 0;
00056 virtual int max_tilt() = 0;
00057 virtual void reset_pan_tilt() = 0;
00058 virtual void set_pan_tilt_limit(int pan_left, int pan_right,
00059 int tilt_up, int tilt_down) = 0;
00060 virtual void reset_pan_tilt_limit() = 0;
00061 };
00062
00063 }
00064
00065 #endif // __FIREVISION_CAMS_CONTROL_PANTILT_H_