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 
29 class RelativePositionModel;
30 
32 {
33 public:
34  CameraTracker(RelativePositionModel *relative_position_model,
35  float camera_height,
36  float camera_ori_deg);
37 
39 
40  void calc();
41 
42  float get_new_pan();
43  float get_new_tilt();
44 
45  void set_mode(unsigned int mode);
47  void set_robot_position(float x, float y, float ori);
48  void set_world_point(float x, float y);
49 
50  static const unsigned int MODE_MODEL;
51  static const unsigned int MODE_WORLD;
52 
53 private:
55 
56  float camera_height;
57  float camera_orientation;
58 
59  float new_pan;
60  float new_tilt;
61 
62  float robot_x;
63  float robot_y;
64  float robot_ori;
65 
66  float world_x;
67  float world_y;
68 
69  unsigned int mode;
70 };
71 
72 } // end namespace firevision
73 
74 #endif
CameraTracker(RelativePositionModel *relative_position_model, float camera_height, float camera_ori_deg)
Constructor.
Definition: tracker.cpp:63
float get_new_pan()
Get the new pan value.
Definition: tracker.cpp:127
static const unsigned int MODE_MODEL
Model mode, track by a relative world model.
Definition: tracker.h:50
void set_robot_position(float x, float y, float ori)
Set robot position.
Definition: tracker.cpp:172
void set_world_point(float x, float y)
Set world point.
Definition: tracker.cpp:187
Relative Position Model Interface.
float get_new_tilt()
Get the new tilt value.
Definition: tracker.cpp:136
static const unsigned int MODE_WORLD
World point mode, track a world point.
Definition: tracker.h:51
void set_mode(unsigned int mode)
Set tracking mode.
Definition: tracker.cpp:146
void calc()
Calculate values.
Definition: tracker.cpp:83
~CameraTracker()
Destructor.
Definition: tracker.cpp:74
Camera Tracker.
Definition: tracker.h:31
void set_relative_position_model(RelativePositionModel *rpm)
Set relative position model.
Definition: tracker.cpp:160