DetectionSequence.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. //
  2. // Created by wrede on 19.04.16.
  3. //
  4. #include "DetectionSequence.h"
  5. namespace core
  6. {
  7. DetectionSequence::DetectionSequence(const std::string& name)
  8. {
  9. name_ = name;
  10. //TODO ORIGINAL
  11. // objects_ = std::vector<std::vector<ObjectDataPtr>>();
  12. frame_offset_ = std::numeric_limits<size_t>::max();
  13. frame_count_ = 0;
  14. }
  15. void DetectionSequence::AddObject(ObjectDataPtr object_data)
  16. {
  17. size_t frame = object_data->GetFrameIndex();
  18. objects_[frame].push_back(object_data);
  19. if (!object_data->IsVirtual())
  20. {
  21. if (frame < frame_offset_)
  22. frame_offset_ = frame;
  23. if (frame > frame_count_)
  24. frame_count_ = frame;
  25. }
  26. //TODO ORIGINAL
  27. // while (object_data->GetFrameIndex() >= objects_.size())
  28. // {
  29. // objects_.push_back(std::vector<ObjectDataPtr>());
  30. // }
  31. // objects_[object_data->GetFrameIndex()].push_back(object_data);
  32. }
  33. void DetectionSequence::Clear()
  34. {
  35. objects_.clear();
  36. }
  37. std::string DetectionSequence::GetName() const
  38. {
  39. return name_;
  40. }
  41. ObjectDataPtr DetectionSequence::GetObject(size_t frame_index, size_t object_index)
  42. {
  43. return objects_[frame_index][object_index];
  44. }
  45. size_t DetectionSequence::GetFrameCount() const
  46. {
  47. return frame_count_;
  48. }
  49. size_t DetectionSequence::GetObjectCount(size_t frame_index)
  50. {
  51. return objects_[frame_index].size();
  52. }
  53. std::ostream & operator<<(std::ostream & os, DetectionSequence const & obj)
  54. {
  55. for (auto frame : obj.objects_)
  56. {
  57. os << "Frame: " << frame.first << std::endl;
  58. for (auto obj_in_frame : frame.second)
  59. {
  60. os << *obj_in_frame << std::endl;
  61. }
  62. }
  63. return os;
  64. }
  65. size_t DetectionSequence::GetFrameOffset() const
  66. {
  67. return frame_offset_;
  68. }
  69. }