DetectionSequence.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. objects_ = std::vector<std::vector<ObjectDataPtr>>();
  11. }
  12. void DetectionSequence::AddObject(ObjectDataPtr object_data)
  13. {
  14. if (object_data->GetFrameIndex() >= objects_.size())
  15. {
  16. objects_.push_back(std::vector<ObjectDataPtr>());
  17. }
  18. objects_[object_data->GetFrameIndex()].push_back(object_data);
  19. }
  20. void DetectionSequence::Clear()
  21. {
  22. objects_.clear();
  23. }
  24. std::string DetectionSequence::GetName() const
  25. {
  26. return name_;
  27. }
  28. ObjectDataPtr DetectionSequence::GetObject
  29. (size_t frame_index, size_t object_index) const
  30. {
  31. return objects_[frame_index][object_index];
  32. }
  33. size_t DetectionSequence::GetFrameCount() const
  34. {
  35. return objects_.size();
  36. }
  37. size_t DetectionSequence::GetObjectCount(size_t frame_index) const
  38. {
  39. return objects_[frame_index].size();
  40. }
  41. std::ostream& operator<<(std::ostream& os, const DetectionSequence& obj)
  42. {
  43. for (size_t frame = 0; frame < obj.objects_.size(); ++frame)
  44. {
  45. os << "Frame: " << frame << std::endl;
  46. for (auto obj_in_frame : obj.objects_[frame])
  47. {
  48. os << *obj_in_frame << std::endl;
  49. }
  50. }
  51. return os;
  52. }
  53. }