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
26 private:
27 Ptr<IList<ITimestampedObjectMetadata>> m_track;
28 Ptr<IUncompressedVideoFrame> m_bestShotVideoFrame;
29 Ptr<ITimestampedObjectMetadata> m_bestShotObjectMetadata;
30 };
31
32 } // namespace analytics
33 } // namespace sdk
34 } // namespace nx
nx::sdk::Ptr
Definition: ptr.h:18
nx
Definition: apple_utils.h:6
nx::sdk::analytics::ITimestampedObjectMetadata
Definition: i_timestamped_object_metadata.h:11
nx::sdk::analytics::ObjectTrackInfo
Definition: object_track_info.h:14
nx::sdk::analytics::IUncompressedVideoFrame
Definition: i_uncompressed_video_frame.h:13
nx::sdk::IList
Definition: i_list.h:11
nx::sdk::RefCountable
Definition: ref_countable.h:84