stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
common_object.h
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 
6 #include <plugins/plugin_tools.h>
7 #include <nx/sdk/analytics/objects_metadata_packet.h>
8 #include <nx/sdk/analytics/common_attribute.h>
9 
10 namespace nx {
11 namespace sdk {
12 namespace analytics {
13 
14 class CommonObject: public nxpt::CommonRefCounter<Object>
15 {
16 public:
17  virtual ~CommonObject();
18 
19  virtual void* queryInterface(const nxpl::NX_GUID& interfaceId) override;
20 
21  virtual const char* typeId() const override;
22  virtual float confidence() const override;
23  virtual nxpl::NX_GUID id() const override;
24  virtual const char* objectSubType() const override;
25  virtual const IAttribute* attribute(int index) const override;
26  virtual int attributeCount() const override;
27  virtual const char* auxilaryData() const override;
28  virtual Rect boundingBox() const override;
29 
30  void setTypeId(std::string typeId);
31  void setConfidence(float confidence);
32  void setId(const nxpl::NX_GUID& value);
33  void setObjectSubType(const std::string& value);
34  void setAttributes(const std::vector<CommonAttribute>& value);
35  void setAuxilaryData(std::string value);
36  void setBoundingBox(const Rect& rect);
37 
38 private:
39  std::string m_typeId;
40 
41  float m_confidence = 1.0;
42 
43  nxpl::NX_GUID m_id{{0}};
44  std::string m_objectSubType;
45  std::vector<CommonAttribute> m_attributes;
46  std::string m_auxilaryData;
47  Rect m_rect;
48 };
49 
50 } // namespace nx
51 } // namespace sdk
52 } // namespace nx
GUID of plugin interface.
Definition: plugin_api.h:21
Definition: common_object.h:14
Definition: plugin_tools.h:221
Definition: common.h:55
Definition: debug.cpp:14
Definition: objects_metadata_packet.h:14