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
30namespace firevision {
31
32class CameraControlPanTilt : virtual public CameraControl
33{
34public:
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__
Camera pan/tilt control interface.
Definition: pantilt.h:33
virtual void set_pan_tilt_rad(float pan, float tilt)=0
Set pan and tilt as float value.
virtual bool supports_pan()=0
Check whether this controller supports panning.
virtual void pan_tilt_rad(float &pan, float &tilt)=0
Get pan and tilt at the same time in radiant.
virtual int tilt()=0
Get tilt value.
virtual void process_pantilt()=0
Process pan/tilt information.
virtual void start_get_pan_tilt()=0
Start asynchronous fetch operation for pan and tilt values.
virtual bool supports_tilt()=0
Check whether this controller supports tilting.
virtual int pan()=0
Get pan value.
virtual int min_pan()=0
Get minimum pan value.
virtual void reset_pan_tilt_limit()=0
Reset pan/tilt limits.
virtual int max_pan()=0
Get maximum pan value.
virtual void pan_tilt(int &pan, int &tilt)=0
Get pan and tilt at the same time.
virtual void reset_pan_tilt()=0
Bring camera into home position.
virtual void set_pan_tilt(int pan, int tilt)=0
Set pan and tilt in one go.
virtual void set_pan_tilt_limit(int pan_left, int pan_right, int tilt_up, int tilt_down)=0
Set pan/tilt limits.
virtual int min_tilt()=0
Get minimum tilt value.
virtual ~CameraControlPanTilt()
Empty virtual destructor.
Definition: pantilt.cpp:149
virtual void set_tilt(int tilt)=0
Set tilt value.
virtual void set_pan(int pan)=0
Set pan value.
virtual int max_tilt()=0
Get maximum tilt value.
Camera control interface base class.
Definition: control.h:31