1 #ifndef NUITRACK_HEADER_ONLY_API_H_
2 #define NUITRACK_HEADER_ONLY_API_H_
10 #include "nuitrack/types/Export.h"
11 #include "nuitrack/types/Error.h"
13 #include "nuitrack/modules/NuitrackModule.h"
14 #include "nuitrack/modules/DepthSensor.h"
15 #include "nuitrack/modules/ColorSensor.h"
16 #include "nuitrack/modules/UserTracker.h"
17 #include "nuitrack/modules/SkeletonTracker.h"
18 #include "nuitrack/modules/GestureRecognizer.h"
19 #include "nuitrack/modules/HandTracker.h"
20 #include "nuitrack/types/IssuesData.h"
22 #include "nuitrack/capi/Public_Nuitrack_CAPI.h"
23 #include "nuitrack/capi/IssueTracker_CAPI.h"
58 static void init(
const std::string& config =
"")
60 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_InitializeFromConfig(config.c_str()));
73 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_Run());
87 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_Update());
104 static void update(std::shared_ptr<HeaderOnlyAPI_Module> module)
106 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_SyncUpdatePublic(module.get()));
118 static void waitUpdate(std::shared_ptr<HeaderOnlyAPI_Module> module)
120 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_WaitSyncUpdatePublic(module.get()));
131 CallbackStruct<IssuesData::Ptr>* callbackStruct =
132 (CallbackStruct<IssuesData::Ptr>*)nuitrack_getIssuesCallbackStruct();
133 if(callbackStruct != NULL)
135 nuitrack_setIssuesCallbackStruct(NULL);
136 delete callbackStruct;
138 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_Release());
150 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_SetConfigValue(key.c_str(), value.c_str()));
162 int bufferSize = 5000;
163 char* buffer =
new char[bufferSize];
164 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_GetConfigValue(key.c_str(), buffer, bufferSize));
166 std::string result = std::string(buffer);
180 int bufferSize = (6000 * 6);
181 char* buffer =
new char[bufferSize];
182 ExceptionTranslator::generateExceptionByErrorCode(nuitrack_GetInstancesJson(buffer, bufferSize));
184 std::string result = std::string(buffer);
208 IssueTracker* issueTracker = NULL;
209 nuitrack_getIssueTracker(&issueTracker);
210 if(issueTracker == NULL)
213 if(nuitrack_getIssuesCallbackStruct() == NULL)
215 CallbackStruct<IssuesData::Ptr>* ptr =
new CallbackStruct<IssuesData::Ptr>();
216 nuitrack_setIssuesCallbackStruct(ptr);
218 IssueTrackerCallbackWrapper* callbackWrapper =
new IssueTrackerCallbackWrapper();
219 callbackWrapper->setIssueTracker(issueTracker);
220 callbackWrapper->setFunctionAddress(&onIssuesUpdateCallback);
221 nuitrack_registerIssuesTrackerCallback(callbackWrapper);
224 return ((CallbackStruct<IssuesData::Ptr>*)(nuitrack_getIssuesCallbackStruct()))->addCallback(callback);
231 CallbackStruct<IssuesData::Ptr>* callbackStruct =
232 (CallbackStruct<IssuesData::Ptr>*)nuitrack_getIssuesCallbackStruct();
233 if(callbackStruct == NULL)
235 callbackStruct->executeAllCallbacks(newData);
246 CallbackStruct<IssuesData::Ptr>* callbackStruct =
247 (CallbackStruct<IssuesData::Ptr>*)nuitrack_getIssuesCallbackStruct();
248 if(callbackStruct == NULL)
250 callbackStruct->deleteCallback(handler);
static std::string getConfigValue(const std::string &key)
Nuitrack 設定パラメーターの値を取得します。
定義:Nuitrack.h:160
static void update()
Nuitrack の更新を初期化します。
定義:Nuitrack.h:85
static void setConfigValue(const std::string &key, const std::string &value)
Nuitrack 設定パラメーターの値を設定します。
定義:Nuitrack.h:148
static void waitUpdate(std::shared_ptr< HeaderOnlyAPI_Module > module)
Nuitrack モジュール更新の初期化を行い、完了するまで待ちます。
定義:Nuitrack.h:118
std::function< void(IssuesData::Ptr)> OnIssueUpdate
問題更新リクエストのためのコールバック タイプ。
定義:Nuitrack.h:197
static void run()
センサーにより提供されたデータの処理を開始します。
定義:Nuitrack.h:71
static uint64_t connectOnIssuesUpdate(const OnIssueUpdate &callback)
問題更新リクエストのためのコールバックを追加します。
定義:Nuitrack.h:206
static void init(const std::string &config="")
Nuitrack を初期化します。
定義:Nuitrack.h:58
static void disconnectOnIssuesUpdate(uint64_t handler)
問題更新リクエストのためのコールバックを削除します。
定義:Nuitrack.h:244
共通 Nuitrack 操作にとって重要なクラスです。
定義:Nuitrack.h:45
static std::string getInstancesJson()
Get the JSON string of Nuitrack instance-based API.
定義:Nuitrack.h:178
static void update(std::shared_ptr< HeaderOnlyAPI_Module > module)
Nuitrack モジュール データ更新を開始します。
定義:Nuitrack.h:104
static void release()
データ処理を停止し、既存の Nuitrack モジュールをすべて破壊します。
定義:Nuitrack.h:129
static void onIssuesUpdateCallback(IssueTrackerData *data)
定義:Nuitrack.h:228
問題の検出に関する結果を保存します。
定義:IssuesData.h:24
std::shared_ptr< IssuesData > Ptr
IssuesData インスタンスにアクセスするためのスマート ポインター。
定義:IssuesData.h:41