1 #ifdef USE_3D_ADAM_MODEL
2 #ifndef OPENPOSE_GUI_GUI_ADAM_HPP
3 #define OPENPOSE_GUI_GUI_ADAM_HPP
5 #ifdef USE_3D_ADAM_MODEL
6 #include <adam/totalmodel.h>
15 class OP_API GuiAdam :
public Gui
18 GuiAdam(
const Point<int>& outputSize,
const bool fullScreen,
19 const std::shared_ptr<std::atomic<bool>>& isRunningSharedPtr,
20 const std::shared_ptr<std::pair<std::atomic<bool>, std::atomic<int>>>& videoSeekSharedPtr =
nullptr,
21 const std::vector<std::shared_ptr<PoseExtractorNet>>& poseExtractorNets = {},
22 const std::vector<std::shared_ptr<FaceExtractorNet>>& faceExtractorNets = {},
23 const std::vector<std::shared_ptr<HandExtractorNet>>& handExtractorNets = {},
24 const std::vector<std::shared_ptr<Renderer>>& renderers = {},
26 const std::shared_ptr<const TotalModel>& totalModel =
nullptr,
27 const std::string& adamRenderedVideoPath =
"");
31 virtual void initializationOnThread();
33 void generateMesh(
const Array<float>& poseKeypoints3D,
const Array<float>& faceKeypoints3D,
34 const std::array<Array<float>, 2>& handKeypoints3D,
35 const double*
const adamPosePtr,
36 const double*
const adamTranslationPtr,
37 const double*
const vtVecPtr,
const int vtVecRows,
38 const double*
const j0VecPtr,
const int j0VecRows,
39 const double*
const adamFaceCoeffsExpPtr);
41 virtual void update();
47 std::shared_ptr<ImplGuiAdam> spImpl;
#define DELETE_COPY(className)