Fawkes API  Fawkes Development Version
dummy.h
1 
2 /***************************************************************************
3  * dummy.h - controller that controls nothing, sounds like a stupid
4  * idea but this avoids NULL checks in software using
5  * a camera controller
6  *
7  * Created: Wed Jun 15 12:45:57 2005
8  * Copyright 2005-2009 Tim Niemueller [www.niemueller.de]
9  *
10  ****************************************************************************/
11 
12 /* This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version. A runtime exception applies to
16  * this software (see LICENSE.GPL_WRE file mentioned below for details).
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Library General Public License for more details.
22  *
23  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
24  */
25 
26 #ifndef _FIREVISION_CAMS_DUMMY_CONTROL_H_
27 #define _FIREVISION_CAMS_DUMMY_CONTROL_H_
28 
29 #include <fvcams/control/color.h>
30 #include <fvcams/control/effect.h>
31 #include <fvcams/control/focus.h>
32 #include <fvcams/control/image.h>
33 #include <fvcams/control/pantilt.h>
34 #include <fvcams/control/zoom.h>
35 
36 namespace firevision {
37 
38 /** Plain dummy control.
39  * Does nothing, supports nothing. Use to avoid unecessary NULL checks
40  */
41 class DummyCameraControl : public CameraControlColor,
42  public CameraControlImage,
43  public CameraControlPanTilt,
44  public CameraControlZoom,
45  public CameraControlEffect,
46  public CameraControlFocus
47 {
48 public:
49  // from CameraControlColor
50  virtual bool auto_gain();
51  virtual void set_auto_gain(bool enabled);
52  virtual bool auto_white_balance();
53  virtual void set_auto_white_balance(bool enabled);
54  virtual unsigned int exposure_auto();
55  virtual void set_exposure_auto(unsigned int enabled);
56 
57  virtual int red_balance();
58  virtual void set_red_balance(int red_balance);
59  virtual int blue_balance();
60  virtual void set_blue_balance(int blue_balance);
61 
62  virtual int u_balance();
63  virtual void set_u_balance(int u_balance);
64  virtual int v_balance();
65  virtual void set_v_balance(int v_balance);
66 
67  virtual unsigned int brightness();
68  virtual void set_brightness(unsigned int brightness);
69  virtual unsigned int contrast();
70  virtual void set_contrast(unsigned int contrast);
71  virtual unsigned int saturation();
72  virtual void set_saturation(unsigned int saturation);
73  virtual int hue();
74  virtual void set_hue(int hue);
75  virtual unsigned int exposure();
76  virtual void set_exposure(unsigned int exposure);
77  virtual unsigned int gain();
78  virtual void set_gain(unsigned int gain);
79 
80  // From CameraControlImage
81  virtual const char * format();
82  virtual void set_format(const char *format);
83  virtual unsigned int width();
84  virtual unsigned int height();
85  virtual void size(unsigned int &width, unsigned int &height);
86  virtual void set_size(unsigned int width, unsigned int height);
87  virtual bool horiz_mirror();
88  virtual bool vert_mirror();
89  virtual void mirror(bool &horiz, bool &vert);
90  virtual void set_horiz_mirror(bool enabled);
91  virtual void set_vert_mirror(bool enabled);
92  virtual void set_mirror(bool horiz, bool vert);
93 
94  virtual unsigned int fps();
95  virtual void set_fps(unsigned int fps);
96 
97  virtual unsigned int lens_x_corr();
98  virtual unsigned int lens_y_corr();
99  virtual void lens_corr(unsigned int &x_corr, unsigned int &y_corr);
100  virtual void set_lens_x_corr(unsigned int x_corr);
101  virtual void set_lens_y_corr(unsigned int y_corr);
102  virtual void set_lens_corr(unsigned int x_corr, unsigned int y_corr);
103 
104  // From CameraControlPanTilt
105  virtual void process_pantilt();
106 
107  virtual bool supports_pan();
108  virtual bool supports_tilt();
109  virtual void set_pan(int pan);
110  virtual void set_tilt(int tilt);
111  virtual void set_pan_tilt(int pan, int tilt);
112  virtual void set_pan_tilt_rad(float pan, float tilt);
113  virtual int pan();
114  virtual int tilt();
115  virtual void start_get_pan_tilt();
116  virtual void pan_tilt(int &pan, int &tilt);
117  virtual void pan_tilt_rad(float &pan, float &tilt);
118  virtual int min_pan();
119  virtual int max_pan();
120  virtual int min_tilt();
121  virtual int max_tilt();
122  virtual void reset_pan_tilt();
123  virtual void set_pan_tilt_limit(int pan_left, int pan_right, int tilt_up, int tilt_down);
124  virtual void reset_pan_tilt_limit();
125 
126  // From CameraControlZoom
127  virtual void reset_zoom();
128  virtual void set_zoom(unsigned int zoom);
129  virtual unsigned int zoom();
130  virtual unsigned int zoom_max();
131  virtual unsigned int zoom_min();
132  virtual void set_zoom_speed_tele(unsigned int speed);
133  virtual void set_zoom_speed_wide(unsigned int speed);
134  virtual void set_zoom_digital_enabled(bool enabled);
135 
136  // from CameraControlEffect
137  virtual bool supports_effect(unsigned int effect);
138  virtual void set_effect(unsigned int effect);
139  virtual unsigned int effect();
140  virtual void reset_effect();
141 
142  // from CameraControlFocus
143  virtual bool auto_focus();
144  virtual void set_auto_focus(bool enabled);
145  virtual unsigned int focus();
146  virtual void set_focus(unsigned int focus);
147  virtual unsigned int focus_min();
148  virtual unsigned int focus_max();
149 };
150 
151 } // end namespace firevision
152 
153 #endif
firevision::DummyCameraControl::u_balance
virtual int u_balance()
Definition: dummy.cpp:99
firevision::DummyCameraControl::contrast
virtual unsigned int contrast()
Definition: dummy.cpp:132
firevision::DummyCameraControl::auto_white_balance
virtual bool auto_white_balance()
Definition: dummy.cpp:55
firevision::DummyCameraControl::set_v_balance
virtual void set_v_balance(int v_balance)
Definition: dummy.cpp:116
firevision::DummyCameraControl::set_zoom_digital_enabled
virtual void set_zoom_digital_enabled(bool enabled)
Set if digital zoom may be used.
Definition: dummy.cpp:442
firevision::DummyCameraControl::pan
virtual int pan()
Definition: dummy.cpp:336
firevision::DummyCameraControl::reset_effect
virtual void reset_effect()
Definition: dummy.cpp:464
firevision::DummyCameraControl::set_zoom
virtual void set_zoom(unsigned int zoom)
Definition: dummy.cpp:409
firevision::DummyCameraControl::blue_balance
virtual int blue_balance()
Definition: dummy.cpp:88
firevision::DummyCameraControl::supports_effect
virtual bool supports_effect(unsigned int effect)
Definition: dummy.cpp:447
firevision::DummyCameraControl::fps
virtual unsigned int fps()
Get the number of frames per second the camera tries to deliver.
Definition: dummy.cpp:255
firevision::DummyCameraControl::set_horiz_mirror
virtual void set_horiz_mirror(bool enabled)
Set whether the camera should mirror images horizontally.
Definition: dummy.cpp:240
firevision::DummyCameraControl::set_saturation
virtual void set_saturation(unsigned int saturation)
Definition: dummy.cpp:149
firevision::DummyCameraControl::set_brightness
virtual void set_brightness(unsigned int brightness)
Definition: dummy.cpp:127
firevision::DummyCameraControl::mirror
virtual void mirror(bool &horiz, bool &vert)
Get information about current camera image mirroring.
Definition: dummy.cpp:234
firevision::DummyCameraControl::max_pan
virtual int max_pan()
Definition: dummy.cpp:371
firevision::DummyCameraControl::focus_max
virtual unsigned int focus_max()
Definition: dummy.cpp:497
firevision::DummyCameraControl::set_format
virtual void set_format(const char *format)
Set the image format the camera should use.
Definition: dummy.cpp:194
firevision::DummyCameraControl::set_auto_gain
virtual void set_auto_gain(bool enabled)
Definition: dummy.cpp:50
firevision::DummyCameraControl::start_get_pan_tilt
virtual void start_get_pan_tilt()
Definition: dummy.cpp:348
firevision::DummyCameraControl::set_gain
virtual void set_gain(unsigned int gain)
Definition: dummy.cpp:182
firevision::DummyCameraControl::red_balance
virtual int red_balance()
Definition: dummy.cpp:77
firevision::DummyCameraControl::set_exposure
virtual void set_exposure(unsigned int exposure)
Definition: dummy.cpp:171
firevision::DummyCameraControl::set_u_balance
virtual void set_u_balance(int u_balance)
Definition: dummy.cpp:105
firevision::DummyCameraControl::auto_focus
virtual bool auto_focus()
Definition: dummy.cpp:469
firevision::DummyCameraControl::set_effect
virtual void set_effect(unsigned int effect)
Definition: dummy.cpp:453
firevision::DummyCameraControl::set_pan
virtual void set_pan(int pan)
Definition: dummy.cpp:316
firevision::DummyCameraControl::set_contrast
virtual void set_contrast(unsigned int contrast)
Definition: dummy.cpp:138
firevision::DummyCameraControl::set_focus
virtual void set_focus(unsigned int focus)
Definition: dummy.cpp:486
firevision::DummyCameraControl::supports_pan
virtual bool supports_pan()
Definition: dummy.cpp:304
firevision::DummyCameraControl::effect
virtual unsigned int effect()
Definition: dummy.cpp:458
firevision::DummyCameraControl::set_vert_mirror
virtual void set_vert_mirror(bool enabled)
Set whether the camera should mirror images vertically.
Definition: dummy.cpp:245
firevision::DummyCameraControl::set_auto_focus
virtual void set_auto_focus(bool enabled)
Definition: dummy.cpp:475
firevision::DummyCameraControl::width
virtual unsigned int width()
Definition: dummy.cpp:199
firevision::DummyCameraControl::focus
virtual unsigned int focus()
Definition: dummy.cpp:480
firevision::DummyCameraControl::size
virtual void size(unsigned int &width, unsigned int &height)
Get the current image size.
Definition: dummy.cpp:211
firevision::DummyCameraControl::format
virtual const char * format()
Get the image format the camera currently uses.
Definition: dummy.cpp:188
firevision::DummyCameraControl::reset_pan_tilt_limit
virtual void reset_pan_tilt_limit()
Definition: dummy.cpp:399
firevision::DummyCameraControl::supports_tilt
virtual bool supports_tilt()
Definition: dummy.cpp:310
firevision::DummyCameraControl::zoom
virtual unsigned int zoom()
Definition: dummy.cpp:414
firevision::DummyCameraControl::set_red_balance
virtual void set_red_balance(int red_balance)
Definition: dummy.cpp:83
firevision::DummyCameraControl::min_tilt
virtual int min_tilt()
Definition: dummy.cpp:377
firevision::DummyCameraControl::lens_y_corr
virtual unsigned int lens_y_corr()
Get current lens y correction.
Definition: dummy.cpp:272
firevision::DummyCameraControl::set_zoom_speed_tele
virtual void set_zoom_speed_tele(unsigned int speed)
Set speed in tele range.
Definition: dummy.cpp:432
firevision::DummyCameraControl::auto_gain
virtual bool auto_gain()
Definition: dummy.cpp:44
firevision::DummyCameraControl::pan_tilt
virtual void pan_tilt(int &pan, int &tilt)
Definition: dummy.cpp:353
firevision::DummyCameraControl::set_blue_balance
virtual void set_blue_balance(int blue_balance)
Definition: dummy.cpp:94
firevision::DummyCameraControl::reset_zoom
virtual void reset_zoom()
Definition: dummy.cpp:404
firevision::DummyCameraControl::set_auto_white_balance
virtual void set_auto_white_balance(bool enabled)
Definition: dummy.cpp:61
firevision::DummyCameraControl::tilt
virtual int tilt()
Definition: dummy.cpp:342
firevision::DummyCameraControl::set_lens_x_corr
virtual void set_lens_x_corr(unsigned int x_corr)
Set lens x correction.
Definition: dummy.cpp:284
firevision::DummyCameraControl::set_lens_corr
virtual void set_lens_corr(unsigned int x_corr, unsigned int y_corr)
Set lens correction.
Definition: dummy.cpp:294
firevision::DummyCameraControl::brightness
virtual unsigned int brightness()
Definition: dummy.cpp:121
firevision::DummyCameraControl::gain
virtual unsigned int gain()
Definition: dummy.cpp:176
firevision::DummyCameraControl::exposure
virtual unsigned int exposure()
Definition: dummy.cpp:165
firevision::DummyCameraControl::set_mirror
virtual void set_mirror(bool horiz, bool vert)
Set whether the camera should mirror images.
Definition: dummy.cpp:250
firevision::DummyCameraControl::set_tilt
virtual void set_tilt(int tilt)
Definition: dummy.cpp:321
firevision::DummyCameraControl::lens_corr
virtual void lens_corr(unsigned int &x_corr, unsigned int &y_corr)
Get current lens correction.
Definition: dummy.cpp:278
firevision::DummyCameraControl::saturation
virtual unsigned int saturation()
Definition: dummy.cpp:143
firevision::DummyCameraControl::set_size
virtual void set_size(unsigned int width, unsigned int height)
Definition: dummy.cpp:217
firevision::DummyCameraControl::set_zoom_speed_wide
virtual void set_zoom_speed_wide(unsigned int speed)
Set speed in wide range.
Definition: dummy.cpp:437
firevision::DummyCameraControl::focus_min
virtual unsigned int focus_min()
Definition: dummy.cpp:491
firevision::DummyCameraControl::set_hue
virtual void set_hue(int hue)
Definition: dummy.cpp:160
firevision::DummyCameraControl::set_exposure_auto
virtual void set_exposure_auto(unsigned int enabled)
Definition: dummy.cpp:72
firevision::DummyCameraControl::zoom_max
virtual unsigned int zoom_max()
Definition: dummy.cpp:420
firevision::DummyCameraControl::v_balance
virtual int v_balance()
Definition: dummy.cpp:110
firevision::DummyCameraControl::horiz_mirror
virtual bool horiz_mirror()
Return whether the camera image is horizontally mirrored.
Definition: dummy.cpp:222
firevision::DummyCameraControl::set_pan_tilt_rad
virtual void set_pan_tilt_rad(float pan, float tilt)
Definition: dummy.cpp:331
firevision::DummyCameraControl::zoom_min
virtual unsigned int zoom_min()
Definition: dummy.cpp:426
firevision::DummyCameraControl::set_pan_tilt
virtual void set_pan_tilt(int pan, int tilt)
Definition: dummy.cpp:326
firevision::DummyCameraControl::height
virtual unsigned int height()
Definition: dummy.cpp:205
firevision::DummyCameraControl::reset_pan_tilt
virtual void reset_pan_tilt()
Definition: dummy.cpp:389
firevision::DummyCameraControl::set_fps
virtual void set_fps(unsigned int fps)
Set the number of frames per second the camera tries to deliver.
Definition: dummy.cpp:261
firevision::DummyCameraControl::hue
virtual int hue()
Definition: dummy.cpp:154
firevision::DummyCameraControl::vert_mirror
virtual bool vert_mirror()
Return whether the camera image is vertically mirrored.
Definition: dummy.cpp:228
firevision::DummyCameraControl::process_pantilt
virtual void process_pantilt()
Definition: dummy.cpp:299
firevision::DummyCameraControl::max_tilt
virtual int max_tilt()
Definition: dummy.cpp:383
firevision::DummyCameraControl::lens_x_corr
virtual unsigned int lens_x_corr()
Get current lens x correction.
Definition: dummy.cpp:266
firevision::DummyCameraControl::set_lens_y_corr
virtual void set_lens_y_corr(unsigned int y_corr)
Set lens y correction.
Definition: dummy.cpp:289
firevision::DummyCameraControl::exposure_auto
virtual unsigned int exposure_auto()
Definition: dummy.cpp:66
firevision::DummyCameraControl::pan_tilt_rad
virtual void pan_tilt_rad(float &pan, float &tilt)
Definition: dummy.cpp:359
firevision::DummyCameraControl::min_pan
virtual int min_pan()
Definition: dummy.cpp:365
firevision::DummyCameraControl::set_pan_tilt_limit
virtual void set_pan_tilt_limit(int pan_left, int pan_right, int tilt_up, int tilt_down)
Definition: dummy.cpp:394