VAT  3.0
Video Analysis Tool
ReliableMobileObject.h
1 #ifndef RELIABLEMOBILE_OBJECT_H
2 #define RELIABLEMOBILE_OBJECT_H
3 
4 #include "blob.h"
5 #include "RMAlternativeSolution.h"
6 #include <iostream>
7 #include <map>
8 #include <deque>
9 
11 
12 typedef QSharedPointer<ReliableMobileObject> SpReliableMobileObject;
13 
15 
16  private:
17  int bestSolutionIndex;
18  double bestMeanProbability;
19 
20 
21  public:
22  std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator> 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(SpRMAlternativeSolution solution);
40 
41  //Setting Functions
42  void setBestSolution();
43 
44  //Getting Functions
45  double getBestProbability();
46  int getBestSolutionIndex();
47  SpRMAlternativeSolution getBestSolution();
48  std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>* getAlternativeSolutions();
49  std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator begin();
50  std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator end();
51  void erase(std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator first, std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator last);
52  void erase(std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator element);
53 
54  std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator operator[](int);
55  unsigned int size();
56  bool empty();
57  void clear();
58  void insert(SpRMAlternativeSolution);
59  void insert(std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator first,
60  std::set<SpRMAlternativeSolution, alternativesOrderedByBestProbabilityOperator>::iterator last);
61  friend std::ostream& operator<<(std::ostream&, SpReliableMobileObject);
62  };
63 
64 
66 
67 #endif
Definition: ReliableMobileObject.h:14