#ifndef __APP__ #define __APP__ #include #include #include #include #include #include using namespace Microsoft::WRL; class Kinect { private: // Sensor ComPtr kinect; // Reader ComPtr bodyFrameReader; ComPtr bodyIndexFrameReader; ComPtr audioBeamFrameReader; // Body Buffer std::array bodies = { nullptr }; // BodyIndex Buffer std::vector bodyIndexBuffer; int bodyIndexWidth; int bodyIndexHeight; cv::Mat bodyIndexMat; std::array colors; // Audio Buffer UINT64 audioTrackingId; int audioTrackingIndex; public: // Constructor Kinect(); // Destructor ~Kinect(); // Processing void run(); private: // Initialize void initialize(); // Initialize Sensor inline void initializeSensor(); // Initialize Body inline void initializeBody(); // Initialize BodyIndex inline void initializeBodyIndex(); // Initialize Audio inline void initializeAudio(); // Finalize void finalize(); // Update Data void update(); // Update Body inline void updateBody(); // Update BodyIndex inline void updateBodyIndex(); // Update Audio inline void updateAudio(); // Draw Data void draw(); // Draw BodyIndex inline void drawBodyIndex(); // Draw Audio inline void drawAudio(); // Show Data void show(); // Show BodyIndex inline void showBodyIndex(); }; #endif // __APP__