stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
i_object_metadata.h
1 #pragma once
2 
3 #include <nx/sdk/interface.h>
4 
5 #include <nx/sdk/uuid.h>
6 #include <nx/sdk/i_attribute.h>
7 #include <nx/sdk/analytics/i_metadata.h>
8 
9 namespace nx {
10 namespace sdk {
11 namespace analytics {
12 
16 class IObjectMetadata: public Interface<IObjectMetadata, IMetadata>
17 {
18 public:
19  static auto interfaceId() { return InterfaceId("nx::sdk::analytics::IObjectMetadata"); }
20 
24  struct Rect
25  {
26  Rect() = default;
27 
28  Rect(float x, float y, float width, float height):
29  x(x), y(y), width(width), height(height)
30  {
31  }
32 
36  float x = 0;
37 
41  float y = 0;
42 
47  float width = 0;
48 
53  float height = 0;
54  };
55 
60  virtual Uuid id() const = 0;
61 
65  virtual const char* subtype() const = 0;
66 
73  virtual const IAttribute* attribute(int index) const = 0;
74 
78  virtual int attributeCount() const = 0;
79 
84  virtual const char* auxiliaryData() const = 0;
85 
89  virtual Rect boundingBox() const = 0;
90 };
91 
92 } // namespace analytics
93 } // namespace sdk
94 } // namespace nx
Definition: interface.h:26
virtual int attributeCount() const =0
virtual Uuid id() const =0
float height
Definition: i_object_metadata.h:53
virtual const char * subtype() const =0
Definition: i_object_metadata.h:24
float width
Definition: i_object_metadata.h:47
virtual Rect boundingBox() const =0
Definition: uuid.h:17
float y
Definition: i_object_metadata.h:41
Definition: i_attribute.h:6
Definition: i_object_metadata.h:16
Definition: debug.cpp:12
virtual const IAttribute * attribute(int index) const =0
virtual const char * auxiliaryData() const =0
float x
Definition: i_object_metadata.h:36