00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00035 #include "Gesture.h"
00036 #include "../core/Exception.h"
00037 #include "../DeviceManager.h"
00038 #include "../objects/KinectDevice.h"
00039
00040 #include "../ScolPlugin.h"
00041
00042
00043 void XN_CALLBACK_TYPE GestureDetected(xn::GestureGenerator& generator, const XnChar* strGesture, const XnPoint3D* pIDPosition, const XnPoint3D* pEndPosition, void* pCookie)
00044 {
00045 }
00046
00047 void XN_CALLBACK_TYPE GestureProcess(xn::GestureGenerator& generator, const XnChar* strGesture, const XnPoint3D* pPosition, XnFloat fProgress, void* pCookie)
00048 {
00049 }
00050
00051
00052 namespace NIDevice
00053 {
00054 namespace Generator
00055 {
00056 Gesture::Gesture(NIDevice::Objects::KinectDevice* pDevice) : NIDevice::Core::GenericGenerator<xn::GestureGenerator, XN_NODE_TYPE_GESTURE>(pDevice)
00057 {
00058 RegisterCallbacks();
00059 }
00060
00061 Gesture::Gesture(): NIDevice::Core::GenericGenerator<xn::GestureGenerator, XN_NODE_TYPE_GESTURE>(0)
00062 {
00063 }
00064
00065 Gesture::~Gesture()
00066 {
00067 UnregisterCallbacks();
00068 }
00069
00070 void Gesture::RegisterCallbacks()
00071 {
00072 nRetVal = GetGenerator().RegisterGestureCallbacks(GestureDetected, GestureProcess, NULL, hGestureCallbacks);
00073 }
00074
00075 void Gesture::UnregisterCallbacks()
00076 {
00077 if (hGestureCallbacks)
00078 {
00079 GetGenerator().UnregisterGestureCallbacks(hGestureCallbacks);
00080 hGestureCallbacks = 0;
00081 }
00082 }
00083 }
00084 }