24 #include <core/exceptions/software.h>
25 #include <fvcams/cam_exceptions.h>
26 #include <fvcams/control/color.h>
27 #include <fvcams/control/dummy.h>
28 #include <fvcams/control/effect.h>
29 #include <fvcams/control/factory.h>
30 #include <fvcams/control/focus.h>
31 #include <fvcams/control/image.h>
32 #include <fvcams/control/pantilt.h>
33 #include <fvcams/control/source.h>
34 #include <fvcams/control/zoom.h>
35 #include <fvutils/system/camargp.h>
37 #ifdef HAVE_VISCA_CTRL
38 # include <fvcams/control/visca.h>
40 #ifdef HAVE_EVID100P_CTRL
41 # include <fvcams/control/sony_evid100p.h>
43 #ifdef HAVE_DPPTU_CTRL
44 # include <fvcams/control/dp_ptu.h>
51 namespace firevision {
78 #ifdef HAVE_EVID100P_CTRL
87 #ifdef HAVE_DPPTU_CTRL
88 c =
new DPPTUControl(cap);
120 CameraControlFactory::instance(
const char *as)
124 return instance(cap);
142 CameraControlFactory::instance(
Camera *camera)
165 CameraControlFactory::instance(
const std::type_info &typeinf,
Camera *camera)
170 c = dynamic_cast<CameraControlColor *>(camera);
173 c = dynamic_cast<CameraControlImage *>(camera);
176 c = dynamic_cast<CameraControlPanTilt *>(camera);
179 c = dynamic_cast<CameraControlFocus *>(camera);
182 c = dynamic_cast<CameraControlZoom *>(camera);
185 c = dynamic_cast<CameraControlEffect *>(camera);
188 c = dynamic_cast<CameraControlSource *>(camera);