VAT  3.0
Video Analysis Tool
ReliableMobileObject2D.h
1 #ifndef RELIABLEMOBILE_OBJECT2D_H
2 #define RELIABLEMOBILE_OBJECT2D_H
3 
4 #include "blob.h"
5 #include "RMAlternativeSolution2D.h"
6 #include <iostream>
7 #include <map>
8 #include <deque>
9 
11 
12 typedef QSharedPointer<ReliableMobileObject2D> SpReliableMobileObject2D;
13 
15 
16  private:
17  int bestSolutionIndex;
18  double bestMeanProbability;
19 
20 
21  public:
22  std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator> alternativeSolutions;
23  static int m_currentTrackingBlobsNumber;
24  int incompleteAlternatives;
25  int numUsed;
26  bool toErase;
29 
30  //Blobs used in "follow mobiles" phase.
31  bool *usedBlobs;
32  bool *involvedBlobs;
33 
34  //Init Functions
35  void initUsedBlobsList();
36  void initInvolvedBlobs();
37 
38  //Inserting Functions
39  void insertNewSolution(SpRMAlternativeSolution2D solution);
40 
41  //Setting Functions
42  void setBestSolution();
43 
44  //Getting Functions
45  double getBestProbability();
46  int getBestSolutionIndex();
47  SpRMAlternativeSolution2D getBestSolution();
48  std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>* getAlternativeSolutions();
49  std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator begin();
50  std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator end();
51  void erase(std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator first, std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator last);
52  void erase(std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator element);
53 
54  std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator operator[](int);
55  unsigned int size();
56  bool empty();
57  void clear();
58  void insert(SpRMAlternativeSolution2D);
59  void insert(std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator first,
60  std::set<SpRMAlternativeSolution2D, alternatives2DOrderedByBestProbabilityOperator>::iterator last);
61  friend std::ostream& operator<<(std::ostream&, SpReliableMobileObject2D);
62  };
63 
64 
66 
67 #endif
Definition: ReliableMobileObject2D.h:14