Fawkes API  Fawkes Development Version
pantilt.h
1 
2 /***************************************************************************
3  * pantilt.h - Abstract class defining a pan/tilt camera controller
4  *
5  * Created: Tue Apr 21 22:39:20 2009
6  * Copyright 2009 Tobias Kellner
7  * 2005-2009 Tim Niemueller [www.niemueller.de]
8  *
9  ****************************************************************************/
10 
11 /* This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version. A runtime exception applies to
15  * this software (see LICENSE.GPL_WRE file mentioned below for details).
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Library General Public License for more details.
21  *
22  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
23  */
24 
25 #ifndef _FIREVISION_CAMS_CONTROL_PANTILT_H_
26 #define _FIREVISION_CAMS_CONTROL_PANTILT_H_
27 
28 #include <fvcams/control/control.h>
29 
30 namespace firevision {
31 
32 class CameraControlPanTilt : virtual public CameraControl
33 {
34 public:
35  virtual ~CameraControlPanTilt();
36 
37  virtual void process_pantilt() = 0;
38 
39  virtual bool supports_pan() = 0;
40  virtual bool supports_tilt() = 0;
41  virtual void set_pan(int pan) = 0;
42  virtual void set_tilt(int tilt) = 0;
43  virtual void set_pan_tilt(int pan, int tilt) = 0;
44  virtual void set_pan_tilt_rad(float pan, float tilt) = 0;
45  virtual int pan() = 0;
46  virtual int tilt() = 0;
47  virtual void start_get_pan_tilt() = 0;
48  virtual void pan_tilt(int &pan, int &tilt) = 0;
49  virtual void pan_tilt_rad(float &pan, float &tilt) = 0;
50  virtual int min_pan() = 0;
51  virtual int max_pan() = 0;
52  virtual int min_tilt() = 0;
53  virtual int max_tilt() = 0;
54  virtual void reset_pan_tilt() = 0;
55  virtual void set_pan_tilt_limit(int pan_left, int pan_right, int tilt_up, int tilt_down) = 0;
56  virtual void reset_pan_tilt_limit() = 0;
57 };
58 
59 } // end namespace firevision
60 
61 #endif // FIREVISION_CAMS_CONTROL_PANTILT_H__
firevision::CameraControlPanTilt::pan_tilt
virtual void pan_tilt(int &pan, int &tilt)=0
Get pan and tilt at the same time.
firevision::CameraControlPanTilt::set_pan_tilt_limit
virtual void set_pan_tilt_limit(int pan_left, int pan_right, int tilt_up, int tilt_down)=0
Set pan/tilt limits.
firevision::CameraControlPanTilt::supports_pan
virtual bool supports_pan()=0
Check whether this controller supports panning.
firevision::CameraControl
Camera control interface base class.
Definition: control.h:31
firevision::CameraControlPanTilt::pan
virtual int pan()=0
Get pan value.
firevision::CameraControlPanTilt::max_tilt
virtual int max_tilt()=0
Get maximum tilt value.
firevision::CameraControlPanTilt::process_pantilt
virtual void process_pantilt()=0
Process pan/tilt information.
firevision::CameraControlPanTilt::min_pan
virtual int min_pan()=0
Get minimum pan value.
firevision::CameraControlPanTilt::supports_tilt
virtual bool supports_tilt()=0
Check whether this controller supports tilting.
firevision::CameraControlPanTilt::set_pan_tilt
virtual void set_pan_tilt(int pan, int tilt)=0
Set pan and tilt in one go.
firevision::CameraControlPanTilt::tilt
virtual int tilt()=0
Get tilt value.
firevision::CameraControlPanTilt::~CameraControlPanTilt
virtual ~CameraControlPanTilt()
Empty virtual destructor.
Definition: pantilt.cpp:149
firevision::CameraControlPanTilt::min_tilt
virtual int min_tilt()=0
Get minimum tilt value.
firevision::CameraControlPanTilt::set_tilt
virtual void set_tilt(int tilt)=0
Set tilt value.
firevision::CameraControlPanTilt::reset_pan_tilt
virtual void reset_pan_tilt()=0
Bring camera into home position.
firevision::CameraControlPanTilt::start_get_pan_tilt
virtual void start_get_pan_tilt()=0
Start asynchronous fetch operation for pan and tilt values.
firevision::CameraControlPanTilt
Camera pan/tilt control interface.
Definition: pantilt.h:33
firevision::CameraControlPanTilt::set_pan
virtual void set_pan(int pan)=0
Set pan value.
firevision::CameraControlPanTilt::reset_pan_tilt_limit
virtual void reset_pan_tilt_limit()=0
Reset pan/tilt limits.
firevision::CameraControlPanTilt::max_pan
virtual int max_pan()=0
Get maximum pan value.
firevision::CameraControlPanTilt::pan_tilt_rad
virtual void pan_tilt_rad(float &pan, float &tilt)=0
Get pan and tilt at the same time in radiant.
firevision::CameraControlPanTilt::set_pan_tilt_rad
virtual void set_pan_tilt_rad(float pan, float tilt)=0
Set pan and tilt as float value.