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 
29  virtual void Print(std::ostream& os) const;
30  public:
35  ObjectDataMap(size_t frame_index);
36 
45  size_t frame_index,
46  std::vector<std::string> keys,
47  std::vector<double> value_list);
48 
58  size_t frame_index,
59  std::vector<std::string> keys,
60  std::vector<double> value_list,
61  std::vector<double> weight_list);
62 
70  size_t frame_index,
71  std::vector<std::string> keys,
72  std::vector<std::pair<double, double>> value_weight_list);
73 
79  double GetValue(std::string key);
80 
86  double GetWeight(std::string key);
87 
88  //TODO RENAME
96  void Put(std::string key, double value, double weight);
97 
104  void Put(std::string key, std::pair<double, double> value_weight);
105 
106  virtual double CompareTo(ObjectDataPtr obj) const override;
107 
108  virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override;
109 
110  virtual void Visualize(cv::Mat& image, cv::Scalar& color) const override;
111  };
112 }
113 
114 
115 #endif //GBMOT_OBJECTDATAMAP_H
ObjectDataMap(size_t frame_index)
Definition: ObjectDataMap.cpp:24
virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override
Definition: ObjectDataMap.cpp:106
double GetValue(std::string key)
Definition: ObjectDataMap.cpp:68
Definition: Definitions.h:11
double GetWeight(std::string key)
Definition: ObjectDataMap.cpp:73
Definition: ObjectDataMap.h:21
virtual double CompareTo(ObjectDataPtr obj) const override
Definition: ObjectDataMap.cpp:90
void Put(std::string key, double value, double weight)
Definition: ObjectDataMap.cpp:78
Definition: ObjectData.h:22
virtual void Visualize(cv::Mat &image, cv::Scalar &color) const override
Definition: ObjectDataMap.cpp:136