Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / colonet / server / includes / PositionMonitor.h @ 550

History | View | Annotate | Download (831 Bytes)

1
/**
2
 * @file PositionMonitor.h
3
 *
4
 * @author Jason Knichel
5
 *
6
 * @date 2/4/08
7
 */
8

    
9
#ifndef POSITIONMONITOR_H
10
#define POSITIONMONITOR_H
11

    
12
#include <map>
13
#include <vision.h>
14
using namespace std;
15

    
16
using namespace std;
17

    
18
class PositionMonitor {
19
 public:
20
  PositionMonitor(void);
21
  ~PositionMonitor(void);
22

    
23
  void run(void);
24
  //int stopMonitoring(void);
25
  int updatePositions(void);
26

    
27
  int assignRealId(int old_id, int real_id);
28
  map<int, VisionPosition> getAllRobotPositions(void);
29
  int getRobotPosition(int robot_id, int* xbuf, int* ybuf);
30
  int getNumVisibleRobots(void);
31
  VisionPosition getFirstPosition(void);
32

    
33
 private:
34
  map<int, VisionPosition> positionMap;
35
  map<int, int> deleteBufferMap;
36
  bool isProbablySameRobot(VisionPosition p1, VisionPosition p2);
37
  int newIdToAssign;
38
  pthread_mutex_t position_map_lock;
39
};
40

    
41
#endif