VAT  3.0
Video Analysis Tool
degumodel.h
1 #ifndef DEGUMODEL_H
2 #define DEGUMODEL_H
3 
4 #include "hullmodel.h"
5 #include "RMMT/RMMMobileObject.h"
6 #include <QSharedPointer>
7 
8 class DeguInstance {
9 public:
10  DeguInstance();
11  ~DeguInstance();
12 
13  SpHullModel hull;
14  point2D<int> centerPosition; //axis center position
15  point2D<int> headPosition; //estimated head position
16 
17  bool headByHull; //head could be determined by hull
18  bool headAtPoint1; //head is near point 1 (false means point 2), valid if headByHull=true
19 
20  bool headByVelocity; //head could be determined by velocity
21 
22  double length;
23  double Vx;
24  double Vy;
25  double Rhull;
26  double RV;
27  double R;
28  int frameNumber;
29 };
30 
31 typedef QSharedPointer<DeguInstance> SpDeguInstance;
32 
33 class Datapool;
34 
35 class DeguModel {
36 public:
37  DeguModel(int i_size);
38  ~DeguModel();
39 
40  void insert(Datapool *i_data, SpHullModel h, SpRMMMobileObject o);
41  void move(Datapool *i_data, SpRMMMobileObject o);
42  void keep(int frame);
43 
44  static double DEGU_SIZE_NO_TAIL;
45  static double DEGU_SIZE_WITH_TAIL;
46 
47  std::deque<SpDeguInstance> instances;
48  point2D<int> headPosition;
49  std::deque< point2D<int> > trajectory;
50  std::deque< point2D<int> > head_trajectory;
51  std::deque<int> frame_numbers;
52  int size;
53  int numFramesSeen;
54  int insertionType;
55 };
56 
57 #endif // DEGUMODEL_H
Definition: degumodel.h:8
An object of this class is instantiated at main code, and this object is used by every class to push ...
Definition: Datapool.h:39
Definition: degumodel.h:35