24 #ifndef __FIREVISION_FVUTILS_BASE_VISION_MASTER_H_ 25 #define __FIREVISION_FVUTILS_BASE_VISION_MASTER_H_ 27 #include <fvutils/color/colorspaces.h> 28 #include <fvcams/control/control.h> 29 #include <core/utils/refptr.h> 30 #include <core/exceptions/software.h> 36 class TypeMismatchException;
51 virtual Camera * register_for_camera(
const char *camera_string,
53 colorspace_t cspace = YUV422_PLANAR) = 0;
54 virtual Camera * register_for_raw_camera(
const char *camera_string,
58 virtual CameraControl *acquire_camctrl(
const char *cam_string) = 0;
75 acquire_camctrl(
const char *camera_string);
103 acquire_camctrl(
const char *camera_string, CC *&cc);
117 register_for_raw_camera(
const char *camera_string,
fawkes::Thread *thread);
121 virtual CameraControl *acquire_camctrl(
const char *cam_string,
122 const std::type_info &typeinf) = 0;
128 VisionMaster::acquire_camctrl(
const char *camera_string, CC *&cc)
130 const std::type_info &t =
typeid(CC);
132 CC *tcc =
dynamic_cast<CC *
>(pcc);
137 release_camctrl(tcc);
139 "not match desired type");
146 VisionMaster::acquire_camctrl(
const char *camera_string)
148 const std::type_info &t =
typeid(CC);
150 CC *tcc =
dynamic_cast<CC *
>(pcc);
154 release_camctrl(tcc);
156 "not match desired type");
162 VisionMaster::register_for_raw_camera(
const char *camera_string,
fawkes::Thread *thread)
164 Camera *camera = register_for_raw_camera(camera_string, thread);
165 CC *tcc =
dynamic_cast<CC *
>(camera);
169 unregister_thread(thread);
171 "not match desired type");
Camera interface for image aquiring devices in FireVision.
Fawkes library namespace.
Thread class encapsulation of pthreads.
Camera control interface base class.