1 #ifndef NUITRACK_HAND_TRACKER_H_
2 #define NUITRACK_HAND_TRACKER_H_
6 #include "nuitrack/modules/HeaderOnlyAPI_Module.h"
7 #include "nuitrack/ModuleFunctions.h"
8 #include "nuitrack/types/Export.h"
9 #include "nuitrack/types/HandTrackerData.h"
10 #include "nuitrack/capi/HandTracker_CAPI.h"
11 #include "nuitrack/utils/ExceptionTranslator.h"
12 #include "nuitrack/utils/CallbackStruct.h"
36 typedef std::shared_ptr<HandTracker>
Ptr;
47 typedef std::function<void (HandTrackerData::Ptr)>
OnUpdate;
60 NuitrackModule* pimpl = NULL;
61 ExceptionType exception_code = nuitrack_CreateHandTracker(&pimpl);
62 ExceptionTranslator::generateExceptionByErrorCode(exception_code);
63 return std::shared_ptr<HandTracker>(
new HandTracker(pimpl));
69 nuitrack_DestroyHandTracker(
_pimpl);
111 HandTrackerDataInner* data = NULL;
112 nuitrack_ReceiveInnerHandTrackerData(
_pimpl, &data);
113 HandTrackerData::Ptr newFrame = HandTrackerData::Ptr(
new HandTrackerData(data));
122 return nuitrack_GetHandTrackerProcessingTime(
_pimpl);
125 bool canUpdate()
const
127 return nuitrack_GetNuitrackModuleCanUpdate(
_pimpl);
138 return nuitrack_GetNuitrackModuleTimestamp(
_pimpl);
145 HandTrackerData::Ptr newFrame = HandTrackerData::Ptr(
new HandTrackerData(data));
uint64_t connectOnUpdate(const OnUpdate &callback)
手のデータ更新リクエストのためのコールバックを追加します。
定義:HandTracker.h:90
インターフェイスに Nuitrack ハンド トラッカー モジュールの可能性を表します。...
定義:HandTracker.h:29
HandTrackerCallbackWrapper _callbackWrapper
定義:HandTracker.h:157
Exception タイプ
Nuitrack 内部関数の考え得るエラーコードです。
定義:Error.h:20
HandTracker(NuitrackModule *pimpl)
定義:HandTracker.h:73
float getProcessingTime() const
最後に行われた手のデータ処理をミリ秒で戻します。
定義:HandTracker.h:120
virtual uint64_t getTimestamp()
マイクロ秒で表示される、最後に処理したデータのタイムスタンプを戻します。
定義:HandTracker.h:136
std::function< void(HandTrackerData::Ptr)> OnUpdate
手のデータ更新リクエストのためのコールバック タイプ。
定義:HandTracker.h:47
void destroyHandTracker()
定義:HandTracker.h:149
std::shared_ptr< HandTracker > Ptr
Smart pointer to access the SkeletonTracker instance.
定義:HandTracker.h:36
static HandTracker::Ptr create()
HandTracker モジュール オブジェクトを作成します。
定義:HandTracker.h:58
static void onUpdateCallback(HandTrackerDataInner *data, HandTracker *tracker)
定義:HandTracker.h:143
void disconnectOnUpdate(uint64_t handler)
手のデータ更新リクエストのためのコールバックを削除します。
定義:HandTracker.h:101
NuitrackModule * _pimpl
定義:HandTracker.h:155
HandTrackerData::Ptr getData()
利用可能な最後の HandTrackerData に対してスマート ポインターを戻します。
定義:HandTracker.h:109
CallbackStruct< HandTrackerData::Ptr > * _callbackStruct
定義:HandTracker.h:159
特定の時間についての手のトラッキング結果を保存します。
定義:HandTrackerData.h:17