stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
object_metadata.h
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 
6 #include <nx/sdk/helpers/ref_countable.h>
7 
8 #include <nx/sdk/uuid.h>
9 #include <nx/sdk/analytics/i_object_metadata.h>
10 #include <nx/sdk/analytics/helpers/attribute.h>
11 
12 namespace nx {
13 namespace sdk {
14 namespace analytics {
15 
16 class ObjectMetadata: public RefCountable<IObjectMetadata>
17 {
18 public:
19  virtual const char* typeId() const override;
20  virtual float confidence() const override;
21  virtual Uuid id() const override;
22  virtual const char* subtype() const override;
23  virtual const IAttribute* attribute(int index) const override;
24  virtual int attributeCount() const override;
25  virtual const char* auxiliaryData() const override;
26  virtual Rect boundingBox() const override;
27 
28  void setTypeId(std::string typeId);
29  void setConfidence(float confidence);
30  void setId(const Uuid& value);
31  void setSubtype(const std::string& value);
32  void setAttributes(const std::vector<Attribute>& value);
33  void setAuxiliaryData(std::string value);
34  void setBoundingBox(const Rect& rect);
35 
36 private:
37  std::string m_typeId;
38  float m_confidence = 1.0;
39  Uuid m_id;
40  std::string m_subtype;
41  std::vector<Attribute> m_attributes;
42  std::string m_auxiliaryData;
43  Rect m_rect;
44 };
45 
46 } // namespace nx
47 } // namespace sdk
48 } // namespace nx
Definition: object_metadata.h:16
Definition: uuid.h:17
Definition: i_attribute.h:6
Definition: debug.cpp:13
Definition: ref_countable.h:79