#pragma once #include #ifndef DISABLE_OPENNI #define ENABLE_OPENNI #include "ExNILib/ExOpenNiWin.h" #endif #ifndef DISABLE_KINECT_SDK #define ENABLE_KINECT_SDK #include "ExNILib/ExKinectWin.h" #endif #include "Rotation.h" #include "SL/SLJoints.h" #include "ParameterSet.h" #include "NITools/NiSMemory.h" #include "NITools/NiNetwork.h" #include "NITools/NiJoints.h" #define NIDEVICE_WAIT_TIME 200 // ms //////////////////////////////////////////////// // ライブラリのラッパークラス //using namespace jbxl; using namespace jbxwl; //////////////////////////////////////////////////////////////////////////////////// // // CNiDevice:  // class CNiDevice { public: CNiDevice(); ~CNiDevice(); NiSDK_Lib nowSDKLib; BOOL init(void); BOOL check_lib(void); BOOL init_device(void); // BOOL reset_device(void); BOOL load_lib(char* lib_name); public: NiFileType checkFileType(char* fname); private: // #ifdef ENABLE_OPENNI CExOpenNiWin* openni_win; #else void* openni_win; #endif #ifdef ENABLE_KINECT_SDK CExKinectWin* kinect_sdk; #else void* kinect_sdk; #endif protected: Buffer err_message; public: HWND hWnd; CExFrame* pSensorFrame; CExFrame* pLogFrame; CExFrame* pSkeletonFrame; CParameterSet appParam; BOOL enableUSBDev; // BOOL has_device; BOOL loaded_data; NiInputDevice inputDevice; NiInputDevice prvNiInputDevice; int image_xsize; int image_ysize; int image_fps; public: // Interface to basic class void setParameter(CParameterSet param); BOOL initRingBuffer(void); char* getErrorMessage(BOOL dev=FALSE); void execMirroring(void); int getDevState(void); // void setDevState(int state); void setViewScale(int scale); void clearBoneData(void); void clearAvatarDetected(void); // void setStartPosData(Vector vect); void clearLogDocPtr(void); void setLogFramePtr(CExFrame* ptr); void setSensorFramePtr(CExFrame* ptr); void setSkeletonFramePtr(CExFrame* ptr); void setJointConst(CNiJoints* joints); void setNetwork (CNiNetwork* net); void setSharedMem (CNiSMemory* mem); void setViewPoint(void); void deleteDevice(void); BOOL createImage(void); BOOL createDepth(void); void deleteImage(void); void deleteDepth(void); BOOL hasImage(void); BOOL hasDepth(void); void setUseImage(BOOL use); void setMirroring(BOOL use); BOOL startDetection(void); BOOL stopDetection(void); void setTrackingSearch(void); // File BOOL startRecorde(void); void stopRecorde (void); int backupRecordeTempFile(char* backup_file); void deleteRecordeTempFile(void); BOOL openLoadFile(char* fname); // USB BOOL openUSBDevice(void); void closeUSBDevice(void); void setTiltMotor(int ang); void setLEDColor (int col); void setUseMotor(BOOL use); void setUseLED(BOOL use); // Device BOOL makeFileDevice(char* fname); BOOL restoreDevice(void); public: friend UINT niDeviceEventLoop(LPVOID pParam); }; ////////////////////////////////////////////////////////////////////// // UINT niDeviceEventLoop(LPVOID pParam);