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
36namespace firevision {
37
38/** Plain dummy control.
39 * Does nothing, supports nothing. Use to avoid unecessary NULL checks
40 */
42 public CameraControlImage,
44 public CameraControlZoom,
47{
48public:
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
Camera color control interface.
Definition: color.h:33
Camera effect control interface.
Definition: effect.h:33
Camera focus control interface.
Definition: focus.h:33
Camera image control interface.
Definition: image.h:33
Camera pan/tilt control interface.
Definition: pantilt.h:33
Camera zoom control interface.
Definition: zoom.h:33
Plain dummy control.
Definition: dummy.h:47
virtual bool supports_pan()
Check whether this controller supports panning.
Definition: dummy.cpp:298
virtual unsigned int focus_min()
Get minimum focus value.
Definition: dummy.cpp:485
virtual int min_pan()
Get minimum pan value.
Definition: dummy.cpp:359
virtual void set_blue_balance(int blue_balance)
Set blue balance.
Definition: dummy.cpp:88
virtual void set_auto_gain(bool enabled)
Enable/disable auto gain.
Definition: dummy.cpp:44
virtual unsigned int brightness()
Get current brightness.
Definition: dummy.cpp:115
virtual unsigned int height()
Get the current height of the image.
Definition: dummy.cpp:199
virtual int hue()
Get current hue.
Definition: dummy.cpp:148
virtual void reset_effect()
Reset effect.
Definition: dummy.cpp:458
virtual void set_contrast(unsigned int contrast)
Set new contrast.
Definition: dummy.cpp:132
virtual void set_size(unsigned int width, unsigned int height)
Set the image size the camera should use.
Definition: dummy.cpp:211
virtual void mirror(bool &horiz, bool &vert)
Get information about current camera image mirroring.
Definition: dummy.cpp:228
virtual bool supports_tilt()
Check whether this controller supports tilting.
Definition: dummy.cpp:304
virtual void set_v_balance(int v_balance)
Set v balance.
Definition: dummy.cpp:110
virtual int pan()
Get pan value.
Definition: dummy.cpp:330
virtual void set_lens_y_corr(unsigned int y_corr)
Set lens y correction.
Definition: dummy.cpp:283
virtual int tilt()
Get tilt value.
Definition: dummy.cpp:336
virtual void set_horiz_mirror(bool enabled)
Set whether the camera should mirror images horizontally.
Definition: dummy.cpp:234
virtual unsigned int fps()
Get the number of frames per second the camera tries to deliver.
Definition: dummy.cpp:249
virtual void set_format(const char *format)
Set the image format the camera should use.
Definition: dummy.cpp:188
virtual bool auto_gain()
Return whether auto gain is enabled.
Definition: dummy.cpp:38
virtual void set_gain(unsigned int gain)
Set new gain.
Definition: dummy.cpp:176
virtual void set_pan_tilt_limit(int pan_left, int pan_right, int tilt_up, int tilt_down)
Set pan/tilt limits.
Definition: dummy.cpp:388
virtual int u_balance()
Get current u balance.
Definition: dummy.cpp:93
virtual void lens_corr(unsigned int &x_corr, unsigned int &y_corr)
Get current lens correction.
Definition: dummy.cpp:272
virtual int min_tilt()
Get minimum tilt value.
Definition: dummy.cpp:371
virtual void reset_pan_tilt_limit()
Reset pan/tilt limits.
Definition: dummy.cpp:393
virtual void pan_tilt_rad(float &pan, float &tilt)
Get pan and tilt at the same time in radiant.
Definition: dummy.cpp:353
virtual void set_pan_tilt(int pan, int tilt)
Set pan and tilt in one go.
Definition: dummy.cpp:320
virtual unsigned int lens_x_corr()
Get current lens x correction.
Definition: dummy.cpp:260
virtual void set_lens_corr(unsigned int x_corr, unsigned int y_corr)
Set lens correction.
Definition: dummy.cpp:288
virtual unsigned int zoom_min()
Minimum zoom value.
Definition: dummy.cpp:420
virtual int v_balance()
Get current v balance.
Definition: dummy.cpp:104
virtual unsigned int exposure_auto()
Return whether auto exposure is enabled.
Definition: dummy.cpp:60
virtual void set_zoom_speed_tele(unsigned int speed)
Set speed in tele range.
Definition: dummy.cpp:426
virtual unsigned int focus_max()
Get maximum focus value.
Definition: dummy.cpp:491
virtual bool auto_white_balance()
Return whether auto white balance is enabled.
Definition: dummy.cpp:49
virtual void set_red_balance(int red_balance)
Set red balance.
Definition: dummy.cpp:77
virtual unsigned int exposure()
Get current exposure.
Definition: dummy.cpp:159
virtual void set_brightness(unsigned int brightness)
Set new brightness.
Definition: dummy.cpp:121
virtual void set_zoom_speed_wide(unsigned int speed)
Set speed in wide range.
Definition: dummy.cpp:431
virtual unsigned int lens_y_corr()
Get current lens y correction.
Definition: dummy.cpp:266
virtual int max_pan()
Get maximum pan value.
Definition: dummy.cpp:365
virtual int red_balance()
Get current red balance.
Definition: dummy.cpp:71
virtual void set_fps(unsigned int fps)
Set the number of frames per second the camera tries to deliver.
Definition: dummy.cpp:255
virtual unsigned int gain()
Get current gain.
Definition: dummy.cpp:170
virtual unsigned int width()
Get the current width of the image.
Definition: dummy.cpp:193
virtual void set_auto_white_balance(bool enabled)
Enable/disable auto white balance.
Definition: dummy.cpp:55
virtual void set_lens_x_corr(unsigned int x_corr)
Set lens x correction.
Definition: dummy.cpp:278
virtual unsigned int contrast()
Get current contrast.
Definition: dummy.cpp:126
virtual void set_zoom_digital_enabled(bool enabled)
Set if digital zoom may be used.
Definition: dummy.cpp:436
virtual void set_u_balance(int u_balance)
Set u balance.
Definition: dummy.cpp:99
virtual void start_get_pan_tilt()
Start asynchronous fetch operation for pan and tilt values.
Definition: dummy.cpp:342
virtual void process_pantilt()
Process pan/tilt information.
Definition: dummy.cpp:293
virtual void set_pan(int pan)
Set pan value.
Definition: dummy.cpp:310
virtual void set_auto_focus(bool enabled)
Enable or disable auto focus.
Definition: dummy.cpp:469
virtual void set_mirror(bool horiz, bool vert)
Set whether the camera should mirror images.
Definition: dummy.cpp:244
virtual void set_vert_mirror(bool enabled)
Set whether the camera should mirror images vertically.
Definition: dummy.cpp:239
virtual void set_exposure(unsigned int exposure)
Set new exposure.
Definition: dummy.cpp:165
virtual void set_tilt(int tilt)
Set tilt value.
Definition: dummy.cpp:315
virtual unsigned int zoom()
Get current zoom value.
Definition: dummy.cpp:408
virtual unsigned int effect()
Current effect.
Definition: dummy.cpp:452
virtual void set_saturation(unsigned int saturation)
Set new saturation.
Definition: dummy.cpp:143
virtual void set_hue(int hue)
Set new hue.
Definition: dummy.cpp:154
virtual const char * format()
Get the image format the camera currently uses.
Definition: dummy.cpp:182
virtual void set_zoom(unsigned int zoom)
Set new camera-specific zoom value.
Definition: dummy.cpp:403
virtual void set_exposure_auto(unsigned int enabled)
Enable/disable auto exposure.
Definition: dummy.cpp:66
virtual unsigned int zoom_max()
Maximum zoom value.
Definition: dummy.cpp:414
virtual unsigned int focus()
Get current focus value.
Definition: dummy.cpp:474
virtual int max_tilt()
Get maximum tilt value.
Definition: dummy.cpp:377
virtual void set_focus(unsigned int focus)
Set new focus value.
Definition: dummy.cpp:480
virtual void pan_tilt(int &pan, int &tilt)
Get pan and tilt at the same time.
Definition: dummy.cpp:347
virtual unsigned int saturation()
Get current saturation.
Definition: dummy.cpp:137
virtual void reset_pan_tilt()
Bring camera into home position.
Definition: dummy.cpp:383
virtual bool horiz_mirror()
Return whether the camera image is horizontally mirrored.
Definition: dummy.cpp:216
virtual bool vert_mirror()
Return whether the camera image is vertically mirrored.
Definition: dummy.cpp:222
virtual void reset_zoom()
Reset zoom.
Definition: dummy.cpp:398
virtual void size(unsigned int &width, unsigned int &height)
Get the current image size.
Definition: dummy.cpp:205
virtual int blue_balance()
Get current blue balance.
Definition: dummy.cpp:82
virtual void set_pan_tilt_rad(float pan, float tilt)
Set pan and tilt as float value.
Definition: dummy.cpp:325
virtual bool auto_focus()
Check if auto focus is enabled.
Definition: dummy.cpp:463
virtual void set_effect(unsigned int effect)
Enable effect.
Definition: dummy.cpp:447
virtual bool supports_effect(unsigned int effect)
Check if camera control supports desired effect.
Definition: dummy.cpp:441