Fawkes API  Fawkes Development Version
zoom.cpp
1 
2 /***************************************************************************
3  * zoom.cpp - Abstract class defining a camera zoom controller
4  *
5  * Created: Wed Apr 22 10:50:53 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 #include <core/exceptions/software.h>
26 #include <fvcams/control/zoom.h>
27 
28 namespace firevision {
29 
30 /** @class CameraControlZoom <fvcams/control/zoom.h>
31  * Camera zoom control interface.
32  * Some cameras feature zooming.
33  *
34  * This interface shall be implemented by such cameras.
35  *
36  * @author Tim Niemueller
37  * @author Tobias Kellner
38  *
39  * @fn void CameraControlZoom::reset_zoom() = 0
40  * Reset zoom.
41  * @throws NotImplementedException Not implemented by this control
42  *
43  * @fn void CameraControlZoom::set_zoom(unsigned int zoom) = 0
44  * Set new camera-specific zoom value.
45  * @param zoom zoom value
46  *
47  * @fn unsigned int CameraControlZoom::zoom() = 0
48  * Get current zoom value.
49  * @return current zoom value.
50  *
51  * @fn unsigned int CameraControlZoom::zoom_max() = 0
52  * Maximum zoom value.
53  * @return maximum zoom value
54  *
55  * @fn unsigned int CameraControlZoom::zoom_min() = 0
56  * Minimum zoom value.
57  * @return Minimum zoom value
58  */
59 
61 
62 /** Empty virtual destructor. */
64 {
65 }
66 
67 /** Set speed in tele range.
68  * @param speed camera-specific speed value
69  * @throws NotImplementedException Not implemented by this control
70  */
71 void
73 {
74  throw NotImplementedException("Not implemented");
75 }
76 
77 /** Set speed in wide range.
78  * @param speed camera-specific speed value.
79  * @throws NotImplementedException Not implemented by this control
80  */
81 void
83 {
84  throw NotImplementedException("Not implemented");
85 }
86 
87 /** Set if digital zoom may be used.
88  * @param enabled true, to enable digital zoom, false otherwise
89  * @throws NotImplementedException Not implemented by this control
90  */
91 void
93 {
94  throw NotImplementedException("Not implemented");
95 }
96 
97 } // end namespace firevision
firevision::CameraControlZoom::~CameraControlZoom
virtual ~CameraControlZoom()
Empty virtual destructor.
Definition: zoom.cpp:70
firevision::CameraControlZoom::set_zoom_speed_wide
virtual void set_zoom_speed_wide(unsigned int speed)
Set speed in wide range.
Definition: zoom.cpp:89
firevision::CameraControlZoom::set_zoom_digital_enabled
virtual void set_zoom_digital_enabled(bool enabled)
Set if digital zoom may be used.
Definition: zoom.cpp:99
fawkes::NotImplementedException
Definition: software.h:110
firevision::CameraControlZoom::set_zoom_speed_tele
virtual void set_zoom_speed_tele(unsigned int speed)
Set speed in tele range.
Definition: zoom.cpp:79