#pragma once #include "KinectWin.h" #include "Rotation.h" #include "SL/SLJoints.h" #include "NITools/NiSMemory.h" #include "NITools/NiNetwork.h" #include "NiToolWin.h" #include "ParameterSet.h" #include "NITools/NiJoints.h" class CExKinectWin : public CKinectWin { public: CExKinectWin(); ~CExKinectWin() {} CNiJoints* niJoints; CNiNetwork* niNetwork; CNiSMemory* sharedMem; CParameterSet appParam; CExFrame* pLogFrame; CExFrame* pSensorFrame; CExFrame* pSkeletonFrame; CLogWndDoc* pLogDoc; public: Vector vect_up; Vector vect_down; public: void setSensorFramePtr(CExFrame* pfrm) { pSensorFrame = pfrm;} void setSkeletonFramePtr(CExFrame* pfrm) { pSkeletonFrame = pfrm;} void setLogFramePtr(CExFrame* pfrm); void setParameter(CParameterSet param) { appParam = param;} void setMotion(CParameterSet param); void nop(void) { copy_s2Buffer("No Operation with Kinect SDK!!", &m_err_mesg);} public: void convertPos2SLData(void); void exportSLData(void); public: virtual void logingJointsData(void); virtual void checkGroundLevel(void) { if (appParam.useJointConst) niJoints->CheckGroundLevel(m_ground_level);} virtual void checkBoneLength(void) { if (appParam.useJointConst) niJoints->CheckBoneLength();} virtual void convertData(void); virtual void lostTrackingUser(int uid) { DEBUG_ERR("LOST AVATAR");} virtual void detectTrackingUser(int uid) { DEBUG_ERR("DETECT AVATAR");} }; UINT kinectEventLoop(LPVOID pParam);