Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
PanTiltManualControl.hh
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2003-2009 (see file CONTACT for details)
5  Multimediale Systeme der Informationsverarbeitung
6  Institut fuer Informatik
7  Christian-Albrechts-Universitaet Kiel
8 
9 
10 BIAS is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14 
15 BIAS is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with BIAS; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 #ifndef PANTILTMANUALCONTROL_HH_
26 #define PANTILTMANUALCONTROL_HH_
27 
28 #include "PanTiltControlInterface.hh"
29 
30 namespace BIAS{
31 
32 /** \class PanTiltManualControl, derived from PanTiltControlInterface
33  * \brief Manual control of pan tilt unit using keyboard control with ncurses
34  * \author fkellner
35  * */
36 class BIASPanTilt_EXPORT PanTiltManualControl : public PanTiltControlInterface {
37 public:
38  /** \brief contructor */
39  PanTiltManualControl(std::string device, bool heavyDutyMode);
40  /** \brief Start the control */
41  void StartControl();
42  /** \brief Stop the control */
43  void StopControl() {}
44  /** \brief Resume the control */
45  void ResumeControl() {}
46 };
47 
48 /**
49  * \class PanTiltManualControlFactory
50  * \brief Factory to create a PanTiltManualControl
51  */
52 class BIASPanTilt_EXPORT PanTiltManualControlFactory : public PanTiltControlFactory {
53 public:
54  PanTiltManualControl* Create(std::string device, bool heavyDutyMode) {
55  return new PanTiltManualControl(device, heavyDutyMode);
56  }
57 };
58 }
59 #endif /*PanTiltManualControl_HH_*/
abstract control class for control of Directed Perception Pan Tilt Unit.
PanTiltManualControl * Create(std::string device, bool heavyDutyMode)
void StopControl()
Stop the control.
Factory to create a PanTiltManualControl.
PanTiltControlInterface.
void ResumeControl()
Resume the control.
Abstract controller factory used to create all different kinds of PTU controls.