Fawkes API  Fawkes Development Version
tracker.h
1 
2 /***************************************************************************
3  * camera_tracker.h - This header defines a camera tracker
4  *
5  * Generated: Thu Jul 14 22:29:25 2005
6  * Copyright 2005 Tim Niemueller [www.niemueller.de]
7  *
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version. A runtime exception applies to
14  * this software (see LICENSE.GPL_WRE file mentioned below for details).
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Library General Public License for more details.
20  *
21  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22  */
23 
24 #ifndef __FIREVISION_FVUTILS_CAMERA_TRACKER_H_
25 #define __FIREVISION_FVUTILS_CAMERA_TRACKER_H_
26 
27 namespace firevision {
28 #if 0 /* just to make Emacs auto-indent happy */
29 }
30 #endif
31 
32 class RelativePositionModel;
33 
35 
36  public:
37  CameraTracker(RelativePositionModel *relative_position_model,
38  float camera_height,
39  float camera_ori_deg );
40 
42 
43  void calc();
44 
45  float get_new_pan();
46  float get_new_tilt();
47 
48  void set_mode(unsigned int mode);
50  void set_robot_position(float x, float y, float ori);
51  void set_world_point(float x, float y);
52 
53  static const unsigned int MODE_MODEL;
54  static const unsigned int MODE_WORLD;
55 
56  private:
57 
59 
60  float camera_height;
61  float camera_orientation;
62 
63  float new_pan;
64  float new_tilt;
65 
66  float robot_x;
67  float robot_y;
68  float robot_ori;
69 
70  float world_x;
71  float world_y;
72 
73  unsigned int mode;
74 };
75 
76 } // end namespace firevision
77 
78 #endif
CameraTracker(RelativePositionModel *relative_position_model, float camera_height, float camera_ori_deg)
Constructor.
Definition: tracker.cpp:69
float get_new_pan()
Get the new pan value.
Definition: tracker.cpp:138
static const unsigned int MODE_MODEL
Model mode, track by a relative world model.
Definition: tracker.h:53
void set_robot_position(float x, float y, float ori)
Set robot position.
Definition: tracker.cpp:187
void set_world_point(float x, float y)
Set world point.
Definition: tracker.cpp:203
Relative Position Model Interface.
float get_new_tilt()
Get the new tilt value.
Definition: tracker.cpp:148
static const unsigned int MODE_WORLD
World point mode, track a world point.
Definition: tracker.h:54
void set_mode(unsigned int mode)
Set tracking mode.
Definition: tracker.cpp:159
void calc()
Calculate values.
Definition: tracker.cpp:92
~CameraTracker()
Destructor.
Definition: tracker.cpp:82
Camera Tracker.
Definition: tracker.h:34
void set_relative_position_model(RelativePositionModel *rpm)
Set relative position model.
Definition: tracker.cpp:174