#ifndef OPENPOSE_GUI_GUI_HPP #define OPENPOSE_GUI_GUI_HPP #include #include #include #include #include #include #include namespace op { class OP_API Gui { public: Gui(const Point& outputSize, const bool fullScreen, const std::shared_ptr>& isRunningSharedPtr, const std::shared_ptr, std::atomic>>& videoSeekSharedPtr = nullptr, const std::vector>& poseExtractorNets = {}, const std::vector>& faceExtractorNets = {}, const std::vector>& handExtractorNets = {}, const std::vector>& renderers = {}, const DisplayMode displayMode = DisplayMode::Display2D); virtual ~Gui(); virtual void initializationOnThread(); void setImage(const Matrix& cvMatOutput); void setImage(const std::vector& cvMatOutputs); virtual void update(); protected: std::shared_ptr> spIsRunning; DisplayMode mDisplayMode; DisplayMode mDisplayModeOriginal; private: // Frames display FrameDisplayer mFrameDisplayer; // Other variables std::vector> mPoseExtractorNets; std::vector> mFaceExtractorNets; std::vector> mHandExtractorNets; std::vector> mRenderers; std::shared_ptr, std::atomic>> spVideoSeek; }; } #endif // OPENPOSE_GUI_GUI_HPP