Tracklet.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //
  2. // Created by wrede on 25.04.16.
  3. //
  4. #include "Tracklet.h"
  5. namespace core
  6. {
  7. Tracklet::Tracklet() : ObjectData(0)
  8. {
  9. path_objects_ = std::vector<ObjectData>();
  10. last_frame_index_ = 0;
  11. }
  12. Tracklet::Tracklet(ObjectData first_object)
  13. : ObjectData(first_object.GetFrameIndex())
  14. {
  15. path_objects_ = std::vector<ObjectData>();
  16. path_objects_.push_back(first_object);
  17. last_frame_index_ = first_object.GetFrameIndex();
  18. }
  19. size_t Tracklet::GetFirstFrameIndex()
  20. {
  21. return frame_index_;
  22. }
  23. size_t Tracklet::GetLastFrameIndex()
  24. {
  25. return last_frame_index_;
  26. }
  27. ObjectData Tracklet::GetPathObject(size_t i)
  28. {
  29. return path_objects_[i];
  30. }
  31. void Tracklet::AddPathObjectFirst(ObjectData obj)
  32. {
  33. if (!obj.IsVirtual())
  34. {
  35. path_objects_.insert(path_objects_.begin(), obj);
  36. if (obj.GetFrameIndex() < frame_index_)
  37. {
  38. frame_index_ = obj.GetFrameIndex();
  39. }
  40. else if (obj.GetFrameIndex() > last_frame_index_)
  41. {
  42. last_frame_index_ = obj.GetFrameIndex();
  43. }
  44. }
  45. }
  46. void Tracklet::AddPathObjectLast(ObjectData obj)
  47. {
  48. if (!obj.IsVirtual())
  49. {
  50. path_objects_.push_back(obj);
  51. if (obj.GetFrameIndex() > last_frame_index_)
  52. {
  53. last_frame_index_ = obj.GetFrameIndex();
  54. }
  55. else if (obj.GetFrameIndex() < frame_index_)
  56. {
  57. frame_index_ = obj.GetFrameIndex();
  58. }
  59. }
  60. }
  61. double Tracklet::CompareTo(ObjectData *obj)
  62. {
  63. return 0.0;
  64. }
  65. }