1 #ifndef NUITRACK_MIDDLEWARE_ISSUES_DATA_H_
2 #define NUITRACK_MIDDLEWARE_ISSUES_DATA_H_
8 #include "nuitrack/capi/IssueTracker_CAPI.h"
9 #include "nuitrack/types/ObjectData.h"
10 #include "nuitrack/types/Issue.h"
11 #include "nuitrack/types/Export.h"
12 #include "nuitrack/types/FrameBorderIssue.h"
13 #include "nuitrack/types/OcclusionIssue.h"
14 #include "nuitrack/types/SensorIssue.h"
35 nuitrack_DestroyIssueTrackerData(
_pimpl);
41 typedef std::shared_ptr<IssuesData>
Ptr;
48 template<
typename T> std::shared_ptr<T> NUITRACK_LOCAL
getIssue()
const
50 std::shared_ptr<T> result;
51 if(strcmp(T::getType().c_str(),
"SensorIssue") == 0)
56 char* buffer =
new char[bufferSize];
57 if(nuitrack_GetSensorIssue(
_pimpl, buffer, bufferSize))
59 issue =
new SensorIssue(SENSOR_ISSUE, std::string(buffer));
63 result = std::shared_ptr<T>(
static_cast<T*
>(issue));
74 template<
typename T> std::shared_ptr<T> NUITRACK_LOCAL
getUserIssue(
int userId)
const
76 std::shared_ptr<T> result;
78 if(strcmp(T::getType().c_str(),
"OcclusionIssue") == 0)
80 bool occlusion = nuitrack_GetOcclusionIssue(
_pimpl, userId);
86 result = std::shared_ptr<T>(
static_cast<T*
>(issue));
89 if(strcmp(T::getType().c_str(),
"FrameBorderIssue") == 0)
94 nuitrack_GetFrameBorderIssue(
_pimpl, userId, &left, &right, &top);
96 if(left || right || top)
100 result = std::shared_ptr<T>(
static_cast<T*
>(issue));
IssueTrackerData * _pimpl
定義:IssuesData.h:107
std::shared_ptr< T > NUITRACK_LOCAL getUserIssue(int userId) const
検出した、ユーザー関連の問題に関する情報を戻します。
定義:IssuesData.h:74
センサーの問題を表します。
定義:SensorIssue.h:18
IssuesData(IssueTrackerData *pimpl)
定義:IssuesData.h:28
issue に関する一般的な情報を保存します。
定義:Issue.h:30
オクルージョン (手前にある物体が背後にある物体を隠す状態) の問題を表します。
定義:OcclusionIssue.h:14
std::shared_ptr< T > NUITRACK_LOCAL getIssue() const
検出した、センサー関連の問題に関する情報を戻します。
定義:IssuesData.h:48
問題の検出に関する結果を保存します。
定義:IssuesData.h:24
std::shared_ptr< IssuesData > Ptr
IssuesData インスタンスにアクセスするためのスマート ポインター。
定義:IssuesData.h:41
フレーム枠の問題を表します。
定義:FrameBorderIssue.h:19