Nuitrack  1.11.2
3D Skeleton Tracking Middleware
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events Groups Pages
Issue.h
1 #ifndef NUITRACK_ISSUE_H_
2 #define NUITRACK_ISSUE_H_
3 
4 #include <memory>
5 #include <string>
6 #include <cstring>
7 
8 namespace tdv
9 {
10 namespace nuitrack
11 {
16 enum IssueId
17 {
18  NONE_ISSUE = 0,
19  FRAME_BORDER_ISSUE = 1,
20  OCCLUSION_ISSUE = 2,
21  SENSOR_ISSUE = 3
22 };
23 
30 class Issue
31 {
32 public:
36  typedef std::shared_ptr<Issue> Ptr;
37 
41  static std::string getType()
42  {
43  static std::string _type = "Issue";
44  return _type;
45  }
46 
50  virtual std::string getName() const
51  {
52  return _name;
53  }
54 
59  {
60  return _id;
61  }
62 
66  Issue() :
67  _id(NONE_ISSUE),
68  _name("Issue")
69  {
70  }
71 
75  Issue(IssueId id, const std::string &name) :
76  _id(id),
77  _name(name)
78  {
79  }
80 
81  virtual ~Issue()
82  {
83  }
84 
85 protected:
89  std::string _name;
90 };
91 
92 } /* namespace nuitrack */
93 } /* namespace tdv */
94 
95 #endif /* NUITRACK_ISSUE_H_ */
std::string _name
Definition: Issue.h:89
IssueId _id
Definition: Issue.h:87
std::shared_ptr< Issue > Ptr
Smart pointer to access the Issue instance.
Definition: Issue.h:36
static std::string getType()
Returns the issue type as a string.
Definition: Issue.h:41
virtual std::string getName() const
Returns the issue name.
Definition: Issue.h:50
IssueId
Describes an issue identifier.
Definition: Issue.h:16
Issue(IssueId id, const std::string &name)
Constructs an issue object from its identifier and name.
Definition: Issue.h:75
Stores general information about a issue.
Definition: Issue.h:30
IssueId getId()
Returns the issue identifier.
Definition: Issue.h:58
Issue()
Constructs a default issue.
Definition: Issue.h:66