| #ifdef USE_3D_ADAM_MODEL |
| #ifndef OPENPOSE_GUI_GUI_ADAM_HPP |
| #define OPENPOSE_GUI_GUI_ADAM_HPP |
|
|
| #ifdef USE_3D_ADAM_MODEL |
| #include <adam/totalmodel.h> |
| #endif |
| #include <openpose/core/common.hpp> |
| #include <openpose/gui/enumClasses.hpp> |
| #include <openpose/gui/gui.hpp> |
|
|
| namespace op |
| { |
| |
| class OP_API GuiAdam : public Gui |
| { |
| public: |
| GuiAdam(const Point<int>& outputSize, const bool fullScreen, |
| const std::shared_ptr<std::atomic<bool>>& isRunningSharedPtr, |
| const std::shared_ptr<std::pair<std::atomic<bool>, std::atomic<int>>>& videoSeekSharedPtr = nullptr, |
| const std::vector<std::shared_ptr<PoseExtractorNet>>& poseExtractorNets = {}, |
| const std::vector<std::shared_ptr<FaceExtractorNet>>& faceExtractorNets = {}, |
| const std::vector<std::shared_ptr<HandExtractorNet>>& handExtractorNets = {}, |
| const std::vector<std::shared_ptr<Renderer>>& renderers = {}, |
| const DisplayMode displayMode = DisplayMode::DisplayAll, |
| const std::shared_ptr<const TotalModel>& totalModel = nullptr, |
| const std::string& adamRenderedVideoPath = ""); |
|
|
| virtual ~GuiAdam(); |
|
|
| virtual void initializationOnThread(); |
|
|
| void generateMesh(const Array<float>& poseKeypoints3D, const Array<float>& faceKeypoints3D, |
| const std::array<Array<float>, 2>& handKeypoints3D, |
| const double* const adamPosePtr, |
| const double* const adamTranslationPtr, |
| const double* const vtVecPtr, const int vtVecRows, |
| const double* const j0VecPtr, const int j0VecRows, |
| const double* const adamFaceCoeffsExpPtr); |
|
|
| virtual void update(); |
|
|
| private: |
| |
| |
| struct ImplGuiAdam; |
| std::shared_ptr<ImplGuiAdam> spImpl; |
|
|
| |
| |
| DELETE_COPY(GuiAdam); |
| }; |
| } |
|
|
| #endif |
| #endif |
|
|