Tracore
ObjectDataMap.h
1 //
2 // Created by wrede on 22.04.16.
3 //
4 
5 #ifndef GBMOT_OBJECTDATAMAP_H
6 #define GBMOT_OBJECTDATAMAP_H
7 
8 #include <string>
9 #include <unordered_map>
10 #include <vector>
11 #include <cmath>
12 #include "ObjectData.h"
13 
14 namespace core
15 {
16  //TODO RENAME
21  class ObjectDataMap : public ObjectData
22  {
23  private:
27  std::unordered_map<std::string, std::pair<double, double>> value_weight_map_;
28  protected:
33  virtual void Print(std::ostream& os) const;
34  public:
39  ObjectDataMap(size_t frame_index);
40 
49  size_t frame_index,
50  std::vector<std::string> keys,
51  std::vector<double> value_list);
61  size_t frame_index,
62  std::vector<std::string> keys,
63  std::vector<double> value_list,
64  std::vector<double> weight_list);
65 
73  size_t frame_index,
74  std::vector<std::string> keys,
75  std::vector<std::pair<double, double>> value_weight_list);
76 
82  double GetValue(std::string key);
83 
89  double GetWeight(std::string key);
90 
91  //TODO find a better name
99  void PutValueWeight(std::string key, double value, double weight);
100 
107  void PutValueWeight(std::string key, std::pair<double, double> value_weight);
108 
116  virtual double CompareTo(ObjectData *obj);
117 
125  virtual double CompareTo(ObjectDataMap *obj);
126  };
127 }
128 
129 
130 #endif //GBMOT_OBJECTDATAMAP_H
ObjectDataMap(size_t frame_index)
Definition: ObjectDataMap.cpp:23
double GetValue(std::string key)
Definition: ObjectDataMap.cpp:67
Definition: Definitions.h:14
virtual void Print(std::ostream &os) const
Definition: ObjectDataMap.cpp:9
double GetWeight(std::string key)
Definition: ObjectDataMap.cpp:72
Definition: ObjectDataMap.h:21
virtual double CompareTo(ObjectData *obj)
Definition: ObjectDataMap.cpp:89
void PutValueWeight(std::string key, double value, double weight)
Definition: ObjectDataMap.cpp:77
Definition: ObjectData.h:21