nx_metadata_sdk  1.0
Metadata SDK
object_track_info.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include <nx/sdk/ptr.h>
6 #include <nx/sdk/helpers/ref_countable.h>
7 
8 #include <nx/sdk/analytics/i_object_track_info.h>
9 
10 namespace nx {
11 namespace sdk {
12 namespace analytics {
13 
14 class ObjectTrackInfo: public RefCountable<IObjectTrackInfo>
15 {
16 public:
17  void setTrack(IList<ITimestampedObjectMetadata>* track);
18  void setBestShotVideoFrame(IUncompressedVideoFrame* bestShotVideoFrame);
19  void setBestShotObjectMetadata(ITimestampedObjectMetadata* bestShotObjectMetadata);
20 
21 protected:
22  virtual IList<ITimestampedObjectMetadata>* getTrack() const override;
23  virtual IUncompressedVideoFrame* getBestShotVideoFrame() const override;
24  virtual ITimestampedObjectMetadata* getBestShotObjectMetadata() const override;
25 private:
27  Ptr<IUncompressedVideoFrame> m_bestShotVideoFrame;
28  Ptr<ITimestampedObjectMetadata> m_bestShotObjectMetadata;
29 };
30 
31 } // namespace analytics
32 } // namespace sdk
33 } // namespace nx
Definition: ptr.h:18
Definition: apple_utils.h:6
Definition: i_timestamped_object_metadata.h:11
Definition: object_track_info.h:14
Definition: i_uncompressed_video_frame.h:71
Definition: i_list.h:9
Definition: ref_countable.h:84