From ee28ed109e1755bb9dfbf126fd9fb063d64b98e1 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 31 Jan 2018 20:58:00 +0000 Subject: [PATCH] Deploy code docs to GitHub Pages Travis build: 150 Commit: 4e455b280e31c675a4364f6a3e81385da1e1b046 --- doxygen.log | 157 +- html/cuda_8hpp.html | 8 +- html/cuda_8hpp.js | 2 +- html/cuda_8hpp_source.html | 14 +- .../dir_0d7fcad32b07fb45e8677eefbdc4bd02.html | 128 + html/dir_0d7fcad32b07fb45e8677eefbdc4bd02.js | 7 + .../dir_18695feb986752a25b816536eab00e96.html | 2 + html/dir_18695feb986752a25b816536eab00e96.js | 1 + .../dir_5e264839c35dab04bf5009e4b1c2721d.html | 2 - html/dir_5e264839c35dab04bf5009e4b1c2721d.js | 1 - .../dir_656bab9d729ebd6e2f5fd290e8e58c67.html | 2 + html/dir_656bab9d729ebd6e2f5fd290e8e58c67.js | 1 + html/files.html | 191 +- html/gpu_2enum_classes_8hpp.html | 142 ++ html/gpu_2enum_classes_8hpp.js | 9 + html/gpu_2enum_classes_8hpp_source.html | 142 ++ html/gpu_2headers_8hpp.html | 127 + html/gpu_2headers_8hpp_source.html | 134 ++ html/gpu_8hpp.html | 142 ++ html/gpu_8hpp.js | 5 + html/gpu_8hpp_source.html | 142 ++ html/hand_detector_8hpp_source.html | 8 +- html/namespacemembers_c.html | 6 + html/namespacemembers_enum.html | 3 + html/namespacemembers_eval.html | 11 +- html/namespacemembers_func.html | 20 +- html/namespacemembers_g.html | 9 + html/namespacemembers_o.html | 3 + html/namespacemembers_s.html | 2 +- html/namespacemembers_w.html | 3 + html/namespaceop.html | 236 +- html/navtree.js | 8 +- html/navtreeindex0.js | 30 +- html/navtreeindex2.js | 52 +- html/navtreeindex3.js | 224 +- html/navtreeindex4.js | 306 +-- html/navtreeindex5.js | 194 +- html/navtreeindex6.js | 67 +- html/search/all_12.js | 2 +- html/search/all_16.js | 14 +- html/search/all_2.js | 2 + html/search/all_4.js | 11 +- html/search/all_6.js | 8 +- html/search/all_7.js | 17 +- html/search/all_e.js | 1 + html/search/enums_2.js | 1 + html/search/enumvalues_2.js | 4 +- html/search/enumvalues_b.js | 1 + html/search/enumvalues_e.js | 2 +- html/search/files_14.js | 1 + html/search/files_4.js | 5 +- html/search/files_6.js | 1 + html/search/files_7.js | 19 +- html/search/functions_16.js | 1 + html/search/functions_6.js | 2 + html/structop_1_1_datum.html | 2 +- html/utilities_2headers_8hpp.html | 1 - html/utilities_2headers_8hpp_source.html | 28 +- html/wrapper_2headers_8hpp.html | 1 + html/wrapper_2headers_8hpp_source.html | 16 +- html/wrapper_8hpp.html | 5 +- html/wrapper_8hpp_source.html | 2121 ++++++++--------- html/wrapper_auxiliary_8hpp.html | 143 ++ html/wrapper_auxiliary_8hpp.js | 4 + html/wrapper_auxiliary_8hpp_source.html | 151 ++ 65 files changed, 3279 insertions(+), 1826 deletions(-) create mode 100644 html/dir_0d7fcad32b07fb45e8677eefbdc4bd02.html create mode 100644 html/dir_0d7fcad32b07fb45e8677eefbdc4bd02.js create mode 100644 html/gpu_2enum_classes_8hpp.html create mode 100644 html/gpu_2enum_classes_8hpp.js create mode 100644 html/gpu_2enum_classes_8hpp_source.html create mode 100644 html/gpu_2headers_8hpp.html create mode 100644 html/gpu_2headers_8hpp_source.html create mode 100644 html/gpu_8hpp.html create mode 100644 html/gpu_8hpp.js create mode 100644 html/gpu_8hpp_source.html create mode 100644 html/wrapper_auxiliary_8hpp.html create mode 100644 html/wrapper_auxiliary_8hpp.js create mode 100644 html/wrapper_auxiliary_8hpp_source.html diff --git a/doxygen.log b/doxygen.log index a55bd055..78706e22 100644 --- a/doxygen.log +++ b/doxygen.log @@ -29,6 +29,7 @@ Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/experimental/tracking Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream +Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand Searching for files in directory /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/pose @@ -185,6 +186,14 @@ Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/o Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wPoseSaver.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wVideoSaver.hpp... Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wVideoSaver.hpp... +Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/cuda.hpp... +Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/cuda.hpp... +Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/enumClasses.hpp... +Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/enumClasses.hpp... +Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/gpu.hpp... +Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/gpu.hpp... +Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/headers.hpp... +Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/headers.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/enumClasses.hpp... Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/enumClasses.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/frameDisplayer.hpp... @@ -317,8 +326,6 @@ Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/o Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/wQueueOrderer.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/check.hpp... Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/check.hpp... -Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/cuda.hpp... -Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/cuda.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/enumClasses.hpp... Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/enumClasses.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/errorAndLog.hpp... @@ -347,6 +354,8 @@ Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/o Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/headers.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapper.hpp... Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapper.hpp... +Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperAuxiliary.hpp... +Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperAuxiliary.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructFace.hpp... Parsing file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructFace.hpp... Preprocessing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructHand.hpp... @@ -416,6 +425,7 @@ Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/enumClasses.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/enumClasses.hpp... +Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/enumClasses.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/enumClasses.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/pose/enumClasses.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/enumClasses.hpp... @@ -429,6 +439,7 @@ Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/experimental/tracking/headers.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face/headers.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/headers.hpp... +Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/headers.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/headers.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand/headers.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/headers.hpp... @@ -495,6 +506,8 @@ Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wPeopleJsonSaver.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wPoseSaver.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wVideoSaver.hpp... +Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/cuda.hpp... +Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/gpu.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/frameDisplayer.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/gui.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/guiInfoAdder.hpp... @@ -551,7 +564,6 @@ Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/workerProducer.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/wQueueOrderer.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/check.hpp... -Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/cuda.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/errorAndLog.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/fastMath.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/fileSystem.hpp... @@ -563,6 +575,7 @@ Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/standard.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/string.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapper.hpp... +Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperAuxiliary.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructFace.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructHand.hpp... Generating code for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructInput.hpp... @@ -576,6 +589,7 @@ Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/enumClasses.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/enumClasses.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/enumClasses.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/enumClasses.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/pose/enumClasses.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/enumClasses.hpp... @@ -589,6 +603,7 @@ Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/experimental/tracking/headers.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face/headers.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/headers.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/headers.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/headers.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand/headers.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/headers.hpp... @@ -655,6 +670,8 @@ Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wPeopleJsonSaver.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wPoseSaver.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/wVideoSaver.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/cuda.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/gpu.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/frameDisplayer.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/gui.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gui/guiInfoAdder.hpp... @@ -704,7 +721,24 @@ Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpos Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/subThreadQueueInOut.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/subThreadQueueOut.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/thread.hpp... -Generating docs for file /home/travis/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:128: warning: explicit link request to 'people' could not be resolved +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/threadManager.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/wIdGenerator.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/worker.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/workerConsumer.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/workerProducer.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/wQueueOrderer.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/check.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/errorAndLog.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/fastMath.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/fileSystem.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/flagsToOpenPose.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/keypoint.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/openCv.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/pointerContainer.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/profiler.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/standard.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/string.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Compu/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:128: warning: explicit link request to 'people' could not be resolved /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:128: warning: explicit link request to 'face' could not be resolved /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:121: warning: explicit link request to 'people' could not be resolved /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:121: warning: explicit link request to 'face' could not be resolved @@ -724,25 +758,19 @@ Generating docs for file /home/travis/home/travis/build/CMU-Perceptual-Computing /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:63: warning: explicit link request to 'people' could not be resolved /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:63: warning: explicit link request to 'body' could not be resolved /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/core/datum.hpp:82: warning: explicit link request to 'people' could not be resolved -/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/threadManager.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/wIdGenerator.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/worker.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/workerConsumer.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/workerProducer.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/wQueueOrderer.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/check.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/cuda.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/errorAndLog.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/fastMath.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/fileSystem.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/flagsToOpenPose.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/keypoint.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/openCv.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/pointerContainer.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/profiler.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/standard.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/string.hpp... -Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapper.hpp... +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face/faceExtractor.hpp:18: warning: The following parameters of op::FaceExtractor::FaceExtractor(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne) are not documented: + parameter 'heatMapTypes' + parameter 'heatMapScale' +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face/faceExtractorCaffe.hpp:18: warning: The following parameters of op::FaceExtractorCaffe::FaceExtractorCaffe(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::string &modelFolder, const int gpuId, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne, const bool enableGoogleLogging=true) are not documented: + parameter 'modelFolder' + parameter 'gpuId' + parameter 'heatMapTypes' + parameter 'heatMapScale' + parameter 'enableGoogleLogging' +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/cocoJsonSaver.hpp:17: warning: The following parameters of op::CocoJsonSaver::CocoJsonSaver(const std::string &filePathToSave, const bool humanReadable=true) are not documented: + parameter 'humanReadable' +ting-Lab/openpose/include/openpose/wrapper/wrapper.hpp... +Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperAuxiliary.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructFace.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructHand.hpp... Generating docs for file /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructInput.hpp... @@ -772,32 +800,7 @@ Generating docs for compound op::OpOutputToCvMat... Generating docs for compound op::Point... Generating docs for compound op::Rectangle... Generating docs for compound op::Renderer... -Generati/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face/faceExtractor.hpp:18: warning: The following parameters of op::FaceExtractor::FaceExtractor(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne) are not documented: - parameter 'heatMapTypes' - parameter 'heatMapScale' -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face/faceExtractorCaffe.hpp:18: warning: The following parameters of op::FaceExtractorCaffe::FaceExtractorCaffe(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::string &modelFolder, const int gpuId, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne, const bool enableGoogleLogging=true) are not documented: - parameter 'modelFolder' - parameter 'gpuId' - parameter 'heatMapTypes' - parameter 'heatMapScale' - parameter 'enableGoogleLogging' -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/cocoJsonSaver.hpp:17: warning: The following parameters of op::CocoJsonSaver::CocoJsonSaver(const std::string &filePathToSave, const bool humanReadable=true) are not documented: - parameter 'humanReadable' -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand/handExtractor.hpp:18: warning: The following parameters of op::HandExtractor::HandExtractor(const Point< int > &netInputSize, const Point< int > &netOutputSize, const unsigned short numberScales=1, const float rangeScales=0.4f, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne) are not documented: - parameter 'heatMapTypes' - parameter 'heatMapScale' -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand/handExtractorCaffe.hpp:18: warning: The following parameters of op::HandExtractorCaffe::HandExtractorCaffe(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::string &modelFolder, const int gpuId, const unsigned short numberScales=1, const float rangeScales=0.4f, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne, const bool enableGoogleLogging=true) are not documented: - parameter 'heatMapTypes' - parameter 'heatMapScale' - parameter 'enableGoogleLogging' -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/producer.hpp:20: warning: argument 'repeatWhenFinished' of command @param is not found in the argument list of op::Producer::Producer(const ProducerType type) -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/producer.hpp:20: warning: The following parameters of op::Producer::Producer(const ProducerType type) are not documented: - parameter 'type' -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/videoCaptureReader.hpp:19: warning: The following parameters of op::VideoCaptureReader::VideoCaptureReader(const int index, const bool throwExceptionIfNoOpened) are not documented: - parameter 'throwExceptionIfNoOpened' -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/webcamReader.hpp:20: warning: The following parameters of op::WebcamReader::WebcamReader(const int webcamIndex=0, const Point< int > &webcamResolution=Point< int >{}, const double fps=30., const bool throwExceptionIfNoOpened=true) are not documented: - parameter 'throwExceptionIfNoOpened' -ng docs for compound op::ResizeAndMergeCaffe... +Generating docs for compound op::ResizeAndMergeCaffe... Generating docs for compound op::ScaleAndSizeExtractor... Generating docs for compound op::WCvMatToOpInput... Generating docs for compound op::WCvMatToOpOutput... @@ -839,7 +842,39 @@ Generating docs for compound op::WPoseSaver... Generating docs for compound op::WVideoSaver... Generating docs for compound op::FrameDisplayer... Generating docs for compound op::Gui... -Generating docs for compound op::GuiInfoAdder... +Generating docs for compound op::GuiInfoAdder/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand/handExtractor.hpp:18: warning: The following parameters of op::HandExtractor::HandExtractor(const Point< int > &netInputSize, const Point< int > &netOutputSize, const unsigned short numberScales=1, const float rangeScales=0.4f, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne) are not documented: + parameter 'heatMapTypes' + parameter 'heatMapScale' +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand/handExtractorCaffe.hpp:18: warning: The following parameters of op::HandExtractorCaffe::HandExtractorCaffe(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::string &modelFolder, const int gpuId, const unsigned short numberScales=1, const float rangeScales=0.4f, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne, const bool enableGoogleLogging=true) are not documented: + parameter 'heatMapTypes' + parameter 'heatMapScale' + parameter 'enableGoogleLogging' +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/producer.hpp:20: warning: argument 'repeatWhenFinished' of command @param is not found in the argument list of op::Producer::Producer(const ProducerType type) +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/producer.hpp:20: warning: The following parameters of op::Producer::Producer(const ProducerType type) are not documented: + parameter 'type' +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/videoCaptureReader.hpp:19: warning: The following parameters of op::VideoCaptureReader::VideoCaptureReader(const int index, const bool throwExceptionIfNoOpened) are not documented: + parameter 'throwExceptionIfNoOpened' +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/producer/webcamReader.hpp:20: warning: The following parameters of op::WebcamReader::WebcamReader(const int webcamIndex=0, const Point< int > &webcamResolution=Point< int >{}, const double fps=30., const bool throwExceptionIfNoOpened=true) are not documented: + parameter 'throwExceptionIfNoOpened' +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:110: warning: explicit link request to 'body' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:111: warning: explicit link request to 'body' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:111: warning: explicit link request to 'body' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'body' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'body' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'body' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'pair' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:37: warning: unable to resolve reference to `doc/released_features.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:37: warning: unable to resolve reference to `doc/release_notes.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:74: warning: unable to resolve reference to `doc/installation.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:83: warning: unable to resolve reference to `doc/demo_overview.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:95: warning: unable to resolve reference to `doc/library_introduction.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:97: warning: unexpected token TK_EOF as the argument of ref +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:100: warning: unable to resolve reference to `doc/standalone_face_or_hand_keypoint_detector.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:101: warning: unable to resolve reference to `doc/standalone_face_or_hand_keypoint_detector.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:108: warning: unable to resolve reference to `doc/output.md' for \ref command +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:113: warning: explicit link request to 'speed' could not be resolved +/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:138: warning: unable to resolve reference to `doc/contributors.md' for \ref command +... Generating docs for compound op::WGui... Generating docs for compound op::WGuiInfoAdder... Generating docs for compound op::HandCpuRenderer... @@ -877,25 +912,7 @@ Generating docs for compound op::QueueBase... Generating docs for compound op::SubThread... Generating docs for compound op::SubThreadNoQueue... Generating docs for compound op::SubThreadQueueIn... -Generating docs for compound op::SubThrea/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:110: warning: explicit link request to 'body' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:111: warning: explicit link request to 'body' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:111: warning: explicit link request to 'body' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'body' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'body' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'body' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperStructPose.hpp:112: warning: explicit link request to 'pair' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:37: warning: unable to resolve reference to `doc/released_features.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:37: warning: unable to resolve reference to `doc/release_notes.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:74: warning: unable to resolve reference to `doc/installation.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:83: warning: unable to resolve reference to `doc/demo_overview.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:95: warning: unable to resolve reference to `doc/library_introduction.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:97: warning: unexpected token TK_EOF as the argument of ref -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:100: warning: unable to resolve reference to `doc/standalone_face_or_hand_keypoint_detector.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:101: warning: unable to resolve reference to `doc/standalone_face_or_hand_keypoint_detector.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:108: warning: unable to resolve reference to `doc/output.md' for \ref command -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:113: warning: explicit link request to 'speed' could not be resolved -/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/README.md:138: warning: unable to resolve reference to `doc/contributors.md' for \ref command -dQueueInOut... +Generating docs for compound op::SubThreadQueueInOut... Generating docs for compound op::SubThreadQueueOut... Generating docs for compound op::Thread... Generating docs for compound op::ThreadManager... @@ -930,5 +947,5 @@ Generating file index... Generating file member index... Generating example index... finalizing index lists... -lookup cache used 2856/65536 hits=17118 misses=3055 +lookup cache used 2876/65536 hits=17152 misses=3075 finished... diff --git a/html/cuda_8hpp.html b/html/cuda_8hpp.html index f518924f..4299d44a 100644 --- a/html/cuda_8hpp.html +++ b/html/cuda_8hpp.html @@ -4,7 +4,7 @@ -OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/utilities/cuda.hpp File Reference +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/cuda.hpp File Reference @@ -125,8 +125,8 @@ Namespaces Functions OP_API void op::cudaCheck (const int line=-1, const std::string &function="", const std::string &file="")   -OP_API int op::getGpuNumber () -  +OP_API int op::getCudaGpuNumber () +  unsigned int op::getNumberCudaBlocks (const unsigned int totalRequired, const unsigned int numberCudaThreads=CUDA_NUM_THREADS)   OP_API void op::getNumberCudaThreadsAndBlocks (dim3 &numberCudaThreads, dim3 &numberCudaBlocks, const Point< int > &frameSize) @@ -142,7 +142,7 @@ Variables
-Go to the documentation of this file.
1 #ifndef OPENPOSE_UTILITIES_CUDA_HPP
-
2 #define OPENPOSE_UTILITIES_CUDA_HPP
+Go to the documentation of this file.
1 #ifndef OPENPOSE_GPU_CUDA_HPP
+
2 #define OPENPOSE_GPU_CUDA_HPP
3 
4 #include <utility> // std::pair
@@ -119,7 +119,7 @@ $(document).ready(function(){initNavTree('cuda_8hpp_source.html','');});
10 
11  OP_API void cudaCheck(const int line = -1, const std::string& function = "", const std::string& file = "");
12 
-
13  OP_API int getGpuNumber();
+
14 
15  inline unsigned int getNumberCudaBlocks(const unsigned int totalRequired,
16  const unsigned int numberCudaThreads = CUDA_NUM_THREADS)
@@ -131,20 +131,20 @@ $(document).ready(function(){initNavTree('cuda_8hpp_source.html','');});
22  const Point<int>& frameSize);
23 }
24 
-
25 #endif // OPENPOSE_UTILITIES_CUDA_HPP
+
25 #endif // OPENPOSE_GPU_CUDA_HPP
unsigned int getNumberCudaBlocks(const unsigned int totalRequired, const unsigned int numberCudaThreads=CUDA_NUM_THREADS)
Definition: cuda.hpp:15
+
OP_API int getCudaGpuNumber()
OP_API void cudaCheck(const int line=-1, const std::string &function="", const std::string &file="")
#define OP_API
Definition: macros.hpp:9
OP_API void getNumberCudaThreadsAndBlocks(dim3 &numberCudaThreads, dim3 &numberCudaBlocks, const Point< int > &frameSize)
const auto CUDA_NUM_THREADS
Definition: cuda.hpp:9
-
OP_API int getGpuNumber()
diff --git a/html/gpu_2enum_classes_8hpp.html b/html/gpu_2enum_classes_8hpp.html new file mode 100644 index 00000000..ab84ec02 --- /dev/null +++ b/html/gpu_2enum_classes_8hpp.html @@ -0,0 +1,142 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/enumClasses.hpp File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
OpenPose +  1.0.0rc2 +
+
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
enumClasses.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 op
 
+ + + +

+Enumerations

enum  op::GpuMode : unsigned char { op::GpuMode::CUDA = 0, +op::GpuMode::OPEN_CL = 1, +op::GpuMode::CPU_ONLY = 2, +op::GpuMode::Size + }
 
+
+
+ + + + diff --git a/html/gpu_2enum_classes_8hpp.js b/html/gpu_2enum_classes_8hpp.js new file mode 100644 index 00000000..1bbfe592 --- /dev/null +++ b/html/gpu_2enum_classes_8hpp.js @@ -0,0 +1,9 @@ +var gpu_2enum_classes_8hpp = +[ + [ "GpuMode", "gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7f", [ + [ "CUDA", "gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7faa33b7755e5f9b504d2d038eaca4ff28d", null ], + [ "OPEN_CL", "gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7fa35acca33baa6f2c4c6fb694eabfa5ac7", null ], + [ "CPU_ONLY", "gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7fa9393911bc06bdfb0c3663d541246e15a", null ], + [ "Size", "gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719", null ] + ] ] +]; \ No newline at end of file diff --git a/html/gpu_2enum_classes_8hpp_source.html b/html/gpu_2enum_classes_8hpp_source.html new file mode 100644 index 00000000..b08bce66 --- /dev/null +++ b/html/gpu_2enum_classes_8hpp_source.html @@ -0,0 +1,142 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/enumClasses.hpp Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
OpenPose +  1.0.0rc2 +
+
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
enumClasses.hpp
+
+
+Go to the documentation of this file.
1 #ifndef OPENPOSE_GPU_ENUM_CLASSES_HPP
+
2 #define OPENPOSE_GPU_ENUM_CLASSES_HPP
+
3 
+
4 namespace op
+
5 {
+
6  enum class GpuMode : unsigned char
+
7  {
+
8  CUDA = 0,
+
9  OPEN_CL = 1,
+
10  CPU_ONLY = 2,
+
11  Size,
+
12  };
+
13 }
+
14 
+
15 #endif // OPENPOSE_GPU_ENUM_CLASSES_HPP
+ + + + +
GpuMode
Definition: enumClasses.hpp:6
+
+
+ + + + diff --git a/html/gpu_2headers_8hpp.html b/html/gpu_2headers_8hpp.html new file mode 100644 index 00000000..dd12f44c --- /dev/null +++ b/html/gpu_2headers_8hpp.html @@ -0,0 +1,127 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/headers.hpp File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
OpenPose +  1.0.0rc2 +
+
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
headers.hpp File Reference
+
+ +
+ + + + diff --git a/html/gpu_2headers_8hpp_source.html b/html/gpu_2headers_8hpp_source.html new file mode 100644 index 00000000..4e7c66f8 --- /dev/null +++ b/html/gpu_2headers_8hpp_source.html @@ -0,0 +1,134 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/headers.hpp Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
OpenPose +  1.0.0rc2 +
+
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
headers.hpp
+
+
+Go to the documentation of this file.
1 #ifndef OPENPOSE_GPU_HEADERS_HPP
+
2 #define OPENPOSE_GPU_HEADERS_HPP
+
3 
+
4 // gpu module
+ +
6 #include <openpose/gpu/cuda.hpp>
+
7 #include <openpose/gpu/gpu.hpp>
+
8 
+
9 #endif // OPENPOSE_GPU_HEADERS_HPP
+ + + +
+
+ + + + diff --git a/html/gpu_8hpp.html b/html/gpu_8hpp.html new file mode 100644 index 00000000..4584ae87 --- /dev/null +++ b/html/gpu_8hpp.html @@ -0,0 +1,142 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/gpu.hpp File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
OpenPose +  1.0.0rc2 +
+
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
gpu.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 op
 
+ + + + + +

+Functions

OP_API int op::getGpuNumber ()
 
OP_API GpuMode op::getGpuMode ()
 
+
+
+ + + + diff --git a/html/gpu_8hpp.js b/html/gpu_8hpp.js new file mode 100644 index 00000000..382c5112 --- /dev/null +++ b/html/gpu_8hpp.js @@ -0,0 +1,5 @@ +var gpu_8hpp = +[ + [ "getGpuMode", "gpu_8hpp.html#a971a7caa96be5b715b5c22f6e5dc6ad1", null ], + [ "getGpuNumber", "gpu_8hpp.html#aaad222b087dd041c35de2f3414c1a01f", null ] +]; \ No newline at end of file diff --git a/html/gpu_8hpp_source.html b/html/gpu_8hpp_source.html new file mode 100644 index 00000000..cf4450ee --- /dev/null +++ b/html/gpu_8hpp_source.html @@ -0,0 +1,142 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/gpu.hpp Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
OpenPose +  1.0.0rc2 +
+
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
gpu.hpp
+
+
+Go to the documentation of this file.
1 #ifndef OPENPOSE_GPU_GPU_HPP
+
2 #define OPENPOSE_GPU_GPU_HPP
+
3 
+ + +
6 
+
7 namespace op
+
8 {
+
9  OP_API int getGpuNumber();
+
10 
+ +
12 }
+
13 
+
14 #endif // OPENPOSE_GPU_GPU_HPP
+ + +
OP_API GpuMode getGpuMode()
+
GpuMode
Definition: enumClasses.hpp:6
+
#define OP_API
Definition: macros.hpp:9
+
OP_API int getGpuNumber()
+
+
+ + + + diff --git a/html/hand_detector_8hpp_source.html b/html/hand_detector_8hpp_source.html index ef419236..16a48e01 100644 --- a/html/hand_detector_8hpp_source.html +++ b/html/hand_detector_8hpp_source.html @@ -138,18 +138,18 @@ $(document).ready(function(){initNavTree('hand_detector_8hpp_source.html','');})
29  RWrist,
30  RElbow,
31  RShoulder,
-
32  Size,
+
32  Size,
33  };
34 
35  const std::array<unsigned int, (int)PosePart::Size> mPoseIndexes;
-
36  std::vector<std::array<Point<float>, (int)PosePart::Size>> mPoseTrack;
+
36  std::vector<std::array<Point<float>, (int)PosePart::Size>> mPoseTrack;
37  std::vector<Rectangle<float>> mHandLeftPrevious;
38  std::vector<Rectangle<float>> mHandRightPrevious;
39  unsigned long long mCurrentId;
40  std::mutex mMutex;
41 
42  std::array<unsigned int, (int)PosePart::Size> getPoseKeypoints(const PoseModel poseModel,
-
43  const std::array<std::string, (int)PosePart::Size>& poseStrings) const;
+
43  const std::array<std::string, (int)PosePart::Size>& poseStrings) const;
44 
45  DELETE_COPY(HandDetector);
46  };
@@ -158,12 +158,12 @@ $(document).ready(function(){initNavTree('hand_detector_8hpp_source.html','');})
49 #endif // OPENPOSE_HAND_HAND_DETECTOR_HPP
#define DELETE_COPY(className)
Definition: macros.hpp:24
+
Definition: handDetector.hpp:12
PoseModel
Definition: enumClasses.hpp:9
#define OP_API
Definition: macros.hpp:9
-
diff --git a/html/namespacemembers_c.html b/html/namespacemembers_c.html index 1d37daac..8669a2dd 100644 --- a/html/namespacemembers_c.html +++ b/html/namespacemembers_c.html @@ -197,6 +197,12 @@ $(document).ready(function(){initNavTree('namespacemembers_c.html','');});
  • Cpu : op
  • +
  • CPU_ONLY +: op +
  • +
  • CUDA +: op +
  • CUDA_NUM_THREADS : op
  • diff --git a/html/namespacemembers_enum.html b/html/namespacemembers_enum.html index a899adbd..9984448c 100644 --- a/html/namespacemembers_enum.html +++ b/html/namespacemembers_enum.html @@ -119,6 +119,9 @@ $(document).ready(function(){initNavTree('namespacemembers_enum.html','');});
  • ErrorMode : op
  • +
  • GpuMode +: op +
  • GuiDisplayMode : op
  • diff --git a/html/namespacemembers_eval.html b/html/namespacemembers_eval.html index 63692f56..b7879691 100644 --- a/html/namespacemembers_eval.html +++ b/html/namespacemembers_eval.html @@ -196,6 +196,12 @@ $(document).ready(function(){initNavTree('namespacemembers_eval.html','');});
  • Cpu : op
  • +
  • CPU_ONLY +: op +
  • +
  • CUDA +: op +
  • @@ -289,6 +295,9 @@ $(document).ready(function(){initNavTree('namespacemembers_eval.html','');});

    - o -

    + + +

    - w -

    diff --git a/html/namespacemembers_g.html b/html/namespacemembers_g.html index f00ec792..712a22ef 100644 --- a/html/namespacemembers_g.html +++ b/html/namespacemembers_g.html @@ -149,6 +149,9 @@ $(document).ready(function(){initNavTree('namespacemembers_g.html','');});
  • getBiggestPerson() : op
  • +
  • getCudaGpuNumber() +: op +
  • getDistance() : op
  • @@ -167,6 +170,9 @@ $(document).ready(function(){initNavTree('namespacemembers_g.html','');});
  • getFilesOnDirectory() : op
  • +
  • getGpuMode() +: op +
  • getGpuNumber() : op
  • @@ -251,6 +257,9 @@ $(document).ready(function(){initNavTree('namespacemembers_g.html','');});
  • Gpu : op
  • +
  • GpuMode +: op +
  • GuiDisplayMode : op
  • diff --git a/html/namespacemembers_o.html b/html/namespacemembers_o.html index ab290c95..51b17985 100644 --- a/html/namespacemembers_o.html +++ b/html/namespacemembers_o.html @@ -143,6 +143,9 @@ $(document).ready(function(){initNavTree('namespacemembers_o.html','');});
    Here is a list of all namespace members with links to the namespace documentation for each member:

    - o -

    diff --git a/html/namespaceop.html b/html/namespaceop.html index 15b068e6..026f4913 100644 --- a/html/namespaceop.html +++ b/html/namespaceop.html @@ -374,6 +374,12 @@ Enumerations DataFormat::Yml }   +enum  GpuMode : unsigned char { GpuMode::CUDA = 0, +GpuMode::OPEN_CL = 1, +GpuMode::CPU_ONLY = 2, +GpuMode::Size + } +  enum  GuiDisplayMode : bool { GuiDisplayMode::FullScreen, GuiDisplayMode::Windowed } @@ -547,6 +553,18 @@ Functions    COMPILE_TEMPLATE_DATUM (WVideoSaver)   +OP_API void cudaCheck (const int line=-1, const std::string &function="", const std::string &file="") +  +OP_API int getCudaGpuNumber () +  +unsigned int getNumberCudaBlocks (const unsigned int totalRequired, const unsigned int numberCudaThreads=CUDA_NUM_THREADS) +  +OP_API void getNumberCudaThreadsAndBlocks (dim3 &numberCudaThreads, dim3 &numberCudaBlocks, const Point< int > &frameSize) +  +OP_API int getGpuNumber () +  +OP_API GpuMode getGpuMode () +   COMPILE_TEMPLATE_DATUM (WGui)    COMPILE_TEMPLATE_DATUM (WGuiInfoAdder) @@ -672,14 +690,6 @@ Functions template<typename T , typename T1 , typename T2 > void checkGT (const T1 &conditionA, const T2 &conditionB, const T &message="", const int line=-1, const std::string &function="", const std::string &file="")   -OP_API void cudaCheck (const int line=-1, const std::string &function="", const std::string &file="") -  -OP_API int getGpuNumber () -  -unsigned int getNumberCudaBlocks (const unsigned int totalRequired, const unsigned int numberCudaThreads=CUDA_NUM_THREADS) -  -OP_API void getNumberCudaThreadsAndBlocks (dim3 &numberCudaThreads, dim3 &numberCudaBlocks, const Point< int > &frameSize) -  template<typename T > std::string tToString (const T &message)   @@ -818,6 +828,8 @@ Functions   OP_API std::string toUpper (const std::string &string)   +void wrapperConfigureSecurityChecks (const WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const ThreadManagerMode threadManagerMode) +  @@ -841,6 +853,8 @@ Variables + + @@ -871,8 +885,6 @@ Variables - -

    Variables

     
    const auto FACE_DEFAULT_ALPHA_HEAT_MAP = POSE_DEFAULT_ALPHA_HEAT_MAP
     
    const auto CUDA_NUM_THREADS = 512u
     
    const auto HAND_MAX_HANDS = 2*POSE_MAX_PEOPLE
     
    const auto HAND_NUMBER_PARTS = 21u
     
     spTQueueOut
     
    const auto CUDA_NUM_THREADS = 512u
     

    Enumeration Type Documentation

    @@ -933,6 +945,36 @@ Variables + + + +
    +
    + + + + + +
    + + + + +
    enum op::GpuMode : unsigned char
    +
    +strong
    +
    + + + + + +
    Enumerator
    CUDA  +
    OPEN_CL  +
    CPU_ONLY  +
    Size  +
    +
    @@ -1850,22 +1892,6 @@ template<typename TPointerContainer >
    -
    - - -
    -
    - - - - - - - - -
    op::COMPILE_TEMPLATE_DATUM (WFaceDetectorOpenCV )
    -
    -
    @@ -1900,14 +1926,14 @@ template<typename TPointerContainer > - +
    - + @@ -1946,6 +1972,22 @@ template<typename TPointerContainer >
    op::COMPILE_TEMPLATE_DATUM (WHandDetectorTracking WFaceDetectorOpenCV  )
    +
    +
    + +
    +
    + + + + + + + + +
    op::COMPILE_TEMPLATE_DATUM (WHandDetectorTracking )
    +
    +
    @@ -2058,6 +2100,22 @@ template<typename TPointerContainer >
    +
    + + +
    +
    + + + + + + + + +
    op::COMPILE_TEMPLATE_DATUM (WVideoSaver )
    +
    +
    @@ -2090,22 +2148,6 @@ template<typename TPointerContainer >
    -
    - - -
    -
    - - - - - - - - -
    op::COMPILE_TEMPLATE_DATUM (WVideoSaver )
    -
    -
    @@ -3212,6 +3254,21 @@ template<class T >
    +
    + + +
    +
    + + + + + + + +
    OP_API int op::getCudaGpuNumber ()
    +
    +
    @@ -3408,6 +3465,21 @@ template<class T >
    Returns
    std::vector<std::string> with the existing file names.
    + + + +
    +
    + + + + + + + +
    OP_API GpuMode op::getGpuMode ()
    +
    +
    @@ -5951,6 +6023,82 @@ template<typename T >
    +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void op::wrapperConfigureSecurityChecks (const WrapperStructPose & wrapperStructPose,
    const WrapperStructFace & wrapperStructFace,
    const WrapperStructHand & wrapperStructHand,
    const WrapperStructInput & wrapperStructInput,
    const WrapperStructOutput & wrapperStructOutput,
    const bool renderOutput,
    const bool userOutputWsEmpty,
    const ThreadManagerMode threadManagerMode 
    )
    +
    +

    It checks that no wrong/contradictory flags are enabled for Wrapper

    +
    Parameters
    + + + + + + + + + +
    wrapperStructPose
    wrapperStructFace
    wrapperStructHand
    wrapperStructInput
    wrapperStructOutput
    renderOutput
    userOutputWsEmpty
    threadManagerMode
    +
    +
    +

    Variable Documentation

    diff --git a/html/navtree.js b/html/navtree.js index beb44947..a4fbad14 100644 --- a/html/navtree.js +++ b/html/navtree.js @@ -37,10 +37,10 @@ var NAVTREEINDEX = "annotated.html", "classop_1_1_nms_caffe.html", "classop_1_1_w_face_detector.html#a721ced99378516c04cb3cff296cc274a", -"face_detector_8hpp.html", -"namespacemembers_func.html", -"structop_1_1_point.html#a812d4ef29d102f4ad18f32ae54eb17ec", -"w_video_saver_8hpp.html#a49bd4106b0cd1cb81980329b06c0d2c8" +"face_cpu_renderer_8hpp_source.html", +"maximum_caffe_8hpp_source.html", +"structop_1_1_datum3_d.html", +"w_pose_extractor_8hpp_source.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/html/navtreeindex0.js b/html/navtreeindex0.js index 9b3fb462..013b25bc 100644 --- a/html/navtreeindex0.js +++ b/html/navtreeindex0.js @@ -3,12 +3,12 @@ var NAVTREEINDEX0 = "annotated.html":[1,0], "array_8hpp.html":[2,0,0,0,0,0], "array_8hpp_source.html":[2,0,0,0,0,0], -"body_part_connector_base_8hpp.html":[2,0,0,0,6,0], -"body_part_connector_base_8hpp.html#a047afd1856d394bec9b19dab7e765029":[2,0,0,0,6,0,1], -"body_part_connector_base_8hpp.html#a708e05033d5c51c3a3ff5d4ed621ebbf":[2,0,0,0,6,0,0], -"body_part_connector_base_8hpp_source.html":[2,0,0,0,6,0], -"body_part_connector_caffe_8hpp.html":[2,0,0,0,6,1], -"body_part_connector_caffe_8hpp_source.html":[2,0,0,0,6,1], +"body_part_connector_base_8hpp.html":[2,0,0,0,7,0], +"body_part_connector_base_8hpp.html#a047afd1856d394bec9b19dab7e765029":[2,0,0,0,7,0,1], +"body_part_connector_base_8hpp.html#a708e05033d5c51c3a3ff5d4ed621ebbf":[2,0,0,0,7,0,0], +"body_part_connector_base_8hpp_source.html":[2,0,0,0,7,0], +"body_part_connector_caffe_8hpp.html":[2,0,0,0,7,1], +"body_part_connector_caffe_8hpp_source.html":[2,0,0,0,7,1], "camera_parameters_8hpp.html":[2,0,0,0,1,0,0], "camera_parameters_8hpp.html#a504c1c4e510fe00fbb557d86c5aae66e":[2,0,0,0,1,0,0,3], "camera_parameters_8hpp.html#a6183a85d3790e568f4994c2ee661247d":[2,0,0,0,1,0,0,4], @@ -16,15 +16,15 @@ var NAVTREEINDEX0 = "camera_parameters_8hpp.html#a9f5d182aa1bd043391165e3f38f51bd7":[2,0,0,0,1,0,0,1], "camera_parameters_8hpp.html#ab1f32af6f83491f1911f59dbea254d0d":[2,0,0,0,1,0,0,2], "camera_parameters_8hpp_source.html":[2,0,0,0,1,0,0], -"check_8hpp.html":[2,0,0,0,9,0], -"check_8hpp.html#a07a8efb4ba66a49653062365a07dc23f":[2,0,0,0,9,0,5], -"check_8hpp.html#a13e8e79ada0bde9f9b83e7b06a7b7758":[2,0,0,0,9,0,6], -"check_8hpp.html#a1f859611d5b55dc1e0b6b74ea2c38dcf":[2,0,0,0,9,0,3], -"check_8hpp.html#a9166c48926c9cbf842dfcd6beb411542":[2,0,0,0,9,0,2], -"check_8hpp.html#a9923237964bf29b59bb135478e929546":[2,0,0,0,9,0,0], -"check_8hpp.html#ab8cdf56c47b2cd2fffa2533ab80dace4":[2,0,0,0,9,0,1], -"check_8hpp.html#ad32c10f16b4b817acab2305779bb6ec2":[2,0,0,0,9,0,4], -"check_8hpp_source.html":[2,0,0,0,9,0], +"check_8hpp.html":[2,0,0,0,10,0], +"check_8hpp.html#a07a8efb4ba66a49653062365a07dc23f":[2,0,0,0,10,0,5], +"check_8hpp.html#a13e8e79ada0bde9f9b83e7b06a7b7758":[2,0,0,0,10,0,6], +"check_8hpp.html#a1f859611d5b55dc1e0b6b74ea2c38dcf":[2,0,0,0,10,0,3], +"check_8hpp.html#a9166c48926c9cbf842dfcd6beb411542":[2,0,0,0,10,0,2], +"check_8hpp.html#a9923237964bf29b59bb135478e929546":[2,0,0,0,10,0,0], +"check_8hpp.html#ab8cdf56c47b2cd2fffa2533ab80dace4":[2,0,0,0,10,0,1], +"check_8hpp.html#ad32c10f16b4b817acab2305779bb6ec2":[2,0,0,0,10,0,4], +"check_8hpp_source.html":[2,0,0,0,10,0], "classboost_1_1shared__ptr.html":[1,0,0,0], "classcaffe_1_1_blob.html":[1,0,1,0], "classes.html":[1,1], diff --git a/html/navtreeindex2.js b/html/navtreeindex2.js index 5d870fad..490d3f68 100644 --- a/html/navtreeindex2.js +++ b/html/navtreeindex2.js @@ -191,13 +191,13 @@ var NAVTREEINDEX2 = "core_2headers_8hpp_source.html":[2,0,0,0,0,7], "core_2renderer_8hpp.html":[2,0,0,0,0,19], "core_2renderer_8hpp_source.html":[2,0,0,0,0,19], -"cuda_8hpp.html":[2,0,0,0,9,1], -"cuda_8hpp.html#a2af8422ada0de882cc222920ca15c6d2":[2,0,0,0,9,1,0], -"cuda_8hpp.html#a4ba080c11cc9758051db97ce2a11c023":[2,0,0,0,9,1,2], -"cuda_8hpp.html#a8b9860388a640472d25a1dacb007c675":[2,0,0,0,9,1,3], -"cuda_8hpp.html#aaad222b087dd041c35de2f3414c1a01f":[2,0,0,0,9,1,1], -"cuda_8hpp.html#ac7bbf63b37bf6762c47557ad227e036d":[2,0,0,0,9,1,4], -"cuda_8hpp_source.html":[2,0,0,0,9,1], +"cuda_8hpp.html":[2,0,0,0,4,0], +"cuda_8hpp.html#a2af8422ada0de882cc222920ca15c6d2":[2,0,0,0,4,0,0], +"cuda_8hpp.html#a4ba080c11cc9758051db97ce2a11c023":[2,0,0,0,4,0,2], +"cuda_8hpp.html#a8b9860388a640472d25a1dacb007c675":[2,0,0,0,4,0,3], +"cuda_8hpp.html#ac7bbf63b37bf6762c47557ad227e036d":[2,0,0,0,4,0,4], +"cuda_8hpp.html#ad9b7765a4396ee4470585ded07285563":[2,0,0,0,4,0,1], +"cuda_8hpp_source.html":[2,0,0,0,4,0], "cv_mat_to_op_input_8hpp.html":[2,0,0,0,0,2], "cv_mat_to_op_input_8hpp_source.html":[2,0,0,0,0,2], "cv_mat_to_op_output_8hpp.html":[2,0,0,0,0,3], @@ -210,32 +210,33 @@ var NAVTREEINDEX2 = "datum_8hpp.html#ad96b23e17e179ed25d779d31b8ee2c07":[2,0,0,0,0,4,3], "datum_8hpp.html#af87cd873cebb915837ae27248f67e822":[2,0,0,0,0,4,1], "datum_8hpp_source.html":[2,0,0,0,0,4], -"datum_producer_8hpp.html":[2,0,0,0,7,0], -"datum_producer_8hpp_source.html":[2,0,0,0,7,0], +"datum_producer_8hpp.html":[2,0,0,0,8,0], +"datum_producer_8hpp_source.html":[2,0,0,0,8,0], "dir_064336ecb4157cb3f6fdf6ebb1eb8973.html":[2,0,0,0,1], -"dir_10d881e1091dc713424eeb7bbc1f21ed.html":[2,0,0,0,8], +"dir_0d7fcad32b07fb45e8677eefbdc4bd02.html":[2,0,0,0,4], +"dir_10d881e1091dc713424eeb7bbc1f21ed.html":[2,0,0,0,9], "dir_18695feb986752a25b816536eab00e96.html":[2,0,0,0], -"dir_4506be49ee7fb2593b2eb7f8b65ab365.html":[2,0,0,0,4], -"dir_5e264839c35dab04bf5009e4b1c2721d.html":[2,0,0,0,9], -"dir_656bab9d729ebd6e2f5fd290e8e58c67.html":[2,0,0,0,10], +"dir_4506be49ee7fb2593b2eb7f8b65ab365.html":[2,0,0,0,5], +"dir_5e264839c35dab04bf5009e4b1c2721d.html":[2,0,0,0,10], +"dir_656bab9d729ebd6e2f5fd290e8e58c67.html":[2,0,0,0,11], "dir_6905540930e2894785a7f1c5aa3bda2e.html":[2,0,0,0,1,0], "dir_7f012205977c6890af7afa3b7477c2d1.html":[2,0,0], "dir_811fac311eed76aeb4070c1afd4abeac.html":[2,0,0,0,1,2], -"dir_b2e62255944e9e5a8b460230324e9449.html":[2,0,0,0,7], +"dir_b2e62255944e9e5a8b460230324e9449.html":[2,0,0,0,8], "dir_d6e567c8390b6a30c30307f931e28950.html":[2,0,0,0,0], "dir_da8f0331eb5f441599a7c56ee4b45b7a.html":[2,0,0,0,3], "dir_dacb83de4055df6541fe915266a25b23.html":[2,0,0,0,1,1], -"dir_e6a46dbf99f5b50e7fc745799cfa5168.html":[2,0,0,0,5], +"dir_e6a46dbf99f5b50e7fc745799cfa5168.html":[2,0,0,0,6], "dir_f405bd8e18e06aa171eb4c66f2ad61ec.html":[2,0,0,0,2], -"dir_fb1fa93424b14541859dcbe39f791178.html":[2,0,0,0,6], -"error_and_log_8hpp.html":[2,0,0,0,9,3], -"error_and_log_8hpp.html#a42d364d9fbd1a719341bd7187d97cf18":[2,0,0,0,9,3,4], -"error_and_log_8hpp.html#a4eb991aa18818196d35c66455a437a32":[2,0,0,0,9,3,2], -"error_and_log_8hpp.html#a5f092bd36c716a894cb035e1ead2aca3":[2,0,0,0,9,3,3], -"error_and_log_8hpp.html#a9912b2bfa3dbe427b4e72dd34c605df2":[2,0,0,0,9,3,5], -"error_and_log_8hpp.html#ad671f60788fdc2f4a04beda1dc3728c5":[2,0,0,0,9,3,6], -"error_and_log_8hpp.html#af548fe1a2ad2b392a25afe9b0b87b8dd":[2,0,0,0,9,3,7], -"error_and_log_8hpp_source.html":[2,0,0,0,9,3], +"dir_fb1fa93424b14541859dcbe39f791178.html":[2,0,0,0,7], +"error_and_log_8hpp.html":[2,0,0,0,10,2], +"error_and_log_8hpp.html#a42d364d9fbd1a719341bd7187d97cf18":[2,0,0,0,10,2,4], +"error_and_log_8hpp.html#a4eb991aa18818196d35c66455a437a32":[2,0,0,0,10,2,2], +"error_and_log_8hpp.html#a5f092bd36c716a894cb035e1ead2aca3":[2,0,0,0,10,2,3], +"error_and_log_8hpp.html#a9912b2bfa3dbe427b4e72dd34c605df2":[2,0,0,0,10,2,5], +"error_and_log_8hpp.html#ad671f60788fdc2f4a04beda1dc3728c5":[2,0,0,0,10,2,6], +"error_and_log_8hpp.html#af548fe1a2ad2b392a25afe9b0b87b8dd":[2,0,0,0,10,2,7], +"error_and_log_8hpp_source.html":[2,0,0,0,10,2], "experimental_23d_2headers_8hpp.html":[2,0,0,0,1,0,2], "experimental_23d_2headers_8hpp_source.html":[2,0,0,0,1,0,2], "experimental_23d_2renderer_8hpp.html":[2,0,0,0,1,0,5], @@ -248,6 +249,5 @@ var NAVTREEINDEX2 = "experimental_2tracking_2headers_8hpp_source.html":[2,0,0,0,1,2,0], "face_2headers_8hpp.html":[2,0,0,0,2,8], "face_2headers_8hpp_source.html":[2,0,0,0,2,8], -"face_cpu_renderer_8hpp.html":[2,0,0,0,2,0], -"face_cpu_renderer_8hpp_source.html":[2,0,0,0,2,0] +"face_cpu_renderer_8hpp.html":[2,0,0,0,2,0] }; diff --git a/html/navtreeindex3.js b/html/navtreeindex3.js index 10c96907..acf8df12 100644 --- a/html/navtreeindex3.js +++ b/html/navtreeindex3.js @@ -1,5 +1,6 @@ var NAVTREEINDEX3 = { +"face_cpu_renderer_8hpp_source.html":[2,0,0,0,2,0], "face_detector_8hpp.html":[2,0,0,0,2,1], "face_detector_8hpp_source.html":[2,0,0,0,2,1], "face_detector_open_c_v_8hpp.html":[2,0,0,0,2,2], @@ -27,20 +28,20 @@ var NAVTREEINDEX3 = "face_parameters_8hpp_source.html":[2,0,0,0,2,6], "face_renderer_8hpp.html":[2,0,0,0,2,7], "face_renderer_8hpp_source.html":[2,0,0,0,2,7], -"fast_math_8hpp.html":[2,0,0,0,9,4], -"fast_math_8hpp.html#a2dafd3db8f922405b38240345dd1dce5":[2,0,0,0,9,4,3], -"fast_math_8hpp.html#a61240e5fbd4ea84a2cfdc89407bcb1ae":[2,0,0,0,9,4,8], -"fast_math_8hpp.html#a65c35aa5a4461e819a01371f152a7407":[2,0,0,0,9,4,7], -"fast_math_8hpp.html#a6e1d1f90ef06cc7af576fdaad4b4e320":[2,0,0,0,9,4,2], -"fast_math_8hpp.html#a757a5cc88734e7be9e910e7d8213c282":[2,0,0,0,9,4,10], -"fast_math_8hpp.html#a7817601c574b570fef5ab7703b9b8aea":[2,0,0,0,9,4,5], -"fast_math_8hpp.html#a8525e440d6ac1b558e72637dc4f4e3c4":[2,0,0,0,9,4,9], -"fast_math_8hpp.html#a9f4b99449c0c73e2c89ee1a1eff007c7":[2,0,0,0,9,4,1], -"fast_math_8hpp.html#aaafe2e235a1a3a146bb026b71c521c7b":[2,0,0,0,9,4,11], -"fast_math_8hpp.html#abbf62284718858335848e43bbeafb192":[2,0,0,0,9,4,0], -"fast_math_8hpp.html#adcfd0bf5ba782278488c157667a80c54":[2,0,0,0,9,4,4], -"fast_math_8hpp.html#ae0d8debba08b802d115b71ee1232e535":[2,0,0,0,9,4,6], -"fast_math_8hpp_source.html":[2,0,0,0,9,4], +"fast_math_8hpp.html":[2,0,0,0,10,3], +"fast_math_8hpp.html#a2dafd3db8f922405b38240345dd1dce5":[2,0,0,0,10,3,3], +"fast_math_8hpp.html#a61240e5fbd4ea84a2cfdc89407bcb1ae":[2,0,0,0,10,3,8], +"fast_math_8hpp.html#a65c35aa5a4461e819a01371f152a7407":[2,0,0,0,10,3,7], +"fast_math_8hpp.html#a6e1d1f90ef06cc7af576fdaad4b4e320":[2,0,0,0,10,3,2], +"fast_math_8hpp.html#a757a5cc88734e7be9e910e7d8213c282":[2,0,0,0,10,3,10], +"fast_math_8hpp.html#a7817601c574b570fef5ab7703b9b8aea":[2,0,0,0,10,3,5], +"fast_math_8hpp.html#a8525e440d6ac1b558e72637dc4f4e3c4":[2,0,0,0,10,3,9], +"fast_math_8hpp.html#a9f4b99449c0c73e2c89ee1a1eff007c7":[2,0,0,0,10,3,1], +"fast_math_8hpp.html#aaafe2e235a1a3a146bb026b71c521c7b":[2,0,0,0,10,3,11], +"fast_math_8hpp.html#abbf62284718858335848e43bbeafb192":[2,0,0,0,10,3,0], +"fast_math_8hpp.html#adcfd0bf5ba782278488c157667a80c54":[2,0,0,0,10,3,4], +"fast_math_8hpp.html#ae0d8debba08b802d115b71ee1232e535":[2,0,0,0,10,3,6], +"fast_math_8hpp_source.html":[2,0,0,0,10,3], "file_saver_8hpp.html":[2,0,0,0,3,2], "file_saver_8hpp_source.html":[2,0,0,0,3,2], "file_stream_8hpp.html":[2,0,0,0,3,3], @@ -56,17 +57,17 @@ var NAVTREEINDEX3 = "file_stream_8hpp.html#ad8705cea162a5874afc33fdec9a37d9f":[2,0,0,0,3,3,3], "file_stream_8hpp.html#af9c189f7c80092570699c8b9d5686fea":[2,0,0,0,3,3,8], "file_stream_8hpp_source.html":[2,0,0,0,3,3], -"file_system_8hpp.html":[2,0,0,0,9,5], -"file_system_8hpp.html#a3ff74a37eb4bf12e31bc5aa95b69f9e3":[2,0,0,0,9,5,6], -"file_system_8hpp.html#a515273b013402d8c75780330588421bc":[2,0,0,0,9,5,3], -"file_system_8hpp.html#a573544858d0a9c29c9707eeda3a21c98":[2,0,0,0,9,5,4], -"file_system_8hpp.html#a6f37638480139a4076eef4d0c7dc6cd1":[2,0,0,0,9,5,5], -"file_system_8hpp.html#a6fc2ee2d2c256695fb7b2b953ee7f762":[2,0,0,0,9,5,0], -"file_system_8hpp.html#ab38ea91ef7b7dad700d8e4a4654d48f5":[2,0,0,0,9,5,2], -"file_system_8hpp.html#ac1f4b95440d2fb57fc715558d039b947":[2,0,0,0,9,5,1], -"file_system_8hpp.html#acc650faa23df88ca16a09a2d2a522960":[2,0,0,0,9,5,8], -"file_system_8hpp.html#adb26da2c52486e926d98471b5387c7e1":[2,0,0,0,9,5,7], -"file_system_8hpp_source.html":[2,0,0,0,9,5], +"file_system_8hpp.html":[2,0,0,0,10,4], +"file_system_8hpp.html#a3ff74a37eb4bf12e31bc5aa95b69f9e3":[2,0,0,0,10,4,6], +"file_system_8hpp.html#a515273b013402d8c75780330588421bc":[2,0,0,0,10,4,3], +"file_system_8hpp.html#a573544858d0a9c29c9707eeda3a21c98":[2,0,0,0,10,4,4], +"file_system_8hpp.html#a6f37638480139a4076eef4d0c7dc6cd1":[2,0,0,0,10,4,5], +"file_system_8hpp.html#a6fc2ee2d2c256695fb7b2b953ee7f762":[2,0,0,0,10,4,0], +"file_system_8hpp.html#ab38ea91ef7b7dad700d8e4a4654d48f5":[2,0,0,0,10,4,2], +"file_system_8hpp.html#ac1f4b95440d2fb57fc715558d039b947":[2,0,0,0,10,4,1], +"file_system_8hpp.html#acc650faa23df88ca16a09a2d2a522960":[2,0,0,0,10,4,8], +"file_system_8hpp.html#adb26da2c52486e926d98471b5387c7e1":[2,0,0,0,10,4,7], +"file_system_8hpp_source.html":[2,0,0,0,10,4], "files.html":[2,0], "filestream_2enum_classes_8hpp.html":[2,0,0,0,3,1], "filestream_2enum_classes_8hpp.html#ae52c21a24cf2c21e3b419c127924fd7e":[2,0,0,0,3,1,0], @@ -77,18 +78,18 @@ var NAVTREEINDEX3 = "filestream_2enum_classes_8hpp_source.html":[2,0,0,0,3,1], "filestream_2headers_8hpp.html":[2,0,0,0,3,4], "filestream_2headers_8hpp_source.html":[2,0,0,0,3,4], -"flags_to_open_pose_8hpp.html":[2,0,0,0,9,6], -"flags_to_open_pose_8hpp.html#a0237c9773b9ee6a63ebdf0e8a497bb84":[2,0,0,0,9,6,5], -"flags_to_open_pose_8hpp.html#a266801b568c885ef280c41ea82f3871f":[2,0,0,0,9,6,4], -"flags_to_open_pose_8hpp.html#a4526c07c6dafe2a5e3437b66d20a6dd3":[2,0,0,0,9,6,6], -"flags_to_open_pose_8hpp.html#a7961cb2fd04f59cbcd40df5872f12fd7":[2,0,0,0,9,6,2], -"flags_to_open_pose_8hpp.html#aa4a6fee7ba2cc543739477e9c1d64136":[2,0,0,0,9,6,1], -"flags_to_open_pose_8hpp.html#ac3bebe88bedbd7785d48159c8e3f0515":[2,0,0,0,9,6,7], -"flags_to_open_pose_8hpp.html#ad3b02ca66d11f4129372f4a9f98c6437":[2,0,0,0,9,6,0], -"flags_to_open_pose_8hpp.html#aed592469f254f31c2356d4628f75aaea":[2,0,0,0,9,6,3], -"flags_to_open_pose_8hpp_source.html":[2,0,0,0,9,6], -"frame_displayer_8hpp.html":[2,0,0,0,4,1], -"frame_displayer_8hpp_source.html":[2,0,0,0,4,1], +"flags_to_open_pose_8hpp.html":[2,0,0,0,10,5], +"flags_to_open_pose_8hpp.html#a0237c9773b9ee6a63ebdf0e8a497bb84":[2,0,0,0,10,5,5], +"flags_to_open_pose_8hpp.html#a266801b568c885ef280c41ea82f3871f":[2,0,0,0,10,5,4], +"flags_to_open_pose_8hpp.html#a4526c07c6dafe2a5e3437b66d20a6dd3":[2,0,0,0,10,5,6], +"flags_to_open_pose_8hpp.html#a7961cb2fd04f59cbcd40df5872f12fd7":[2,0,0,0,10,5,2], +"flags_to_open_pose_8hpp.html#aa4a6fee7ba2cc543739477e9c1d64136":[2,0,0,0,10,5,1], +"flags_to_open_pose_8hpp.html#ac3bebe88bedbd7785d48159c8e3f0515":[2,0,0,0,10,5,7], +"flags_to_open_pose_8hpp.html#ad3b02ca66d11f4129372f4a9f98c6437":[2,0,0,0,10,5,0], +"flags_to_open_pose_8hpp.html#aed592469f254f31c2356d4628f75aaea":[2,0,0,0,10,5,3], +"flags_to_open_pose_8hpp_source.html":[2,0,0,0,10,5], +"frame_displayer_8hpp.html":[2,0,0,0,5,1], +"frame_displayer_8hpp_source.html":[2,0,0,0,5,1], "functions.html":[1,3,0], "functions.html":[1,3,0,0], "functions_b.html":[1,3,0,1], @@ -145,76 +146,89 @@ var NAVTREEINDEX3 = "functions_~.html":[1,3,0,25], "globals.html":[2,1,0], "globals_defs.html":[2,1,1], +"gpu_2enum_classes_8hpp.html":[2,0,0,0,4,1], +"gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7f":[2,0,0,0,4,1,0], +"gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7fa35acca33baa6f2c4c6fb694eabfa5ac7":[2,0,0,0,4,1,0,1], +"gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,4,1,0,3], +"gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7fa9393911bc06bdfb0c3663d541246e15a":[2,0,0,0,4,1,0,2], +"gpu_2enum_classes_8hpp.html#adbb34b5c8f2b6f0c051f831f18582e7faa33b7755e5f9b504d2d038eaca4ff28d":[2,0,0,0,4,1,0,0], +"gpu_2enum_classes_8hpp_source.html":[2,0,0,0,4,1], +"gpu_2headers_8hpp.html":[2,0,0,0,4,3], +"gpu_2headers_8hpp_source.html":[2,0,0,0,4,3], +"gpu_8hpp.html":[2,0,0,0,4,2], +"gpu_8hpp.html#a971a7caa96be5b715b5c22f6e5dc6ad1":[2,0,0,0,4,2,0], +"gpu_8hpp.html#aaad222b087dd041c35de2f3414c1a01f":[2,0,0,0,4,2,1], +"gpu_8hpp_source.html":[2,0,0,0,4,2], "gpu_renderer_8hpp.html":[2,0,0,0,0,6], "gpu_renderer_8hpp_source.html":[2,0,0,0,0,6], -"gui_2enum_classes_8hpp.html":[2,0,0,0,4,0], -"gui_2enum_classes_8hpp.html#a38f03cd0b02b760ffd2ea9e737680e01":[2,0,0,0,4,0,0], -"gui_2enum_classes_8hpp.html#a38f03cd0b02b760ffd2ea9e737680e01ab13311ab51c4c34757f67f26580018dd":[2,0,0,0,4,0,0,1], -"gui_2enum_classes_8hpp.html#a38f03cd0b02b760ffd2ea9e737680e01ae7ec409749889353b8f83a6b04159420":[2,0,0,0,4,0,0,0], -"gui_2enum_classes_8hpp_source.html":[2,0,0,0,4,0], -"gui_2headers_8hpp.html":[2,0,0,0,4,4], -"gui_2headers_8hpp_source.html":[2,0,0,0,4,4], -"gui_8hpp.html":[2,0,0,0,4,2], -"gui_8hpp_source.html":[2,0,0,0,4,2], -"gui_info_adder_8hpp.html":[2,0,0,0,4,3], -"gui_info_adder_8hpp_source.html":[2,0,0,0,4,3], -"hand_2headers_8hpp.html":[2,0,0,0,5,8], -"hand_2headers_8hpp_source.html":[2,0,0,0,5,8], -"hand_cpu_renderer_8hpp.html":[2,0,0,0,5,0], -"hand_cpu_renderer_8hpp_source.html":[2,0,0,0,5,0], -"hand_detector_8hpp.html":[2,0,0,0,5,1], -"hand_detector_8hpp_source.html":[2,0,0,0,5,1], -"hand_detector_from_txt_8hpp.html":[2,0,0,0,5,2], -"hand_detector_from_txt_8hpp_source.html":[2,0,0,0,5,2], -"hand_extractor_8hpp.html":[2,0,0,0,5,3], -"hand_extractor_8hpp_source.html":[2,0,0,0,5,3], -"hand_extractor_caffe_8hpp.html":[2,0,0,0,5,4], -"hand_extractor_caffe_8hpp_source.html":[2,0,0,0,5,4], -"hand_gpu_renderer_8hpp.html":[2,0,0,0,5,5], -"hand_gpu_renderer_8hpp_source.html":[2,0,0,0,5,5], -"hand_parameters_8hpp.html":[2,0,0,0,5,6], -"hand_parameters_8hpp.html#a182585e2e944cdb62f3dededdd85d1fc":[2,0,0,0,5,6,7], -"hand_parameters_8hpp.html#a335d707e98d311d39d9a9dab0e325391":[2,0,0,0,5,6,9], -"hand_parameters_8hpp.html#a3fe70bd1eacdd78aef3344c83533ffc7":[2,0,0,0,5,6,10], -"hand_parameters_8hpp.html#a41b6fb82924c5532cf10151e6ce497f2":[2,0,0,0,5,6,8], -"hand_parameters_8hpp.html#a450bb646e7573322d8f622bfdbab4833":[2,0,0,0,5,6,4], -"hand_parameters_8hpp.html#a4e9bbc2167923763c5982d6d1f41f560":[2,0,0,0,5,6,11], -"hand_parameters_8hpp.html#a5ca06d0202756b9a3b8825ccbafc0558":[2,0,0,0,5,6,0], -"hand_parameters_8hpp.html#a5ec40add22e28bc75596c75a7be8a692":[2,0,0,0,5,6,1], -"hand_parameters_8hpp.html#a76c1f1ea90b73e13e93f72413b3cab0e":[2,0,0,0,5,6,5], -"hand_parameters_8hpp.html#a799d629d7fddd7f0daf40ccdae0293b9":[2,0,0,0,5,6,2], -"hand_parameters_8hpp.html#aa8cc53d2fe5353f9d87d50c32a8c1a95":[2,0,0,0,5,6,6], -"hand_parameters_8hpp.html#ac13af59538bcb8a1709f20010681d1c7":[2,0,0,0,5,6,12], -"hand_parameters_8hpp.html#aed0d108f5ada623eeb0ed41f896f8e97":[2,0,0,0,5,6,3], -"hand_parameters_8hpp_source.html":[2,0,0,0,5,6], -"hand_renderer_8hpp.html":[2,0,0,0,5,7], -"hand_renderer_8hpp_source.html":[2,0,0,0,5,7], -"headers_8hpp.html":[2,0,0,0,11], -"headers_8hpp_source.html":[2,0,0,0,11], +"gui_2enum_classes_8hpp.html":[2,0,0,0,5,0], +"gui_2enum_classes_8hpp.html#a38f03cd0b02b760ffd2ea9e737680e01":[2,0,0,0,5,0,0], +"gui_2enum_classes_8hpp.html#a38f03cd0b02b760ffd2ea9e737680e01ab13311ab51c4c34757f67f26580018dd":[2,0,0,0,5,0,0,1], +"gui_2enum_classes_8hpp.html#a38f03cd0b02b760ffd2ea9e737680e01ae7ec409749889353b8f83a6b04159420":[2,0,0,0,5,0,0,0], +"gui_2enum_classes_8hpp_source.html":[2,0,0,0,5,0], +"gui_2headers_8hpp.html":[2,0,0,0,5,4], +"gui_2headers_8hpp_source.html":[2,0,0,0,5,4], +"gui_8hpp.html":[2,0,0,0,5,2], +"gui_8hpp_source.html":[2,0,0,0,5,2], +"gui_info_adder_8hpp.html":[2,0,0,0,5,3], +"gui_info_adder_8hpp_source.html":[2,0,0,0,5,3], +"hand_2headers_8hpp.html":[2,0,0,0,6,8], +"hand_2headers_8hpp_source.html":[2,0,0,0,6,8], +"hand_cpu_renderer_8hpp.html":[2,0,0,0,6,0], +"hand_cpu_renderer_8hpp_source.html":[2,0,0,0,6,0], +"hand_detector_8hpp.html":[2,0,0,0,6,1], +"hand_detector_8hpp_source.html":[2,0,0,0,6,1], +"hand_detector_from_txt_8hpp.html":[2,0,0,0,6,2], +"hand_detector_from_txt_8hpp_source.html":[2,0,0,0,6,2], +"hand_extractor_8hpp.html":[2,0,0,0,6,3], +"hand_extractor_8hpp_source.html":[2,0,0,0,6,3], +"hand_extractor_caffe_8hpp.html":[2,0,0,0,6,4], +"hand_extractor_caffe_8hpp_source.html":[2,0,0,0,6,4], +"hand_gpu_renderer_8hpp.html":[2,0,0,0,6,5], +"hand_gpu_renderer_8hpp_source.html":[2,0,0,0,6,5], +"hand_parameters_8hpp.html":[2,0,0,0,6,6], +"hand_parameters_8hpp.html#a182585e2e944cdb62f3dededdd85d1fc":[2,0,0,0,6,6,7], +"hand_parameters_8hpp.html#a335d707e98d311d39d9a9dab0e325391":[2,0,0,0,6,6,9], +"hand_parameters_8hpp.html#a3fe70bd1eacdd78aef3344c83533ffc7":[2,0,0,0,6,6,10], +"hand_parameters_8hpp.html#a41b6fb82924c5532cf10151e6ce497f2":[2,0,0,0,6,6,8], +"hand_parameters_8hpp.html#a450bb646e7573322d8f622bfdbab4833":[2,0,0,0,6,6,4], +"hand_parameters_8hpp.html#a4e9bbc2167923763c5982d6d1f41f560":[2,0,0,0,6,6,11], +"hand_parameters_8hpp.html#a5ca06d0202756b9a3b8825ccbafc0558":[2,0,0,0,6,6,0], +"hand_parameters_8hpp.html#a5ec40add22e28bc75596c75a7be8a692":[2,0,0,0,6,6,1], +"hand_parameters_8hpp.html#a76c1f1ea90b73e13e93f72413b3cab0e":[2,0,0,0,6,6,5], +"hand_parameters_8hpp.html#a799d629d7fddd7f0daf40ccdae0293b9":[2,0,0,0,6,6,2], +"hand_parameters_8hpp.html#aa8cc53d2fe5353f9d87d50c32a8c1a95":[2,0,0,0,6,6,6], +"hand_parameters_8hpp.html#ac13af59538bcb8a1709f20010681d1c7":[2,0,0,0,6,6,12], +"hand_parameters_8hpp.html#aed0d108f5ada623eeb0ed41f896f8e97":[2,0,0,0,6,6,3], +"hand_parameters_8hpp_source.html":[2,0,0,0,6,6], +"hand_renderer_8hpp.html":[2,0,0,0,6,7], +"hand_renderer_8hpp_source.html":[2,0,0,0,6,7], +"headers_8hpp.html":[2,0,0,0,12], +"headers_8hpp_source.html":[2,0,0,0,12], "heat_map_saver_8hpp.html":[2,0,0,0,3,5], "heat_map_saver_8hpp_source.html":[2,0,0,0,3,5], "hierarchy.html":[1,2], -"image_directory_reader_8hpp.html":[2,0,0,0,7,3], -"image_directory_reader_8hpp_source.html":[2,0,0,0,7,3], +"image_directory_reader_8hpp.html":[2,0,0,0,8,3], +"image_directory_reader_8hpp_source.html":[2,0,0,0,8,3], "image_saver_8hpp.html":[2,0,0,0,3,6], "image_saver_8hpp_source.html":[2,0,0,0,3,6], "index.html":[], -"ip_camera_reader_8hpp.html":[2,0,0,0,7,4], -"ip_camera_reader_8hpp_source.html":[2,0,0,0,7,4], +"ip_camera_reader_8hpp.html":[2,0,0,0,8,4], +"ip_camera_reader_8hpp_source.html":[2,0,0,0,8,4], "json_ofstream_8hpp.html":[2,0,0,0,3,7], "json_ofstream_8hpp_source.html":[2,0,0,0,3,7], -"keypoint_8hpp.html":[2,0,0,0,9,8], -"keypoint_8hpp.html#a07d0092a7c9ce5130cd26a7bbba927e9":[2,0,0,0,9,8,6], -"keypoint_8hpp.html#a0d3788b482df5017c8214d4f8cdaf660":[2,0,0,0,9,8,7], -"keypoint_8hpp.html#a1c6d17a9f442da1795540e2d1023129c":[2,0,0,0,9,8,9], -"keypoint_8hpp.html#a22864d3d38f8020596d921951cf67750":[2,0,0,0,9,8,2], -"keypoint_8hpp.html#a29e26ec36e2ca8b8e0b7b6180f9315e3":[2,0,0,0,9,8,1], -"keypoint_8hpp.html#a5333b783eb8c9dbd4295d472a0dd44a4":[2,0,0,0,9,8,0], -"keypoint_8hpp.html#a88b83fabe52c73ed5c4f131c4ce75651":[2,0,0,0,9,8,3], -"keypoint_8hpp.html#aa2cc07e56f471c5e1d5f228c70ce6a05":[2,0,0,0,9,8,4], -"keypoint_8hpp.html#afb230634bc4a07f84ca91ebaf13e385f":[2,0,0,0,9,8,5], -"keypoint_8hpp.html#affdd0ecec773d38da5348e6eb482396e":[2,0,0,0,9,8,8], -"keypoint_8hpp_source.html":[2,0,0,0,9,8], +"keypoint_8hpp.html":[2,0,0,0,10,7], +"keypoint_8hpp.html#a07d0092a7c9ce5130cd26a7bbba927e9":[2,0,0,0,10,7,6], +"keypoint_8hpp.html#a0d3788b482df5017c8214d4f8cdaf660":[2,0,0,0,10,7,7], +"keypoint_8hpp.html#a1c6d17a9f442da1795540e2d1023129c":[2,0,0,0,10,7,9], +"keypoint_8hpp.html#a22864d3d38f8020596d921951cf67750":[2,0,0,0,10,7,2], +"keypoint_8hpp.html#a29e26ec36e2ca8b8e0b7b6180f9315e3":[2,0,0,0,10,7,1], +"keypoint_8hpp.html#a5333b783eb8c9dbd4295d472a0dd44a4":[2,0,0,0,10,7,0], +"keypoint_8hpp.html#a88b83fabe52c73ed5c4f131c4ce75651":[2,0,0,0,10,7,3], +"keypoint_8hpp.html#aa2cc07e56f471c5e1d5f228c70ce6a05":[2,0,0,0,10,7,4], +"keypoint_8hpp.html#afb230634bc4a07f84ca91ebaf13e385f":[2,0,0,0,10,7,5], +"keypoint_8hpp.html#affdd0ecec773d38da5348e6eb482396e":[2,0,0,0,10,7,8], +"keypoint_8hpp_source.html":[2,0,0,0,10,7], "keypoint_saver_8hpp.html":[2,0,0,0,3,8], "keypoint_saver_8hpp_source.html":[2,0,0,0,3,8], "keypoint_scaler_8hpp.html":[2,0,0,0,0,8], @@ -235,19 +249,5 @@ var NAVTREEINDEX3 = "maximum_base_8hpp.html#a4852b0b78742b27c332f4b9e95d0106c":[2,0,0,0,0,10,1], "maximum_base_8hpp.html#adc3e9959bee33fa45e718f9874da3e33":[2,0,0,0,0,10,0], "maximum_base_8hpp_source.html":[2,0,0,0,0,10], -"maximum_caffe_8hpp.html":[2,0,0,0,0,11], -"maximum_caffe_8hpp_source.html":[2,0,0,0,0,11], -"namespaceboost.html":[1,0,0], -"namespaceboost.html":[0,0,0], -"namespacecaffe.html":[1,0,1], -"namespacecaffe.html":[0,0,1], -"namespacemembers.html":[0,1,0,0], -"namespacemembers.html":[0,1,0], -"namespacemembers_b.html":[0,1,0,1], -"namespacemembers_c.html":[0,1,0,2], -"namespacemembers_d.html":[0,1,0,3], -"namespacemembers_e.html":[0,1,0,4], -"namespacemembers_enum.html":[0,1,3], -"namespacemembers_eval.html":[0,1,4], -"namespacemembers_f.html":[0,1,0,5] +"maximum_caffe_8hpp.html":[2,0,0,0,0,11] }; diff --git a/html/navtreeindex4.js b/html/navtreeindex4.js index 0eb52a15..a91ba326 100644 --- a/html/navtreeindex4.js +++ b/html/navtreeindex4.js @@ -1,5 +1,19 @@ var NAVTREEINDEX4 = { +"maximum_caffe_8hpp_source.html":[2,0,0,0,0,11], +"namespaceboost.html":[1,0,0], +"namespaceboost.html":[0,0,0], +"namespacecaffe.html":[1,0,1], +"namespacecaffe.html":[0,0,1], +"namespacemembers.html":[0,1,0,0], +"namespacemembers.html":[0,1,0], +"namespacemembers_b.html":[0,1,0,1], +"namespacemembers_c.html":[0,1,0,2], +"namespacemembers_d.html":[0,1,0,3], +"namespacemembers_e.html":[0,1,0,4], +"namespacemembers_enum.html":[0,1,3], +"namespacemembers_eval.html":[0,1,4], +"namespacemembers_f.html":[0,1,0,5], "namespacemembers_func.html":[0,1,1], "namespacemembers_g.html":[0,1,0,6], "namespacemembers_h.html":[0,1,0,7], @@ -35,14 +49,14 @@ var NAVTREEINDEX4 = "nms_caffe_8hpp_source.html":[2,0,0,0,0,15], "op_output_to_cv_mat_8hpp.html":[2,0,0,0,0,16], "op_output_to_cv_mat_8hpp_source.html":[2,0,0,0,0,16], -"open_cv_8hpp.html":[2,0,0,0,9,9], -"open_cv_8hpp.html#a19f7bc389a24baf4883ec4155f01cc62":[2,0,0,0,9,9,1], -"open_cv_8hpp.html#a24ebdcb8395dea0429f220de6a715d6e":[2,0,0,0,9,9,3], -"open_cv_8hpp.html#a9cd0c6d2db81cd1de7568d805ef214ba":[2,0,0,0,9,9,0], -"open_cv_8hpp.html#ab8b9daed84e741afb7191fde8ed95b5e":[2,0,0,0,9,9,5], -"open_cv_8hpp.html#acb254b70d044335beb825174f62c7685":[2,0,0,0,9,9,4], -"open_cv_8hpp.html#ae6845e9d6fddf61cb7cb2eea7a7d4afc":[2,0,0,0,9,9,2], -"open_cv_8hpp_source.html":[2,0,0,0,9,9], +"open_cv_8hpp.html":[2,0,0,0,10,8], +"open_cv_8hpp.html#a19f7bc389a24baf4883ec4155f01cc62":[2,0,0,0,10,8,1], +"open_cv_8hpp.html#a24ebdcb8395dea0429f220de6a715d6e":[2,0,0,0,10,8,3], +"open_cv_8hpp.html#a9cd0c6d2db81cd1de7568d805ef214ba":[2,0,0,0,10,8,0], +"open_cv_8hpp.html#ab8b9daed84e741afb7191fde8ed95b5e":[2,0,0,0,10,8,5], +"open_cv_8hpp.html#acb254b70d044335beb825174f62c7685":[2,0,0,0,10,8,4], +"open_cv_8hpp.html#ae6845e9d6fddf61cb7cb2eea7a7d4afc":[2,0,0,0,10,8,2], +"open_cv_8hpp_source.html":[2,0,0,0,10,8], "pages.html":[], "people_json_saver_8hpp.html":[2,0,0,0,3,9], "people_json_saver_8hpp_source.html":[2,0,0,0,3,9], @@ -52,113 +66,113 @@ var NAVTREEINDEX4 = "point_8hpp_source.html":[2,0,0,0,0,17], "point_grey_8hpp.html":[2,0,0,0,1,0,3], "point_grey_8hpp_source.html":[2,0,0,0,1,0,3], -"pointer_container_8hpp.html":[2,0,0,0,9,10], -"pointer_container_8hpp.html#a02164ca0af9e838190f584f5d1d8465e":[2,0,0,0,9,10,2], -"pointer_container_8hpp_source.html":[2,0,0,0,9,10], -"pose_2enum_classes_8hpp.html":[2,0,0,0,6,2], -"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0e":[2,0,0,0,6,2,1], -"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea04576b26f5dc3637bf3c8168fba1641d":[2,0,0,0,6,2,1,4], -"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea240f10f3a39507d858c743971fd4298f":[2,0,0,0,6,2,1,2], -"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,6,2,1,5], -"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea7bf312724768faebba41ca3585a91f19":[2,0,0,0,6,2,1,3], -"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea83be5d7f6f29b19cf24f7393551c0439":[2,0,0,0,6,2,1,0], -"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0eaf7405796a5c90a93fc3c8ffa89eb432d":[2,0,0,0,6,2,1,1], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261f":[2,0,0,0,6,2,0], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa003cc3795b0eeed2af2dfd34ed482794":[2,0,0,0,6,2,0,5], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa0c4a19d9254adcb3ca1f0f527ee141fd":[2,0,0,0,6,2,0,0], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa68aa8b41e419d187d9f7daff5d65708f":[2,0,0,0,6,2,0,6], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,6,2,0,7], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa71e915c88449606c6498d33dd7c98e84":[2,0,0,0,6,2,0,2], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fab0fd0573c626fcd55b70d4547328ad7d":[2,0,0,0,6,2,0,3], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fad788fbec25069f2884ee1ed97e0af2b9":[2,0,0,0,6,2,0,1], -"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fae3ae2003e0e0458bdc49480fb19c876e":[2,0,0,0,6,2,0,4], -"pose_2enum_classes_8hpp_source.html":[2,0,0,0,6,2], -"pose_2headers_8hpp.html":[2,0,0,0,6,3], -"pose_2headers_8hpp_source.html":[2,0,0,0,6,3], -"pose_cpu_renderer_8hpp.html":[2,0,0,0,6,4], -"pose_cpu_renderer_8hpp_source.html":[2,0,0,0,6,4], -"pose_extractor_8hpp.html":[2,0,0,0,6,5], -"pose_extractor_8hpp_source.html":[2,0,0,0,6,5], -"pose_extractor_caffe_8hpp.html":[2,0,0,0,6,6], -"pose_extractor_caffe_8hpp_source.html":[2,0,0,0,6,6], -"pose_gpu_renderer_8hpp.html":[2,0,0,0,6,7], -"pose_gpu_renderer_8hpp_source.html":[2,0,0,0,6,7], -"pose_parameters_8hpp.html":[2,0,0,0,6,8], -"pose_parameters_8hpp.html#a1b7d7061c819ee76328d5917ee009b1d":[2,0,0,0,6,8,1], -"pose_parameters_8hpp.html#a1f690bf083e250642144bf8e5d6e6d2c":[2,0,0,0,6,8,3], -"pose_parameters_8hpp.html#a307b2c7b1506415a4ba44590fe8a7258":[2,0,0,0,6,8,10], -"pose_parameters_8hpp.html#a3df938ef93037c534c5d342720d5fb70":[2,0,0,0,6,8,13], -"pose_parameters_8hpp.html#a522d4552d2aeabe367f4d3bf371e6b3e":[2,0,0,0,6,8,15], -"pose_parameters_8hpp.html#a54a6c42a42a0a7e539061f5e30abb4bc":[2,0,0,0,6,8,9], -"pose_parameters_8hpp.html#a692472b562fba051964f9ddea07b97d7":[2,0,0,0,6,8,2], -"pose_parameters_8hpp.html#a84d87ec0e4ed3cf75a37ce99d0d25ef7":[2,0,0,0,6,8,6], -"pose_parameters_8hpp.html#aa170c3107396e4d0e4214bb0c1b78f08":[2,0,0,0,6,8,5], -"pose_parameters_8hpp.html#aab3de911b04b96c1850cc05c6947e184":[2,0,0,0,6,8,0], -"pose_parameters_8hpp.html#aacf6e688031bb116e4878b811e8dbc23":[2,0,0,0,6,8,14], -"pose_parameters_8hpp.html#ab48e314ecd19f55f664b14da1d83312f":[2,0,0,0,6,8,7], -"pose_parameters_8hpp.html#ad7ca8d89f9045481075902c8bd98b8f4":[2,0,0,0,6,8,8], -"pose_parameters_8hpp.html#ade70b024ee461ae04e7233bf3937c5c6":[2,0,0,0,6,8,12], -"pose_parameters_8hpp.html#ae0730c6559abdb976423ecf81eac4620":[2,0,0,0,6,8,11], -"pose_parameters_8hpp.html#af1ed202254520cd489723052d1f5a86d":[2,0,0,0,6,8,4], -"pose_parameters_8hpp_source.html":[2,0,0,0,6,8], -"pose_parameters_render_8hpp.html":[2,0,0,0,6,9], -"pose_parameters_render_8hpp.html#a016abefba53293ed2ffe3a3c3bd88dd0":[2,0,0,0,6,9,21], -"pose_parameters_render_8hpp.html#a0d821946779eaea1be5996816c4ca6bd":[2,0,0,0,6,9,1], -"pose_parameters_render_8hpp.html#a11bd7e53698eabe32b69b48708cf7b19":[2,0,0,0,6,9,19], -"pose_parameters_render_8hpp.html#a17cec2005928720d6da0e83ba26cca01":[2,0,0,0,6,9,3], -"pose_parameters_render_8hpp.html#a21fcb98366f6ea8895fc7f527f232db5":[2,0,0,0,6,9,23], -"pose_parameters_render_8hpp.html#a28c039598f94c77f8f977c862d6df856":[2,0,0,0,6,9,10], -"pose_parameters_render_8hpp.html#a32e98c9dd9e6f38c597c7924582570d0":[2,0,0,0,6,9,17], -"pose_parameters_render_8hpp.html#a497bfbf7fddb6e960565ec70bb6b2ad1":[2,0,0,0,6,9,4], -"pose_parameters_render_8hpp.html#a5afab27fbbebc71b8753a20dd6c9a322":[2,0,0,0,6,9,13], -"pose_parameters_render_8hpp.html#a5f3db3bbb18fe8d978661f3c5417c110":[2,0,0,0,6,9,7], -"pose_parameters_render_8hpp.html#a6e17f6ddfcedd5b314d356d30bbf4280":[2,0,0,0,6,9,0], -"pose_parameters_render_8hpp.html#a791ed14d0f2a65f850c94154b996826c":[2,0,0,0,6,9,5], -"pose_parameters_render_8hpp.html#a7987426d997b6b040302d25fd07403ac":[2,0,0,0,6,9,16], -"pose_parameters_render_8hpp.html#a7fdd75b1478d65f11ebc77144662958c":[2,0,0,0,6,9,15], -"pose_parameters_render_8hpp.html#a8b293ab02337be3f90218c5b824ece06":[2,0,0,0,6,9,12], -"pose_parameters_render_8hpp.html#a8cd3d34880f73dc73b2feb28370e86ec":[2,0,0,0,6,9,14], -"pose_parameters_render_8hpp.html#aa245b3c689820c0e8a1429ce6e2ba548":[2,0,0,0,6,9,2], -"pose_parameters_render_8hpp.html#aa257db7f46ddaa7fe838f659b8e5ed66":[2,0,0,0,6,9,8], -"pose_parameters_render_8hpp.html#ab5e61b3d6ac3e12ad87cc78689516bc9":[2,0,0,0,6,9,11], -"pose_parameters_render_8hpp.html#abb49286241ba7a1d754b31dee333274a":[2,0,0,0,6,9,20], -"pose_parameters_render_8hpp.html#abcf4268a8395cd7d537e41327bd121d9":[2,0,0,0,6,9,9], -"pose_parameters_render_8hpp.html#aeb1e2dd8178c15024e372185e2e5cf54":[2,0,0,0,6,9,6], -"pose_parameters_render_8hpp.html#aebff78a4cfbef1cf1b2e03066d88564c":[2,0,0,0,6,9,18], -"pose_parameters_render_8hpp.html#af45cddacd69fff73a4ea4acbbbac43e0":[2,0,0,0,6,9,22], -"pose_parameters_render_8hpp_source.html":[2,0,0,0,6,9], -"pose_renderer_8hpp.html":[2,0,0,0,6,10], -"pose_renderer_8hpp_source.html":[2,0,0,0,6,10], -"priority_queue_8hpp.html":[2,0,0,0,8,2], -"priority_queue_8hpp.html#aa65c081c13e0d0453938a3c41d04dc49":[2,0,0,0,8,2,1], -"priority_queue_8hpp_source.html":[2,0,0,0,8,2], -"producer_2enum_classes_8hpp.html":[2,0,0,0,7,1], -"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332":[2,0,0,0,7,1,2], -"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332a34e2d1989a1dbf75cd631596133ee5ee":[2,0,0,0,7,1,2,2], -"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332a54a365e86ee42cff91ca36532c9bbabf":[2,0,0,0,7,1,2,0], -"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332a6adf97f83acf6453d4a6a4b1070f3754":[2,0,0,0,7,1,2,4], -"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332ae2faa2a74b6a4134d0b3e84c7c0e2a01":[2,0,0,0,7,1,2,3], -"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332af40a40a04a078c4449cda2f326d7fb18":[2,0,0,0,7,1,2,1], -"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774":[2,0,0,0,7,1,1], -"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774a3ebbca1b84060b0caaf823639739945d":[2,0,0,0,7,1,1,0], -"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,7,1,1,3], -"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774a9ffbd422925a6839ee820ddbc59278c5":[2,0,0,0,7,1,1,1], -"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774af1a42bd417390fc63b030a519624607a":[2,0,0,0,7,1,1,2], -"producer_2enum_classes_8hpp.html#ac0230b669b296920c0cfc41b7587268f":[2,0,0,0,7,1,0], -"producer_2enum_classes_8hpp.html#ac0230b669b296920c0cfc41b7587268fa0123c3afc0fac5edaf8b1672cb12626c":[2,0,0,0,7,1,0,0], -"producer_2enum_classes_8hpp.html#ac0230b669b296920c0cfc41b7587268fa6bcd0f3b66e42d1aacd18d1c3b532473":[2,0,0,0,7,1,0,1], -"producer_2enum_classes_8hpp_source.html":[2,0,0,0,7,1], -"producer_2headers_8hpp.html":[2,0,0,0,7,2], -"producer_2headers_8hpp_source.html":[2,0,0,0,7,2], -"producer_8hpp.html":[2,0,0,0,7,5], -"producer_8hpp_source.html":[2,0,0,0,7,5], -"profiler_8hpp.html":[2,0,0,0,9,11], -"profiler_8hpp_source.html":[2,0,0,0,9,11], -"queue_8hpp.html":[2,0,0,0,8,3], -"queue_8hpp.html#aa7f93261bd6d87f86c45e933607a0678":[2,0,0,0,8,3,1], -"queue_8hpp_source.html":[2,0,0,0,8,3], -"queue_base_8hpp.html":[2,0,0,0,8,4], -"queue_base_8hpp_source.html":[2,0,0,0,8,4], +"pointer_container_8hpp.html":[2,0,0,0,10,9], +"pointer_container_8hpp.html#a02164ca0af9e838190f584f5d1d8465e":[2,0,0,0,10,9,2], +"pointer_container_8hpp_source.html":[2,0,0,0,10,9], +"pose_2enum_classes_8hpp.html":[2,0,0,0,7,2], +"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0e":[2,0,0,0,7,2,1], +"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea04576b26f5dc3637bf3c8168fba1641d":[2,0,0,0,7,2,1,4], +"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea240f10f3a39507d858c743971fd4298f":[2,0,0,0,7,2,1,2], +"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,7,2,1,5], +"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea7bf312724768faebba41ca3585a91f19":[2,0,0,0,7,2,1,3], +"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0ea83be5d7f6f29b19cf24f7393551c0439":[2,0,0,0,7,2,1,0], +"pose_2enum_classes_8hpp.html#a37c58b781e5bcd9fee67a7768afc5d0eaf7405796a5c90a93fc3c8ffa89eb432d":[2,0,0,0,7,2,1,1], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261f":[2,0,0,0,7,2,0], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa003cc3795b0eeed2af2dfd34ed482794":[2,0,0,0,7,2,0,5], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa0c4a19d9254adcb3ca1f0f527ee141fd":[2,0,0,0,7,2,0,0], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa68aa8b41e419d187d9f7daff5d65708f":[2,0,0,0,7,2,0,6], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,7,2,0,7], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fa71e915c88449606c6498d33dd7c98e84":[2,0,0,0,7,2,0,2], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fab0fd0573c626fcd55b70d4547328ad7d":[2,0,0,0,7,2,0,3], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fad788fbec25069f2884ee1ed97e0af2b9":[2,0,0,0,7,2,0,1], +"pose_2enum_classes_8hpp.html#af5b3ce2a5d3de87cb31b9b67e96f261fae3ae2003e0e0458bdc49480fb19c876e":[2,0,0,0,7,2,0,4], +"pose_2enum_classes_8hpp_source.html":[2,0,0,0,7,2], +"pose_2headers_8hpp.html":[2,0,0,0,7,3], +"pose_2headers_8hpp_source.html":[2,0,0,0,7,3], +"pose_cpu_renderer_8hpp.html":[2,0,0,0,7,4], +"pose_cpu_renderer_8hpp_source.html":[2,0,0,0,7,4], +"pose_extractor_8hpp.html":[2,0,0,0,7,5], +"pose_extractor_8hpp_source.html":[2,0,0,0,7,5], +"pose_extractor_caffe_8hpp.html":[2,0,0,0,7,6], +"pose_extractor_caffe_8hpp_source.html":[2,0,0,0,7,6], +"pose_gpu_renderer_8hpp.html":[2,0,0,0,7,7], +"pose_gpu_renderer_8hpp_source.html":[2,0,0,0,7,7], +"pose_parameters_8hpp.html":[2,0,0,0,7,8], +"pose_parameters_8hpp.html#a1b7d7061c819ee76328d5917ee009b1d":[2,0,0,0,7,8,1], +"pose_parameters_8hpp.html#a1f690bf083e250642144bf8e5d6e6d2c":[2,0,0,0,7,8,3], +"pose_parameters_8hpp.html#a307b2c7b1506415a4ba44590fe8a7258":[2,0,0,0,7,8,10], +"pose_parameters_8hpp.html#a3df938ef93037c534c5d342720d5fb70":[2,0,0,0,7,8,13], +"pose_parameters_8hpp.html#a522d4552d2aeabe367f4d3bf371e6b3e":[2,0,0,0,7,8,15], +"pose_parameters_8hpp.html#a54a6c42a42a0a7e539061f5e30abb4bc":[2,0,0,0,7,8,9], +"pose_parameters_8hpp.html#a692472b562fba051964f9ddea07b97d7":[2,0,0,0,7,8,2], +"pose_parameters_8hpp.html#a84d87ec0e4ed3cf75a37ce99d0d25ef7":[2,0,0,0,7,8,6], +"pose_parameters_8hpp.html#aa170c3107396e4d0e4214bb0c1b78f08":[2,0,0,0,7,8,5], +"pose_parameters_8hpp.html#aab3de911b04b96c1850cc05c6947e184":[2,0,0,0,7,8,0], +"pose_parameters_8hpp.html#aacf6e688031bb116e4878b811e8dbc23":[2,0,0,0,7,8,14], +"pose_parameters_8hpp.html#ab48e314ecd19f55f664b14da1d83312f":[2,0,0,0,7,8,7], +"pose_parameters_8hpp.html#ad7ca8d89f9045481075902c8bd98b8f4":[2,0,0,0,7,8,8], +"pose_parameters_8hpp.html#ade70b024ee461ae04e7233bf3937c5c6":[2,0,0,0,7,8,12], +"pose_parameters_8hpp.html#ae0730c6559abdb976423ecf81eac4620":[2,0,0,0,7,8,11], +"pose_parameters_8hpp.html#af1ed202254520cd489723052d1f5a86d":[2,0,0,0,7,8,4], +"pose_parameters_8hpp_source.html":[2,0,0,0,7,8], +"pose_parameters_render_8hpp.html":[2,0,0,0,7,9], +"pose_parameters_render_8hpp.html#a016abefba53293ed2ffe3a3c3bd88dd0":[2,0,0,0,7,9,21], +"pose_parameters_render_8hpp.html#a0d821946779eaea1be5996816c4ca6bd":[2,0,0,0,7,9,1], +"pose_parameters_render_8hpp.html#a11bd7e53698eabe32b69b48708cf7b19":[2,0,0,0,7,9,19], +"pose_parameters_render_8hpp.html#a17cec2005928720d6da0e83ba26cca01":[2,0,0,0,7,9,3], +"pose_parameters_render_8hpp.html#a21fcb98366f6ea8895fc7f527f232db5":[2,0,0,0,7,9,23], +"pose_parameters_render_8hpp.html#a28c039598f94c77f8f977c862d6df856":[2,0,0,0,7,9,10], +"pose_parameters_render_8hpp.html#a32e98c9dd9e6f38c597c7924582570d0":[2,0,0,0,7,9,17], +"pose_parameters_render_8hpp.html#a497bfbf7fddb6e960565ec70bb6b2ad1":[2,0,0,0,7,9,4], +"pose_parameters_render_8hpp.html#a5afab27fbbebc71b8753a20dd6c9a322":[2,0,0,0,7,9,13], +"pose_parameters_render_8hpp.html#a5f3db3bbb18fe8d978661f3c5417c110":[2,0,0,0,7,9,7], +"pose_parameters_render_8hpp.html#a6e17f6ddfcedd5b314d356d30bbf4280":[2,0,0,0,7,9,0], +"pose_parameters_render_8hpp.html#a791ed14d0f2a65f850c94154b996826c":[2,0,0,0,7,9,5], +"pose_parameters_render_8hpp.html#a7987426d997b6b040302d25fd07403ac":[2,0,0,0,7,9,16], +"pose_parameters_render_8hpp.html#a7fdd75b1478d65f11ebc77144662958c":[2,0,0,0,7,9,15], +"pose_parameters_render_8hpp.html#a8b293ab02337be3f90218c5b824ece06":[2,0,0,0,7,9,12], +"pose_parameters_render_8hpp.html#a8cd3d34880f73dc73b2feb28370e86ec":[2,0,0,0,7,9,14], +"pose_parameters_render_8hpp.html#aa245b3c689820c0e8a1429ce6e2ba548":[2,0,0,0,7,9,2], +"pose_parameters_render_8hpp.html#aa257db7f46ddaa7fe838f659b8e5ed66":[2,0,0,0,7,9,8], +"pose_parameters_render_8hpp.html#ab5e61b3d6ac3e12ad87cc78689516bc9":[2,0,0,0,7,9,11], +"pose_parameters_render_8hpp.html#abb49286241ba7a1d754b31dee333274a":[2,0,0,0,7,9,20], +"pose_parameters_render_8hpp.html#abcf4268a8395cd7d537e41327bd121d9":[2,0,0,0,7,9,9], +"pose_parameters_render_8hpp.html#aeb1e2dd8178c15024e372185e2e5cf54":[2,0,0,0,7,9,6], +"pose_parameters_render_8hpp.html#aebff78a4cfbef1cf1b2e03066d88564c":[2,0,0,0,7,9,18], +"pose_parameters_render_8hpp.html#af45cddacd69fff73a4ea4acbbbac43e0":[2,0,0,0,7,9,22], +"pose_parameters_render_8hpp_source.html":[2,0,0,0,7,9], +"pose_renderer_8hpp.html":[2,0,0,0,7,10], +"pose_renderer_8hpp_source.html":[2,0,0,0,7,10], +"priority_queue_8hpp.html":[2,0,0,0,9,2], +"priority_queue_8hpp.html#aa65c081c13e0d0453938a3c41d04dc49":[2,0,0,0,9,2,1], +"priority_queue_8hpp_source.html":[2,0,0,0,9,2], +"producer_2enum_classes_8hpp.html":[2,0,0,0,8,1], +"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332":[2,0,0,0,8,1,2], +"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332a34e2d1989a1dbf75cd631596133ee5ee":[2,0,0,0,8,1,2,2], +"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332a54a365e86ee42cff91ca36532c9bbabf":[2,0,0,0,8,1,2,0], +"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332a6adf97f83acf6453d4a6a4b1070f3754":[2,0,0,0,8,1,2,4], +"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332ae2faa2a74b6a4134d0b3e84c7c0e2a01":[2,0,0,0,8,1,2,3], +"producer_2enum_classes_8hpp.html#a54b73745852c270cfd891eed0f6f2332af40a40a04a078c4449cda2f326d7fb18":[2,0,0,0,8,1,2,1], +"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774":[2,0,0,0,8,1,1], +"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774a3ebbca1b84060b0caaf823639739945d":[2,0,0,0,8,1,1,0], +"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,8,1,1,3], +"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774a9ffbd422925a6839ee820ddbc59278c5":[2,0,0,0,8,1,1,1], +"producer_2enum_classes_8hpp.html#abc501c56c6cf6cf1989c84b1692cb774af1a42bd417390fc63b030a519624607a":[2,0,0,0,8,1,1,2], +"producer_2enum_classes_8hpp.html#ac0230b669b296920c0cfc41b7587268f":[2,0,0,0,8,1,0], +"producer_2enum_classes_8hpp.html#ac0230b669b296920c0cfc41b7587268fa0123c3afc0fac5edaf8b1672cb12626c":[2,0,0,0,8,1,0,0], +"producer_2enum_classes_8hpp.html#ac0230b669b296920c0cfc41b7587268fa6bcd0f3b66e42d1aacd18d1c3b532473":[2,0,0,0,8,1,0,1], +"producer_2enum_classes_8hpp_source.html":[2,0,0,0,8,1], +"producer_2headers_8hpp.html":[2,0,0,0,8,2], +"producer_2headers_8hpp_source.html":[2,0,0,0,8,2], +"producer_8hpp.html":[2,0,0,0,8,5], +"producer_8hpp_source.html":[2,0,0,0,8,5], +"profiler_8hpp.html":[2,0,0,0,10,10], +"profiler_8hpp_source.html":[2,0,0,0,10,10], +"queue_8hpp.html":[2,0,0,0,9,3], +"queue_8hpp.html#aa7f93261bd6d87f86c45e933607a0678":[2,0,0,0,9,3,1], +"queue_8hpp_source.html":[2,0,0,0,9,3], +"queue_base_8hpp.html":[2,0,0,0,9,4], +"queue_base_8hpp_source.html":[2,0,0,0,9,4], "reconstruction3_d_8hpp.html":[2,0,0,0,1,0,4], "reconstruction3_d_8hpp_source.html":[2,0,0,0,1,0,4], "rectangle_8hpp.html":[2,0,0,0,0,18], @@ -168,18 +182,18 @@ var NAVTREEINDEX4 = "render_face_8hpp.html#a1e997077b4c7e1d68c8191e0b377f4c6":[2,0,0,0,2,9,1], "render_face_8hpp.html#a5fc85e8500dbeda3b75c1b6ecfac91cd":[2,0,0,0,2,9,0], "render_face_8hpp_source.html":[2,0,0,0,2,9], -"render_hand_8hpp.html":[2,0,0,0,5,9], -"render_hand_8hpp.html#a74458454b8bec064b435a3bde5ad25e0":[2,0,0,0,5,9,1], -"render_hand_8hpp.html#afb5b711819f94b51f32460861d9cea38":[2,0,0,0,5,9,0], -"render_hand_8hpp_source.html":[2,0,0,0,5,9], -"render_pose_8hpp.html":[2,0,0,0,6,11], -"render_pose_8hpp.html#a7e2c7f463bbbbe9665faa46c073cc5ac":[2,0,0,0,6,11,5], -"render_pose_8hpp.html#a832678e25561cd77d174847b0dddc6bb":[2,0,0,0,6,11,4], -"render_pose_8hpp.html#a99a08148f440bd96546076e15f0de04c":[2,0,0,0,6,11,2], -"render_pose_8hpp.html#a9a3b197334a6a606f85eea43128a9a46":[2,0,0,0,6,11,0], -"render_pose_8hpp.html#aa01e90a66388f8ced55d0aa61fb205a1":[2,0,0,0,6,11,1], -"render_pose_8hpp.html#ab79ad497b3b69db2d233656a2e97bc63":[2,0,0,0,6,11,3], -"render_pose_8hpp_source.html":[2,0,0,0,6,11], +"render_hand_8hpp.html":[2,0,0,0,6,9], +"render_hand_8hpp.html#a74458454b8bec064b435a3bde5ad25e0":[2,0,0,0,6,9,1], +"render_hand_8hpp.html#afb5b711819f94b51f32460861d9cea38":[2,0,0,0,6,9,0], +"render_hand_8hpp_source.html":[2,0,0,0,6,9], +"render_pose_8hpp.html":[2,0,0,0,7,11], +"render_pose_8hpp.html#a7e2c7f463bbbbe9665faa46c073cc5ac":[2,0,0,0,7,11,5], +"render_pose_8hpp.html#a832678e25561cd77d174847b0dddc6bb":[2,0,0,0,7,11,4], +"render_pose_8hpp.html#a99a08148f440bd96546076e15f0de04c":[2,0,0,0,7,11,2], +"render_pose_8hpp.html#a9a3b197334a6a606f85eea43128a9a46":[2,0,0,0,7,11,0], +"render_pose_8hpp.html#aa01e90a66388f8ced55d0aa61fb205a1":[2,0,0,0,7,11,1], +"render_pose_8hpp.html#ab79ad497b3b69db2d233656a2e97bc63":[2,0,0,0,7,11,3], +"render_pose_8hpp_source.html":[2,0,0,0,7,11], "resize_and_merge_base_8hpp.html":[2,0,0,0,0,20], "resize_and_merge_base_8hpp.html#a1b6c4abcf6948b5ac5651bb2f2909bc9":[2,0,0,0,0,20,0], "resize_and_merge_base_8hpp.html#a6a5cb4e7c022ac0fbcc399e24bb6931a":[2,0,0,0,0,20,1], @@ -188,17 +202,17 @@ var NAVTREEINDEX4 = "resize_and_merge_caffe_8hpp_source.html":[2,0,0,0,0,21], "scale_and_size_extractor_8hpp.html":[2,0,0,0,0,22], "scale_and_size_extractor_8hpp_source.html":[2,0,0,0,0,22], -"standard_8hpp.html":[2,0,0,0,9,12], -"standard_8hpp.html#aa3a3e2acfb27ecbd187d01c8dcd41899":[2,0,0,0,9,12,0], -"standard_8hpp.html#af63e418966741f7efebacc9519174a0a":[2,0,0,0,9,12,1], -"standard_8hpp_source.html":[2,0,0,0,9,12], -"string_8hpp.html":[2,0,0,0,9,13], -"string_8hpp.html#a2c2e3001b4bca6f0f3a3758aecb8cf09":[2,0,0,0,9,13,2], -"string_8hpp.html#a3290f48d24c9992dd00d339ce49cfac7":[2,0,0,0,9,13,3], -"string_8hpp.html#a7a815e303884fb2b3346c8cc19d61b23":[2,0,0,0,9,13,4], -"string_8hpp.html#ab670c693d8e4a540cfe75ce8383b6d10":[2,0,0,0,9,13,0], -"string_8hpp.html#ae80a103d8a4308bc435342b3d31404c8":[2,0,0,0,9,13,1], -"string_8hpp_source.html":[2,0,0,0,9,13], +"standard_8hpp.html":[2,0,0,0,10,11], +"standard_8hpp.html#aa3a3e2acfb27ecbd187d01c8dcd41899":[2,0,0,0,10,11,0], +"standard_8hpp.html#af63e418966741f7efebacc9519174a0a":[2,0,0,0,10,11,1], +"standard_8hpp_source.html":[2,0,0,0,10,11], +"string_8hpp.html":[2,0,0,0,10,12], +"string_8hpp.html#a2c2e3001b4bca6f0f3a3758aecb8cf09":[2,0,0,0,10,12,2], +"string_8hpp.html#a3290f48d24c9992dd00d339ce49cfac7":[2,0,0,0,10,12,3], +"string_8hpp.html#a7a815e303884fb2b3346c8cc19d61b23":[2,0,0,0,10,12,4], +"string_8hpp.html#ab670c693d8e4a540cfe75ce8383b6d10":[2,0,0,0,10,12,0], +"string_8hpp.html#ae80a103d8a4308bc435342b3d31404c8":[2,0,0,0,10,12,1], +"string_8hpp_source.html":[2,0,0,0,10,12], "structop_1_1_datum.html":[1,0,2,3], "structop_1_1_datum.html#a0b2c8ccac37be088524cc7c24a502c7b":[1,0,2,3,13], "structop_1_1_datum.html#a0b2f6955a1751fc79b107789272effad":[1,0,2,3,18], @@ -235,19 +249,5 @@ var NAVTREEINDEX4 = "structop_1_1_datum.html#aebd19bf50725a5cd87de1efd96f6ebfe":[1,0,2,3,17], "structop_1_1_datum.html#aef6c478313691ab5101664c1df55aa58":[1,0,2,3,19], "structop_1_1_datum.html#afb117821de7aff9ac3c219ef3bbc0c14":[1,0,2,3,32], -"structop_1_1_datum.html#afcdbf1d87e08761d952d19ef6a8ace10":[1,0,2,3,12], -"structop_1_1_datum3_d.html":[1,0,2,21], -"structop_1_1_datum3_d.html#a21a8b5fcb19b0285b9bc04025fafcc19":[1,0,2,21,2], -"structop_1_1_datum3_d.html#a57a18e6a7fb951c9acf8dcf84bd0ca37":[1,0,2,21,3], -"structop_1_1_datum3_d.html#a58323f2ac03b4c3fbc068a5d6f34b430":[1,0,2,21,0], -"structop_1_1_datum3_d.html#ad5a1e0bc46e42a9ac0fb215a83823b62":[1,0,2,21,1], -"structop_1_1_point.html":[1,0,2,11], -"structop_1_1_point.html#a0374ab7bcd19af664a6c01328346d238":[1,0,2,11,24], -"structop_1_1_point.html#a44559988e3980e21568b5d9dd2897368":[1,0,2,11,1], -"structop_1_1_point.html#a480b8feec1a2c0652ea0ab6dd7717e6d":[1,0,2,11,23], -"structop_1_1_point.html#a5821bc77a416629916e671793df3ce3b":[1,0,2,11,26], -"structop_1_1_point.html#a5d825f6fdc9a72abe5f3f52c852bdf13":[1,0,2,11,4], -"structop_1_1_point.html#a60488ca743d82fe8dd574b01f992460c":[1,0,2,11,10], -"structop_1_1_point.html#a767e96d42e4653ac09ada5c5cdceb776":[1,0,2,11,21], -"structop_1_1_point.html#a7688d4f0cadcf1970380519df4cfffd7":[1,0,2,11,7] +"structop_1_1_datum.html#afcdbf1d87e08761d952d19ef6a8ace10":[1,0,2,3,12] }; diff --git a/html/navtreeindex5.js b/html/navtreeindex5.js index 1996979f..b89c7a90 100644 --- a/html/navtreeindex5.js +++ b/html/navtreeindex5.js @@ -1,5 +1,19 @@ var NAVTREEINDEX5 = { +"structop_1_1_datum3_d.html":[1,0,2,21], +"structop_1_1_datum3_d.html#a21a8b5fcb19b0285b9bc04025fafcc19":[1,0,2,21,2], +"structop_1_1_datum3_d.html#a57a18e6a7fb951c9acf8dcf84bd0ca37":[1,0,2,21,3], +"structop_1_1_datum3_d.html#a58323f2ac03b4c3fbc068a5d6f34b430":[1,0,2,21,0], +"structop_1_1_datum3_d.html#ad5a1e0bc46e42a9ac0fb215a83823b62":[1,0,2,21,1], +"structop_1_1_point.html":[1,0,2,11], +"structop_1_1_point.html#a0374ab7bcd19af664a6c01328346d238":[1,0,2,11,24], +"structop_1_1_point.html#a44559988e3980e21568b5d9dd2897368":[1,0,2,11,1], +"structop_1_1_point.html#a480b8feec1a2c0652ea0ab6dd7717e6d":[1,0,2,11,23], +"structop_1_1_point.html#a5821bc77a416629916e671793df3ce3b":[1,0,2,11,26], +"structop_1_1_point.html#a5d825f6fdc9a72abe5f3f52c852bdf13":[1,0,2,11,4], +"structop_1_1_point.html#a60488ca743d82fe8dd574b01f992460c":[1,0,2,11,10], +"structop_1_1_point.html#a767e96d42e4653ac09ada5c5cdceb776":[1,0,2,11,21], +"structop_1_1_point.html#a7688d4f0cadcf1970380519df4cfffd7":[1,0,2,11,7], "structop_1_1_point.html#a812d4ef29d102f4ad18f32ae54eb17ec":[1,0,2,11,25], "structop_1_1_point.html#a81a09bde4e8e27ec6e8b4808f0f60f57":[1,0,2,11,17], "structop_1_1_point.html#a9759f95e852025014cb071aefb242cef":[1,0,2,11,5], @@ -104,58 +118,58 @@ var NAVTREEINDEX5 = "structop_1_1_wrapper_struct_pose.html#ad23a9c103a60709eed9d7b7381828e5e":[1,0,2,113,21], "structop_1_1_wrapper_struct_pose.html#ad6b5ea0cef8eb81d20ab39099ba7716e":[1,0,2,113,18], "structop_1_1_wrapper_struct_pose.html#ad73981c6ad9b23f511ef6f12136bf8e7":[1,0,2,113,1], -"sub_thread_8hpp.html":[2,0,0,0,8,5], -"sub_thread_8hpp.html#af98c8e514e79d4718fb1fc64dc0e431b":[2,0,0,0,8,5,1], -"sub_thread_8hpp_source.html":[2,0,0,0,8,5], -"sub_thread_no_queue_8hpp.html":[2,0,0,0,8,6], -"sub_thread_no_queue_8hpp_source.html":[2,0,0,0,8,6], -"sub_thread_queue_in_8hpp.html":[2,0,0,0,8,7], -"sub_thread_queue_in_8hpp.html#a55207f49aadd5f79e75251d6ccfad1fc":[2,0,0,0,8,7,1], -"sub_thread_queue_in_8hpp_source.html":[2,0,0,0,8,7], -"sub_thread_queue_in_out_8hpp.html":[2,0,0,0,8,8], -"sub_thread_queue_in_out_8hpp.html#a5180d62b9273c9d0712f686531ee0aea":[2,0,0,0,8,8,1], -"sub_thread_queue_in_out_8hpp_source.html":[2,0,0,0,8,8], -"sub_thread_queue_out_8hpp.html":[2,0,0,0,8,9], -"sub_thread_queue_out_8hpp_source.html":[2,0,0,0,8,9], -"thread_2enum_classes_8hpp.html":[2,0,0,0,8,0], -"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36":[2,0,0,0,8,0,0], -"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44":[2,0,0,0,8,0,0,0], -"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36a2fe4167817733fec8e6ba1afddf78f1b":[2,0,0,0,8,0,0,3], -"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36a435b3ab344c03bfc0e4530a2e75f5e44":[2,0,0,0,8,0,0,1], -"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36ac68f8680ccf3a65dfcfc63356112c9f9":[2,0,0,0,8,0,0,2], -"thread_2enum_classes_8hpp_source.html":[2,0,0,0,8,0], -"thread_2headers_8hpp.html":[2,0,0,0,8,1], -"thread_2headers_8hpp_source.html":[2,0,0,0,8,1], -"thread_8hpp.html":[2,0,0,0,8,10], -"thread_8hpp.html#ae5dac6cf1ccdf461838f9795be8fda03":[2,0,0,0,8,10,1], -"thread_8hpp_source.html":[2,0,0,0,8,10], -"thread_manager_8hpp.html":[2,0,0,0,8,11], -"thread_manager_8hpp.html#ac06eeab84c4861ef08834855b48750a6":[2,0,0,0,8,11,1], -"thread_manager_8hpp_source.html":[2,0,0,0,8,11], -"utilities_2enum_classes_8hpp.html":[2,0,0,0,9,2], -"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400c":[2,0,0,0,9,2,0], -"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400ca002f2100f8870e7c823894f492e4d337":[2,0,0,0,9,2,0,2], -"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400ca68ec2bf5b1662d1d27a523dcfc3c702a":[2,0,0,0,9,2,0,1], -"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400cab1c94ca2fbc3e78fc30069c8d0f01680":[2,0,0,0,9,2,0,3], -"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400cafe50b062b9b9100a72e68b48fe26fc50":[2,0,0,0,9,2,0,0], -"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94":[2,0,0,0,9,2,1], -"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94a68ec2bf5b1662d1d27a523dcfc3c702a":[2,0,0,0,9,2,1,0], -"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94aa544d56d9492a20da20018000b5043b6":[2,0,0,0,9,2,1,1], -"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94ab1c94ca2fbc3e78fc30069c8d0f01680":[2,0,0,0,9,2,1,2], -"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14":[2,0,0,0,9,2,2], -"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef":[2,0,0,0,9,2,2,1], -"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35":[2,0,0,0,9,2,2,3], -"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a6a061313d22e51e0f25b7cd4dc065233":[2,0,0,0,9,2,2,4], -"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a6adf97f83acf6453d4a6a4b1070f3754":[2,0,0,0,9,2,2,0], -"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a828d496739024f4af00df1e277d96ebd":[2,0,0,0,9,2,2,5], -"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a960b44c579bc2f6818d2daaf9e4c16f0":[2,0,0,0,9,2,2,2], -"utilities_2enum_classes_8hpp_source.html":[2,0,0,0,9,2], -"utilities_2headers_8hpp.html":[2,0,0,0,9,7], -"utilities_2headers_8hpp_source.html":[2,0,0,0,9,7], -"video_capture_reader_8hpp.html":[2,0,0,0,7,6], -"video_capture_reader_8hpp_source.html":[2,0,0,0,7,6], -"video_reader_8hpp.html":[2,0,0,0,7,7], -"video_reader_8hpp_source.html":[2,0,0,0,7,7], +"sub_thread_8hpp.html":[2,0,0,0,9,5], +"sub_thread_8hpp.html#af98c8e514e79d4718fb1fc64dc0e431b":[2,0,0,0,9,5,1], +"sub_thread_8hpp_source.html":[2,0,0,0,9,5], +"sub_thread_no_queue_8hpp.html":[2,0,0,0,9,6], +"sub_thread_no_queue_8hpp_source.html":[2,0,0,0,9,6], +"sub_thread_queue_in_8hpp.html":[2,0,0,0,9,7], +"sub_thread_queue_in_8hpp.html#a55207f49aadd5f79e75251d6ccfad1fc":[2,0,0,0,9,7,1], +"sub_thread_queue_in_8hpp_source.html":[2,0,0,0,9,7], +"sub_thread_queue_in_out_8hpp.html":[2,0,0,0,9,8], +"sub_thread_queue_in_out_8hpp.html#a5180d62b9273c9d0712f686531ee0aea":[2,0,0,0,9,8,1], +"sub_thread_queue_in_out_8hpp_source.html":[2,0,0,0,9,8], +"sub_thread_queue_out_8hpp.html":[2,0,0,0,9,9], +"sub_thread_queue_out_8hpp_source.html":[2,0,0,0,9,9], +"thread_2enum_classes_8hpp.html":[2,0,0,0,9,0], +"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36":[2,0,0,0,9,0,0], +"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44":[2,0,0,0,9,0,0,0], +"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36a2fe4167817733fec8e6ba1afddf78f1b":[2,0,0,0,9,0,0,3], +"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36a435b3ab344c03bfc0e4530a2e75f5e44":[2,0,0,0,9,0,0,1], +"thread_2enum_classes_8hpp.html#a3593e2d53bec533f0048ef3973eebd36ac68f8680ccf3a65dfcfc63356112c9f9":[2,0,0,0,9,0,0,2], +"thread_2enum_classes_8hpp_source.html":[2,0,0,0,9,0], +"thread_2headers_8hpp.html":[2,0,0,0,9,1], +"thread_2headers_8hpp_source.html":[2,0,0,0,9,1], +"thread_8hpp.html":[2,0,0,0,9,10], +"thread_8hpp.html#ae5dac6cf1ccdf461838f9795be8fda03":[2,0,0,0,9,10,1], +"thread_8hpp_source.html":[2,0,0,0,9,10], +"thread_manager_8hpp.html":[2,0,0,0,9,11], +"thread_manager_8hpp.html#ac06eeab84c4861ef08834855b48750a6":[2,0,0,0,9,11,1], +"thread_manager_8hpp_source.html":[2,0,0,0,9,11], +"utilities_2enum_classes_8hpp.html":[2,0,0,0,10,1], +"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400c":[2,0,0,0,10,1,0], +"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400ca002f2100f8870e7c823894f492e4d337":[2,0,0,0,10,1,0,2], +"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400ca68ec2bf5b1662d1d27a523dcfc3c702a":[2,0,0,0,10,1,0,1], +"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400cab1c94ca2fbc3e78fc30069c8d0f01680":[2,0,0,0,10,1,0,3], +"utilities_2enum_classes_8hpp.html#a5f5a4cee9809deaf7201fb9caf5e400cafe50b062b9b9100a72e68b48fe26fc50":[2,0,0,0,10,1,0,0], +"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94":[2,0,0,0,10,1,1], +"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94a68ec2bf5b1662d1d27a523dcfc3c702a":[2,0,0,0,10,1,1,0], +"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94aa544d56d9492a20da20018000b5043b6":[2,0,0,0,10,1,1,1], +"utilities_2enum_classes_8hpp.html#a5fa46d7c4b25c823d1cdcc8e9d460f94ab1c94ca2fbc3e78fc30069c8d0f01680":[2,0,0,0,10,1,1,2], +"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14":[2,0,0,0,10,1,2], +"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef":[2,0,0,0,10,1,2,1], +"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35":[2,0,0,0,10,1,2,3], +"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a6a061313d22e51e0f25b7cd4dc065233":[2,0,0,0,10,1,2,4], +"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a6adf97f83acf6453d4a6a4b1070f3754":[2,0,0,0,10,1,2,0], +"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a828d496739024f4af00df1e277d96ebd":[2,0,0,0,10,1,2,5], +"utilities_2enum_classes_8hpp.html#adc43fb9031418e7f8112816a3b535d14a960b44c579bc2f6818d2daaf9e4c16f0":[2,0,0,0,10,1,2,2], +"utilities_2enum_classes_8hpp_source.html":[2,0,0,0,10,1], +"utilities_2headers_8hpp.html":[2,0,0,0,10,6], +"utilities_2headers_8hpp_source.html":[2,0,0,0,10,6], +"video_capture_reader_8hpp.html":[2,0,0,0,8,6], +"video_capture_reader_8hpp_source.html":[2,0,0,0,8,6], +"video_reader_8hpp.html":[2,0,0,0,8,7], +"video_reader_8hpp_source.html":[2,0,0,0,8,7], "video_saver_8hpp.html":[2,0,0,0,3,10], "video_saver_8hpp_source.html":[2,0,0,0,3,10], "w_coco_json_saver_8hpp.html":[2,0,0,0,3,11], @@ -167,8 +181,8 @@ var NAVTREEINDEX5 = "w_cv_mat_to_op_output_8hpp.html":[2,0,0,0,0,24], "w_cv_mat_to_op_output_8hpp.html#a6d12bd1e42cfb63d2f780bed55fa01fb":[2,0,0,0,0,24,1], "w_cv_mat_to_op_output_8hpp_source.html":[2,0,0,0,0,24], -"w_datum_producer_8hpp.html":[2,0,0,0,7,8], -"w_datum_producer_8hpp_source.html":[2,0,0,0,7,8], +"w_datum_producer_8hpp.html":[2,0,0,0,8,8], +"w_datum_producer_8hpp_source.html":[2,0,0,0,8,8], "w_face_detector_8hpp.html":[2,0,0,0,2,10], "w_face_detector_8hpp.html#a196f17357cd1c1bb02e24e4e8a0e6ec3":[2,0,0,0,2,10,1], "w_face_detector_8hpp_source.html":[2,0,0,0,2,10], @@ -184,39 +198,39 @@ var NAVTREEINDEX5 = "w_face_saver_8hpp.html":[2,0,0,0,3,12], "w_face_saver_8hpp.html#a57c4f3ada0db4882a4106d4dedf08012":[2,0,0,0,3,12,1], "w_face_saver_8hpp_source.html":[2,0,0,0,3,12], -"w_gui_8hpp.html":[2,0,0,0,4,5], -"w_gui_8hpp.html#ade3b2e4b105242a3cf41def3def1691d":[2,0,0,0,4,5,1], -"w_gui_8hpp_source.html":[2,0,0,0,4,5], -"w_gui_info_adder_8hpp.html":[2,0,0,0,4,6], -"w_gui_info_adder_8hpp.html#ae88e9ced5d14fa221205b492ff76c56b":[2,0,0,0,4,6,1], -"w_gui_info_adder_8hpp_source.html":[2,0,0,0,4,6], -"w_hand_detector_8hpp.html":[2,0,0,0,5,10], -"w_hand_detector_8hpp.html#a0424a8e4dc8ceb5e8d8a2230c157a7fd":[2,0,0,0,5,10,1], -"w_hand_detector_8hpp_source.html":[2,0,0,0,5,10], -"w_hand_detector_from_txt_8hpp.html":[2,0,0,0,5,11], -"w_hand_detector_from_txt_8hpp.html#a767385c8d3ebe736e1752825ab4d4ea0":[2,0,0,0,5,11,1], -"w_hand_detector_from_txt_8hpp_source.html":[2,0,0,0,5,11], -"w_hand_detector_tracking_8hpp.html":[2,0,0,0,5,12], -"w_hand_detector_tracking_8hpp.html#a361310c59d16e88a4d2450a80f078f01":[2,0,0,0,5,12,1], -"w_hand_detector_tracking_8hpp_source.html":[2,0,0,0,5,12], -"w_hand_detector_update_8hpp.html":[2,0,0,0,5,13], -"w_hand_detector_update_8hpp.html#a5cc3f625b2644b1aade85a9458b5503a":[2,0,0,0,5,13,1], -"w_hand_detector_update_8hpp_source.html":[2,0,0,0,5,13], -"w_hand_extractor_8hpp.html":[2,0,0,0,5,14], -"w_hand_extractor_8hpp.html#af858fa24c3fb51cfb695f4e78972f345":[2,0,0,0,5,14,1], -"w_hand_extractor_8hpp_source.html":[2,0,0,0,5,14], -"w_hand_renderer_8hpp.html":[2,0,0,0,5,15], -"w_hand_renderer_8hpp.html#a635579f5f8d20b8e65f4f94da4d3d2f2":[2,0,0,0,5,15,1], -"w_hand_renderer_8hpp_source.html":[2,0,0,0,5,15], +"w_gui_8hpp.html":[2,0,0,0,5,5], +"w_gui_8hpp.html#ade3b2e4b105242a3cf41def3def1691d":[2,0,0,0,5,5,1], +"w_gui_8hpp_source.html":[2,0,0,0,5,5], +"w_gui_info_adder_8hpp.html":[2,0,0,0,5,6], +"w_gui_info_adder_8hpp.html#ae88e9ced5d14fa221205b492ff76c56b":[2,0,0,0,5,6,1], +"w_gui_info_adder_8hpp_source.html":[2,0,0,0,5,6], +"w_hand_detector_8hpp.html":[2,0,0,0,6,10], +"w_hand_detector_8hpp.html#a0424a8e4dc8ceb5e8d8a2230c157a7fd":[2,0,0,0,6,10,1], +"w_hand_detector_8hpp_source.html":[2,0,0,0,6,10], +"w_hand_detector_from_txt_8hpp.html":[2,0,0,0,6,11], +"w_hand_detector_from_txt_8hpp.html#a767385c8d3ebe736e1752825ab4d4ea0":[2,0,0,0,6,11,1], +"w_hand_detector_from_txt_8hpp_source.html":[2,0,0,0,6,11], +"w_hand_detector_tracking_8hpp.html":[2,0,0,0,6,12], +"w_hand_detector_tracking_8hpp.html#a361310c59d16e88a4d2450a80f078f01":[2,0,0,0,6,12,1], +"w_hand_detector_tracking_8hpp_source.html":[2,0,0,0,6,12], +"w_hand_detector_update_8hpp.html":[2,0,0,0,6,13], +"w_hand_detector_update_8hpp.html#a5cc3f625b2644b1aade85a9458b5503a":[2,0,0,0,6,13,1], +"w_hand_detector_update_8hpp_source.html":[2,0,0,0,6,13], +"w_hand_extractor_8hpp.html":[2,0,0,0,6,14], +"w_hand_extractor_8hpp.html#af858fa24c3fb51cfb695f4e78972f345":[2,0,0,0,6,14,1], +"w_hand_extractor_8hpp_source.html":[2,0,0,0,6,14], +"w_hand_renderer_8hpp.html":[2,0,0,0,6,15], +"w_hand_renderer_8hpp.html#a635579f5f8d20b8e65f4f94da4d3d2f2":[2,0,0,0,6,15,1], +"w_hand_renderer_8hpp_source.html":[2,0,0,0,6,15], "w_hand_saver_8hpp.html":[2,0,0,0,3,13], "w_hand_saver_8hpp.html#a602d5d238fe0c7096698cf36b7dee9ab":[2,0,0,0,3,13,1], "w_hand_saver_8hpp_source.html":[2,0,0,0,3,13], "w_heat_map_saver_8hpp.html":[2,0,0,0,3,14], "w_heat_map_saver_8hpp.html#a7ac10b9f503668695643c366e25f3b68":[2,0,0,0,3,14,1], "w_heat_map_saver_8hpp_source.html":[2,0,0,0,3,14], -"w_id_generator_8hpp.html":[2,0,0,0,8,12], -"w_id_generator_8hpp.html#ad22c543a4376e943b728e657fab5ed9f":[2,0,0,0,8,12,1], -"w_id_generator_8hpp_source.html":[2,0,0,0,8,12], +"w_id_generator_8hpp.html":[2,0,0,0,9,12], +"w_id_generator_8hpp.html#ad22c543a4376e943b728e657fab5ed9f":[2,0,0,0,9,12,1], +"w_id_generator_8hpp_source.html":[2,0,0,0,9,12], "w_image_saver_8hpp.html":[2,0,0,0,3,15], "w_image_saver_8hpp.html#a505ea16cc6c2c0068bbf4e7269dc8e0a":[2,0,0,0,3,15,1], "w_image_saver_8hpp_source.html":[2,0,0,0,3,15], @@ -234,20 +248,6 @@ var NAVTREEINDEX5 = "w_person_id_extractor_8hpp.html":[2,0,0,0,1,2,2], "w_person_id_extractor_8hpp.html#a674a652ad38b355285417529fc050847":[2,0,0,0,1,2,2,1], "w_person_id_extractor_8hpp_source.html":[2,0,0,0,1,2,2], -"w_pose_extractor_8hpp.html":[2,0,0,0,6,12], -"w_pose_extractor_8hpp.html#a020603e3ad6326cb1dce43485157f768":[2,0,0,0,6,12,1], -"w_pose_extractor_8hpp_source.html":[2,0,0,0,6,12], -"w_pose_renderer_8hpp.html":[2,0,0,0,6,13], -"w_pose_renderer_8hpp.html#ae76afeeeaedaebe6941f41a4bdf50e2a":[2,0,0,0,6,13,1], -"w_pose_renderer_8hpp_source.html":[2,0,0,0,6,13], -"w_pose_saver_8hpp.html":[2,0,0,0,3,17], -"w_pose_saver_8hpp.html#a31ad937a2e52ea08ce925031d26616b9":[2,0,0,0,3,17,1], -"w_pose_saver_8hpp_source.html":[2,0,0,0,3,17], -"w_queue_orderer_8hpp.html":[2,0,0,0,8,16], -"w_queue_orderer_8hpp.html#add981a5f6a49d35cc316a54c613497f3":[2,0,0,0,8,16,1], -"w_queue_orderer_8hpp_source.html":[2,0,0,0,8,16], -"w_scale_and_size_extractor_8hpp.html":[2,0,0,0,0,27], -"w_scale_and_size_extractor_8hpp.html#aaca98fe6101cda512a43c513182ae5cc":[2,0,0,0,0,27,1], -"w_scale_and_size_extractor_8hpp_source.html":[2,0,0,0,0,27], -"w_video_saver_8hpp.html":[2,0,0,0,3,18] +"w_pose_extractor_8hpp.html":[2,0,0,0,7,12], +"w_pose_extractor_8hpp.html#a020603e3ad6326cb1dce43485157f768":[2,0,0,0,7,12,1] }; diff --git a/html/navtreeindex6.js b/html/navtreeindex6.js index 0acb5b43..5dbca63d 100644 --- a/html/navtreeindex6.js +++ b/html/navtreeindex6.js @@ -1,30 +1,47 @@ var NAVTREEINDEX6 = { +"w_pose_extractor_8hpp_source.html":[2,0,0,0,7,12], +"w_pose_renderer_8hpp.html":[2,0,0,0,7,13], +"w_pose_renderer_8hpp.html#ae76afeeeaedaebe6941f41a4bdf50e2a":[2,0,0,0,7,13,1], +"w_pose_renderer_8hpp_source.html":[2,0,0,0,7,13], +"w_pose_saver_8hpp.html":[2,0,0,0,3,17], +"w_pose_saver_8hpp.html#a31ad937a2e52ea08ce925031d26616b9":[2,0,0,0,3,17,1], +"w_pose_saver_8hpp_source.html":[2,0,0,0,3,17], +"w_queue_orderer_8hpp.html":[2,0,0,0,9,16], +"w_queue_orderer_8hpp.html#add981a5f6a49d35cc316a54c613497f3":[2,0,0,0,9,16,1], +"w_queue_orderer_8hpp_source.html":[2,0,0,0,9,16], +"w_scale_and_size_extractor_8hpp.html":[2,0,0,0,0,27], +"w_scale_and_size_extractor_8hpp.html#aaca98fe6101cda512a43c513182ae5cc":[2,0,0,0,0,27,1], +"w_scale_and_size_extractor_8hpp_source.html":[2,0,0,0,0,27], +"w_video_saver_8hpp.html":[2,0,0,0,3,18], "w_video_saver_8hpp.html#a49bd4106b0cd1cb81980329b06c0d2c8":[2,0,0,0,3,18,1], "w_video_saver_8hpp_source.html":[2,0,0,0,3,18], -"webcam_reader_8hpp.html":[2,0,0,0,7,9], -"webcam_reader_8hpp_source.html":[2,0,0,0,7,9], -"worker_8hpp.html":[2,0,0,0,8,13], -"worker_8hpp.html#a5642545fda1c3bbaf60810cf0e2d2c1d":[2,0,0,0,8,13,1], -"worker_8hpp_source.html":[2,0,0,0,8,13], -"worker_consumer_8hpp.html":[2,0,0,0,8,14], -"worker_consumer_8hpp.html#a01aa5c6e24026536367cf47a64e9bba5":[2,0,0,0,8,14,1], -"worker_consumer_8hpp_source.html":[2,0,0,0,8,14], -"worker_producer_8hpp.html":[2,0,0,0,8,15], -"worker_producer_8hpp.html#a5660f0e72781ce6d7db9eb78b582e5c6":[2,0,0,0,8,15,1], -"worker_producer_8hpp_source.html":[2,0,0,0,8,15], -"wrapper_2headers_8hpp.html":[2,0,0,0,10,0], -"wrapper_2headers_8hpp_source.html":[2,0,0,0,10,0], -"wrapper_8hpp.html":[2,0,0,0,10,1], -"wrapper_8hpp_source.html":[2,0,0,0,10,1], -"wrapper_struct_face_8hpp.html":[2,0,0,0,10,2], -"wrapper_struct_face_8hpp_source.html":[2,0,0,0,10,2], -"wrapper_struct_hand_8hpp.html":[2,0,0,0,10,3], -"wrapper_struct_hand_8hpp_source.html":[2,0,0,0,10,3], -"wrapper_struct_input_8hpp.html":[2,0,0,0,10,4], -"wrapper_struct_input_8hpp_source.html":[2,0,0,0,10,4], -"wrapper_struct_output_8hpp.html":[2,0,0,0,10,5], -"wrapper_struct_output_8hpp_source.html":[2,0,0,0,10,5], -"wrapper_struct_pose_8hpp.html":[2,0,0,0,10,6], -"wrapper_struct_pose_8hpp_source.html":[2,0,0,0,10,6] +"webcam_reader_8hpp.html":[2,0,0,0,8,9], +"webcam_reader_8hpp_source.html":[2,0,0,0,8,9], +"worker_8hpp.html":[2,0,0,0,9,13], +"worker_8hpp.html#a5642545fda1c3bbaf60810cf0e2d2c1d":[2,0,0,0,9,13,1], +"worker_8hpp_source.html":[2,0,0,0,9,13], +"worker_consumer_8hpp.html":[2,0,0,0,9,14], +"worker_consumer_8hpp.html#a01aa5c6e24026536367cf47a64e9bba5":[2,0,0,0,9,14,1], +"worker_consumer_8hpp_source.html":[2,0,0,0,9,14], +"worker_producer_8hpp.html":[2,0,0,0,9,15], +"worker_producer_8hpp.html#a5660f0e72781ce6d7db9eb78b582e5c6":[2,0,0,0,9,15,1], +"worker_producer_8hpp_source.html":[2,0,0,0,9,15], +"wrapper_2headers_8hpp.html":[2,0,0,0,11,0], +"wrapper_2headers_8hpp_source.html":[2,0,0,0,11,0], +"wrapper_8hpp.html":[2,0,0,0,11,1], +"wrapper_8hpp_source.html":[2,0,0,0,11,1], +"wrapper_auxiliary_8hpp.html":[2,0,0,0,11,2], +"wrapper_auxiliary_8hpp.html#adaeace8035112a82a4a8ff2cd7eb5806":[2,0,0,0,11,2,0], +"wrapper_auxiliary_8hpp_source.html":[2,0,0,0,11,2], +"wrapper_struct_face_8hpp.html":[2,0,0,0,11,3], +"wrapper_struct_face_8hpp_source.html":[2,0,0,0,11,3], +"wrapper_struct_hand_8hpp.html":[2,0,0,0,11,4], +"wrapper_struct_hand_8hpp_source.html":[2,0,0,0,11,4], +"wrapper_struct_input_8hpp.html":[2,0,0,0,11,5], +"wrapper_struct_input_8hpp_source.html":[2,0,0,0,11,5], +"wrapper_struct_output_8hpp.html":[2,0,0,0,11,6], +"wrapper_struct_output_8hpp_source.html":[2,0,0,0,11,6], +"wrapper_struct_pose_8hpp.html":[2,0,0,0,11,7], +"wrapper_struct_pose_8hpp_source.html":[2,0,0,0,11,7] }; diff --git a/html/search/all_12.js b/html/search/all_12.js index b5a2a3a3..ac4c36ed 100644 --- a/html/search/all_12.js +++ b/html/search/all_12.js @@ -49,7 +49,7 @@ var searchData= ['setworkeroutput',['setWorkerOutput',['../classop_1_1_wrapper.html#a3e9f8993c9a27a012671d671998aa15d',1,'op::Wrapper']]], ['setworkerpostprocessing',['setWorkerPostProcessing',['../classop_1_1_wrapper.html#a6f2cf45c8b571b99ee92114ba8462589',1,'op::Wrapper']]], ['shared_5fptr',['shared_ptr',['../classboost_1_1shared__ptr.html',1,'boost']]], - ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../classop_1_1_queue_base.html#a12cdec56bfe72e722ecc722774989d1b',1,'op::QueueBase::size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]], + ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../classop_1_1_queue_base.html#a12cdec56bfe72e722ecc722774989d1b',1,'op::QueueBase::size()'],['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]], ['spelementtorender',['spElementToRender',['../classop_1_1_renderer.html#aca8ebf0c0a50b87f0be82afa090155a0',1,'op::Renderer']]], ['spgpumemory',['spGpuMemory',['../classop_1_1_gpu_renderer.html#a5d729aab549908c758953be742dd0115',1,'op::GpuRenderer']]], ['splitstring',['splitString',['../namespaceop.html#ae80a103d8a4308bc435342b3d31404c8',1,'op']]], diff --git a/html/search/all_16.js b/html/search/all_16.js index d9d5851e..bf80bf58 100644 --- a/html/search/all_16.js +++ b/html/search/all_16.js @@ -9,8 +9,8 @@ var searchData= ['wcvmattoopinput',['WCvMatToOpInput',['../classop_1_1_w_cv_mat_to_op_input.html',1,'op']]], ['wcvmattoopinput',['WCvMatToOpInput',['../classop_1_1_w_cv_mat_to_op_input.html#a82c13641d071fdb5db50afdee7cfa849',1,'op::WCvMatToOpInput']]], ['wcvmattoopinput_2ehpp',['wCvMatToOpInput.hpp',['../w_cv_mat_to_op_input_8hpp.html',1,'']]], - ['wcvmattoopoutput',['WCvMatToOpOutput',['../classop_1_1_w_cv_mat_to_op_output.html#a04cd3d8e91d731a36e3c7830631e47af',1,'op::WCvMatToOpOutput']]], ['wcvmattoopoutput',['WCvMatToOpOutput',['../classop_1_1_w_cv_mat_to_op_output.html',1,'op']]], + ['wcvmattoopoutput',['WCvMatToOpOutput',['../classop_1_1_w_cv_mat_to_op_output.html#a04cd3d8e91d731a36e3c7830631e47af',1,'op::WCvMatToOpOutput']]], ['wcvmattoopoutput_2ehpp',['wCvMatToOpOutput.hpp',['../w_cv_mat_to_op_output_8hpp.html',1,'']]], ['wdatumproducer',['WDatumProducer',['../classop_1_1_w_datum_producer.html',1,'op']]], ['wdatumproducer',['WDatumProducer',['../classop_1_1_w_datum_producer.html#aaba921d1cf641dc44ab509c0e460c5f1',1,'op::WDatumProducer']]], @@ -68,8 +68,8 @@ var searchData= ['widgenerator',['WIdGenerator',['../classop_1_1_w_id_generator.html#a6112733ee0b537d4d91191f93f0a84f8',1,'op::WIdGenerator']]], ['widgenerator_2ehpp',['wIdGenerator.hpp',['../w_id_generator_8hpp.html',1,'']]], ['width',['width',['../structop_1_1_rectangle.html#a0d0ae826039b0961fae8723708809cdf',1,'op::Rectangle']]], - ['wimagesaver',['WImageSaver',['../classop_1_1_w_image_saver.html#a11add012ee88b64a4f36d3f63cb65ee0',1,'op::WImageSaver']]], ['wimagesaver',['WImageSaver',['../classop_1_1_w_image_saver.html',1,'op']]], + ['wimagesaver',['WImageSaver',['../classop_1_1_w_image_saver.html#a11add012ee88b64a4f36d3f63cb65ee0',1,'op::WImageSaver']]], ['wimagesaver_2ehpp',['wImageSaver.hpp',['../w_image_saver_8hpp.html',1,'']]], ['windowed',['Windowed',['../namespaceop.html#a38f03cd0b02b760ffd2ea9e737680e01ab13311ab51c4c34757f67f26580018dd',1,'op']]], ['wkeypointscaler',['WKeypointScaler',['../classop_1_1_w_keypoint_scaler.html',1,'op']]], @@ -116,14 +116,16 @@ var searchData= ['wrapper',['Wrapper',['../classop_1_1_wrapper.html#adec2ef07f9796142254cd6dd9a2bf318',1,'op::Wrapper']]], ['wrapper',['Wrapper',['../classop_1_1_wrapper.html',1,'op']]], ['wrapper_2ehpp',['wrapper.hpp',['../wrapper_8hpp.html',1,'']]], + ['wrapperauxiliary_2ehpp',['wrapperAuxiliary.hpp',['../wrapper_auxiliary_8hpp.html',1,'']]], + ['wrapperconfiguresecuritychecks',['wrapperConfigureSecurityChecks',['../namespaceop.html#adaeace8035112a82a4a8ff2cd7eb5806',1,'op']]], ['wrapperstructface',['WrapperStructFace',['../structop_1_1_wrapper_struct_face.html',1,'op']]], ['wrapperstructface',['WrapperStructFace',['../structop_1_1_wrapper_struct_face.html#a48844c4c23c71372258518015d0b81b1',1,'op::WrapperStructFace']]], ['wrapperstructface_2ehpp',['wrapperStructFace.hpp',['../wrapper_struct_face_8hpp.html',1,'']]], - ['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html#a3283127d10840219bf2aacedeef0b72b',1,'op::WrapperStructHand']]], ['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html',1,'op']]], + ['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html#a3283127d10840219bf2aacedeef0b72b',1,'op::WrapperStructHand']]], ['wrapperstructhand_2ehpp',['wrapperStructHand.hpp',['../wrapper_struct_hand_8hpp.html',1,'']]], - ['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html',1,'op']]], ['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html#a06aaa39948ac1a83a234b99f270ee14b',1,'op::WrapperStructInput']]], + ['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html',1,'op']]], ['wrapperstructinput_2ehpp',['wrapperStructInput.hpp',['../wrapper_struct_input_8hpp.html',1,'']]], ['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html#a7316c62e50f99fc5af7c94ab84a1e7b4',1,'op::WrapperStructOutput']]], ['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html',1,'op']]], @@ -132,8 +134,8 @@ var searchData= ['wrapperstructpose',['WrapperStructPose',['../structop_1_1_wrapper_struct_pose.html',1,'op']]], ['wrapperstructpose_2ehpp',['wrapperStructPose.hpp',['../wrapper_struct_pose_8hpp.html',1,'']]], ['wreconstruction3d',['WReconstruction3D',['../classop_1_1_w_reconstruction3_d.html',1,'op']]], - ['wrender3d',['WRender3D',['../classop_1_1_w_render3_d.html#aad56f821882fc3c890b0587a122a5bb3',1,'op::WRender3D']]], ['wrender3d',['WRender3D',['../classop_1_1_w_render3_d.html',1,'op']]], + ['wrender3d',['WRender3D',['../classop_1_1_w_render3_d.html#aad56f821882fc3c890b0587a122a5bb3',1,'op::WRender3D']]], ['write',['write',['../classop_1_1_video_saver.html#a7c79397b9be8b6d6d12b9f3e78e6c794',1,'op::VideoSaver::write(const cv::Mat &cvMat)'],['../classop_1_1_video_saver.html#a3cdbef8bada237edffaf7793eaa0fe8e',1,'op::VideoSaver::write(const std::vector< cv::Mat > &cvMats)']]], ['writecocojson',['writeCocoJson',['../structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b',1,'op::WrapperStructOutput']]], ['writeheatmaps',['writeHeatMaps',['../structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc',1,'op::WrapperStructOutput']]], @@ -147,7 +149,7 @@ var searchData= ['wscaleandsizeextractor',['WScaleAndSizeExtractor',['../classop_1_1_w_scale_and_size_extractor.html',1,'op']]], ['wscaleandsizeextractor',['WScaleAndSizeExtractor',['../classop_1_1_w_scale_and_size_extractor.html#a8e6ef291bd809987f06fbb1cc2173b0f',1,'op::WScaleAndSizeExtractor']]], ['wscaleandsizeextractor_2ehpp',['wScaleAndSizeExtractor.hpp',['../w_scale_and_size_extractor_8hpp.html',1,'']]], - ['wvideosaver',['WVideoSaver',['../classop_1_1_w_video_saver.html',1,'op']]], ['wvideosaver',['WVideoSaver',['../classop_1_1_w_video_saver.html#a04dc4e6f039d047a0da6f94283c145d9',1,'op::WVideoSaver']]], + ['wvideosaver',['WVideoSaver',['../classop_1_1_w_video_saver.html',1,'op']]], ['wvideosaver_2ehpp',['wVideoSaver.hpp',['../w_video_saver_8hpp.html',1,'']]] ]; diff --git a/html/search/all_2.js b/html/search/all_2.js index 3710a0c4..31c7c1c2 100644 --- a/html/search/all_2.js +++ b/html/search/all_2.js @@ -42,8 +42,10 @@ var searchData= ['connectminsubsetcnt',['ConnectMinSubsetCnt',['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea7bf312724768faebba41ca3585a91f19',1,'op']]], ['connectminsubsetscore',['ConnectMinSubsetScore',['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea04576b26f5dc3637bf3c8168fba1641d',1,'op']]], ['cpu',['Cpu',['../namespaceop.html#afce557f02e337e16150d00bdf72ec033a54c82ef76ecbbd4c2293e09bae01b54e',1,'op']]], + ['cpu_5fonly',['CPU_ONLY',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa9393911bc06bdfb0c3663d541246e15a',1,'op']]], ['cputogpumemoryifnotcopiedyet',['cpuToGpuMemoryIfNotCopiedYet',['../classop_1_1_gpu_renderer.html#ac7c1ab0eebf1d54b55cc65a5560bad7b',1,'op::GpuRenderer']]], ['createarray',['createArray',['../classop_1_1_cv_mat_to_op_input.html#acf0c43174fe8e3b1c71d76aca861a6ab',1,'op::CvMatToOpInput::createArray()'],['../classop_1_1_cv_mat_to_op_output.html#a003515873bf34525e2a6d313d8619ff3',1,'op::CvMatToOpOutput::createArray()']]], + ['cuda',['CUDA',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7faa33b7755e5f9b504d2d038eaca4ff28d',1,'op']]], ['cuda_2ehpp',['cuda.hpp',['../cuda_8hpp.html',1,'']]], ['cuda_5fnum_5fthreads',['CUDA_NUM_THREADS',['../namespaceop.html#ac7bbf63b37bf6762c47557ad227e036d',1,'op']]], ['cudacheck',['cudaCheck',['../namespaceop.html#a2af8422ada0de882cc222920ca15c6d2',1,'op']]], diff --git a/html/search/all_4.js b/html/search/all_4.js index 4b0c4293..d2289369 100644 --- a/html/search/all_4.js +++ b/html/search/all_4.js @@ -5,13 +5,14 @@ var searchData= ['enable',['enable',['../structop_1_1_wrapper_struct_face.html#a8fadeca500dde0df2a35f864bf05ee05',1,'op::WrapperStructFace::enable()'],['../structop_1_1_wrapper_struct_hand.html#a667ad7eed9f4f96b460f331d25f3d87f',1,'op::WrapperStructHand::enable()'],['../structop_1_1_wrapper_struct_pose.html#acad34562a52b7474f928a021b03a9f90',1,'op::WrapperStructPose::enable()']]], ['enablegooglelogging',['enableGoogleLogging',['../structop_1_1_wrapper_struct_pose.html#a782ba82c6aeabea8fa625042fdf09408',1,'op::WrapperStructPose']]], ['enter',['enter',['../classop_1_1_json_ofstream.html#a32f058b961605d418df1258a1dc5e6a0',1,'op::JsonOfstream']]], - ['enumclasses_2ehpp',['enumClasses.hpp',['../filestream_2enum_classes_8hpp.html',1,'']]], - ['enumclasses_2ehpp',['enumClasses.hpp',['../pose_2enum_classes_8hpp.html',1,'']]], - ['enumclasses_2ehpp',['enumClasses.hpp',['../producer_2enum_classes_8hpp.html',1,'']]], - ['enumclasses_2ehpp',['enumClasses.hpp',['../core_2enum_classes_8hpp.html',1,'']]], - ['enumclasses_2ehpp',['enumClasses.hpp',['../thread_2enum_classes_8hpp.html',1,'']]], ['enumclasses_2ehpp',['enumClasses.hpp',['../gui_2enum_classes_8hpp.html',1,'']]], ['enumclasses_2ehpp',['enumClasses.hpp',['../utilities_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../core_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../pose_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../filestream_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../producer_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../gpu_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../thread_2enum_classes_8hpp.html',1,'']]], ['error',['error',['../namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3',1,'op::error(const std::string &message, const int line=-1, const std::string &function="", const std::string &file="")'],['../namespaceop.html#a42d364d9fbd1a719341bd7187d97cf18',1,'op::error(const T &message, const int line=-1, const std::string &function="", const std::string &file="")']]], ['errorandlog_2ehpp',['errorAndLog.hpp',['../error_and_log_8hpp.html',1,'']]], ['errormode',['ErrorMode',['../namespaceop.html#a5f5a4cee9809deaf7201fb9caf5e400c',1,'op']]], diff --git a/html/search/all_6.js b/html/search/all_6.js index e1b8c33f..e8c75152 100644 --- a/html/search/all_6.js +++ b/html/search/all_6.js @@ -11,6 +11,7 @@ var searchData= ['getcandidatesgpuconstptr',['getCandidatesGpuConstPtr',['../classop_1_1_pose_extractor.html#af26c5b9f93407b74bdd06357aa7566a9',1,'op::PoseExtractor::getCandidatesGpuConstPtr()'],['../classop_1_1_pose_extractor_caffe.html#abacfbe7f39819671b47d9ca2ef793046',1,'op::PoseExtractorCaffe::getCandidatesGpuConstPtr()']]], ['getconstcvmat',['getConstCvMat',['../classop_1_1_array.html#ab70165463db3e2fb3f15ad14001eb592',1,'op::Array']]], ['getconstptr',['getConstPtr',['../classop_1_1_array.html#a17a44d11cf476f705ce4a5223cfb4f81',1,'op::Array']]], + ['getcudagpunumber',['getCudaGpuNumber',['../namespaceop.html#ad9b7765a4396ee4470585ded07285563',1,'op']]], ['getcvmat',['getCvMat',['../classop_1_1_array.html#ac817621e848601cf7d6571e75d8f6865',1,'op::Array']]], ['getdistance',['getDistance',['../namespaceop.html#a88b83fabe52c73ed5c4f131c4ce75651',1,'op']]], ['getdistorsion',['getDistorsion',['../namespaceop.html#a6c638486a8791c7c3bd652682823fb0b',1,'op']]], @@ -22,6 +23,7 @@ var searchData= ['getfilesondirectory',['getFilesOnDirectory',['../namespaceop.html#a3ff74a37eb4bf12e31bc5aa95b69f9e3',1,'op::getFilesOnDirectory(const std::string &directoryPath, const std::vector< std::string > &extensions={})'],['../namespaceop.html#adb26da2c52486e926d98471b5387c7e1',1,'op::getFilesOnDirectory(const std::string &directoryPath, const std::string &extension)']]], ['getframe',['getFrame',['../classop_1_1_producer.html#aacd96f08524772d8865bb187c881943e',1,'op::Producer']]], ['getframename',['getFrameName',['../classop_1_1_image_directory_reader.html#a964d60140081c79353b637405dda962c',1,'op::ImageDirectoryReader::getFrameName()'],['../classop_1_1_ip_camera_reader.html#a2277d9a58316bfb4314bf345369e37c1',1,'op::IpCameraReader::getFrameName()'],['../classop_1_1_producer.html#adc348105fca58f18e39aa3439e2d627b',1,'op::Producer::getFrameName()'],['../classop_1_1_video_capture_reader.html#a83b4cd38f8eb2182711c506e84d97253',1,'op::VideoCaptureReader::getFrameName()'],['../classop_1_1_video_reader.html#a28244ab83836e0d0b2a896f33ad34403',1,'op::VideoReader::getFrameName()'],['../classop_1_1_webcam_reader.html#a31fa72f65d40416e812ad72d43b43649',1,'op::WebcamReader::getFrameName()']]], + ['getgpumode',['getGpuMode',['../namespaceop.html#a971a7caa96be5b715b5c22f6e5dc6ad1',1,'op']]], ['getgpunumber',['getGpuNumber',['../namespaceop.html#aaad222b087dd041c35de2f3414c1a01f',1,'op']]], ['gethandkeypoints',['getHandKeypoints',['../classop_1_1_hand_extractor.html#a322a1c3a0ab7abaf0c697246af9309cc',1,'op::HandExtractor']]], ['getheatmapcpuconstptr',['getHeatMapCpuConstPtr',['../classop_1_1_pose_extractor.html#a0bb5cf37e5b93e347e355be126d22ead',1,'op::PoseExtractor::getHeatMapCpuConstPtr()'],['../classop_1_1_pose_extractor_caffe.html#a98dc1c67a589a5493b194f23446c5759',1,'op::PoseExtractorCaffe::getHeatMapCpuConstPtr()']]], @@ -75,18 +77,20 @@ var searchData= ['gettype',['getType',['../classop_1_1_producer.html#a9a9424027e5bc8e0fba7c65eccc460e0',1,'op::Producer']]], ['getvolume',['getVolume',['../classop_1_1_array.html#afee5e6149bc917586b3fd56323d20a87',1,'op::Array::getVolume() const '],['../classop_1_1_array.html#a04d04645dd2b2f21492b2ad7a5b87828',1,'op::Array::getVolume(const int indexA, const int indexB) const ']]], ['gpu',['Gpu',['../namespaceop.html#afce557f02e337e16150d00bdf72ec033a3432ca64f06615abf07ab44c10cada38',1,'op']]], + ['gpu_2ehpp',['gpu.hpp',['../gpu_8hpp.html',1,'']]], + ['gpumode',['GpuMode',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7f',1,'op']]], ['gpunumber',['gpuNumber',['../structop_1_1_wrapper_struct_pose.html#a536ea76d50e94d513066e9e5767d0c03',1,'op::WrapperStructPose']]], ['gpunumberstart',['gpuNumberStart',['../structop_1_1_wrapper_struct_pose.html#a8be188d871061079432ead77b278fe0d',1,'op::WrapperStructPose']]], - ['gpurenderer',['GpuRenderer',['../classop_1_1_gpu_renderer.html',1,'op']]], ['gpurenderer',['GpuRenderer',['../classop_1_1_gpu_renderer.html#a9852b2017e972637b47250bb7fbc53ea',1,'op::GpuRenderer']]], + ['gpurenderer',['GpuRenderer',['../classop_1_1_gpu_renderer.html',1,'op']]], ['gpurenderer_2ehpp',['gpuRenderer.hpp',['../gpu_renderer_8hpp.html',1,'']]], ['gputocpumemoryiflastrenderer',['gpuToCpuMemoryIfLastRenderer',['../classop_1_1_gpu_renderer.html#a6355f70d16c6427b028fa4596ce5d985',1,'op::GpuRenderer']]], ['gui',['Gui',['../classop_1_1_gui.html#a892a74fac9f123a4cb9e196bfcc3432a',1,'op::Gui']]], ['gui',['Gui',['../classop_1_1_gui.html',1,'op']]], ['gui_2ehpp',['gui.hpp',['../gui_8hpp.html',1,'']]], ['guidisplaymode',['GuiDisplayMode',['../namespaceop.html#a38f03cd0b02b760ffd2ea9e737680e01',1,'op']]], - ['guiinfoadder',['GuiInfoAdder',['../classop_1_1_gui_info_adder.html',1,'op']]], ['guiinfoadder',['GuiInfoAdder',['../classop_1_1_gui_info_adder.html#af23e17f9eeb51c7473cd0940292efa61',1,'op::GuiInfoAdder']]], + ['guiinfoadder',['GuiInfoAdder',['../classop_1_1_gui_info_adder.html',1,'op']]], ['guiinfoadder_2ehpp',['guiInfoAdder.hpp',['../gui_info_adder_8hpp.html',1,'']]], ['guiverbose',['guiVerbose',['../structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad',1,'op::WrapperStructOutput']]] ]; diff --git a/html/search/all_7.js b/html/search/all_7.js index ae35949a..2c6bbfff 100644 --- a/html/search/all_7.js +++ b/html/search/all_7.js @@ -37,23 +37,24 @@ var searchData= ['handrectangles',['handRectangles',['../structop_1_1_datum.html#a52d75e3273490624414f0602785bb608',1,'op::Datum']]], ['handrenderer',['HandRenderer',['../classop_1_1_hand_renderer.html',1,'op']]], ['handrenderer_2ehpp',['handRenderer.hpp',['../hand_renderer_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../gpu_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../gui_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../wrapper_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../hand_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../experimental_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../hand_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../core_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../pose_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../experimental_2tracking_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../producer_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../thread_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../utilities_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../filestream_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../experimental_2producer_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../experimental_23d_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../face_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../core_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../producer_2headers_8hpp.html',1,'']]], - ['heatmapsaver',['HeatMapSaver',['../classop_1_1_heat_map_saver.html#aa6a339b70a9535a018584b93c932b12d',1,'op::HeatMapSaver']]], + ['headers_2ehpp',['headers.hpp',['../experimental_23d_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../wrapper_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../experimental_2producer_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../headers_8hpp.html',1,'']]], ['heatmapsaver',['HeatMapSaver',['../classop_1_1_heat_map_saver.html',1,'op']]], + ['heatmapsaver',['HeatMapSaver',['../classop_1_1_heat_map_saver.html#aa6a339b70a9535a018584b93c932b12d',1,'op::HeatMapSaver']]], ['heatmapsaver_2ehpp',['heatMapSaver.hpp',['../heat_map_saver_8hpp.html',1,'']]], ['heatmapscale',['heatMapScale',['../structop_1_1_wrapper_struct_pose.html#abeb9ae450a7b37e76075c8dca64b3617',1,'op::WrapperStructPose']]], ['heatmaptype',['HeatMapType',['../namespaceop.html#a1c3dbc214e7552f7ef9cc753ee97226b',1,'op']]], diff --git a/html/search/all_e.js b/html/search/all_e.js index 0a153843..0926c509 100644 --- a/html/search/all_e.js +++ b/html/search/all_e.js @@ -4,6 +4,7 @@ var searchData= ['objectopen',['objectOpen',['../classop_1_1_json_ofstream.html#a5c38e36c1449d808dd4ab6558d65289c',1,'op::JsonOfstream']]], ['op',['op',['../namespaceop.html',1,'']]], ['op_5fapi',['OP_API',['../macros_8hpp.html#a4ba443bb7a0e5dbe8054a9ac37a5e000',1,'macros.hpp']]], + ['open_5fcl',['OPEN_CL',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa35acca33baa6f2c4c6fb694eabfa5ac7',1,'op']]], ['opencv_2ehpp',['openCv.hpp',['../open_cv_8hpp.html',1,'']]], ['operator_21_3d',['operator!=',['../structop_1_1_datum.html#aab9997004b6b761267f8ce312b8048e9',1,'op::Datum::operator!=()'],['../structop_1_1_point.html#a5d825f6fdc9a72abe5f3f52c852bdf13',1,'op::Point::operator!=()']]], ['operator_28_29',['operator()',['../classop_1_1_pointer_container_greater.html#ab63e3088591d6593c6539b91499f5063',1,'op::PointerContainerGreater::operator()()'],['../classop_1_1_pointer_container_less.html#a67b34e75390dda005246a77a12166abc',1,'op::PointerContainerLess::operator()()']]], diff --git a/html/search/enums_2.js b/html/search/enums_2.js index 140ce80c..8594129b 100644 --- a/html/search/enums_2.js +++ b/html/search/enums_2.js @@ -1,4 +1,5 @@ var searchData= [ + ['gpumode',['GpuMode',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7f',1,'op']]], ['guidisplaymode',['GuiDisplayMode',['../namespaceop.html#a38f03cd0b02b760ffd2ea9e737680e01',1,'op']]] ]; diff --git a/html/search/enumvalues_2.js b/html/search/enumvalues_2.js index f4af0285..a6380e67 100644 --- a/html/search/enumvalues_2.js +++ b/html/search/enumvalues_2.js @@ -5,5 +5,7 @@ var searchData= ['connectinterthreshold',['ConnectInterThreshold',['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea240f10f3a39507d858c743971fd4298f',1,'op']]], ['connectminsubsetcnt',['ConnectMinSubsetCnt',['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea7bf312724768faebba41ca3585a91f19',1,'op']]], ['connectminsubsetscore',['ConnectMinSubsetScore',['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea04576b26f5dc3637bf3c8168fba1641d',1,'op']]], - ['cpu',['Cpu',['../namespaceop.html#afce557f02e337e16150d00bdf72ec033a54c82ef76ecbbd4c2293e09bae01b54e',1,'op']]] + ['cpu',['Cpu',['../namespaceop.html#afce557f02e337e16150d00bdf72ec033a54c82ef76ecbbd4c2293e09bae01b54e',1,'op']]], + ['cpu_5fonly',['CPU_ONLY',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa9393911bc06bdfb0c3663d541246e15a',1,'op']]], + ['cuda',['CUDA',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7faa33b7755e5f9b504d2d038eaca4ff28d',1,'op']]] ]; diff --git a/html/search/enumvalues_b.js b/html/search/enumvalues_b.js index 63d54ba0..197d10ae 100644 --- a/html/search/enumvalues_b.js +++ b/html/search/enumvalues_b.js @@ -1,5 +1,6 @@ var searchData= [ + ['open_5fcl',['OPEN_CL',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa35acca33baa6f2c4c6fb694eabfa5ac7',1,'op']]], ['originalfps',['OriginalFps',['../namespaceop.html#ac0230b669b296920c0cfc41b7587268fa0123c3afc0fac5edaf8b1672cb12626c',1,'op']]], ['outputresolution',['OutputResolution',['../namespaceop.html#af72fe4ed32846c12f41b049d3d0e1bdaa73c42013aac51c335d50d103f30fcb99',1,'op']]] ]; diff --git a/html/search/enumvalues_e.js b/html/search/enumvalues_e.js index 84c7d9b0..5f063a9d 100644 --- a/html/search/enumvalues_e.js +++ b/html/search/enumvalues_e.js @@ -1,6 +1,6 @@ var searchData= [ - ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]], + ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]], ['stdcerr',['StdCerr',['../namespaceop.html#a5f5a4cee9809deaf7201fb9caf5e400ca002f2100f8870e7c823894f492e4d337',1,'op']]], ['stdcout',['StdCout',['../namespaceop.html#a5fa46d7c4b25c823d1cdcc8e9d460f94aa544d56d9492a20da20018000b5043b6',1,'op']]], ['stdruntimeerror',['StdRuntimeError',['../namespaceop.html#a5f5a4cee9809deaf7201fb9caf5e400cafe50b062b9b9100a72e68b48fe26fc50',1,'op']]], diff --git a/html/search/files_14.js b/html/search/files_14.js index b87fcaad..c375f5da 100644 --- a/html/search/files_14.js +++ b/html/search/files_14.js @@ -35,6 +35,7 @@ var searchData= ['wposesaver_2ehpp',['wPoseSaver.hpp',['../w_pose_saver_8hpp.html',1,'']]], ['wqueueorderer_2ehpp',['wQueueOrderer.hpp',['../w_queue_orderer_8hpp.html',1,'']]], ['wrapper_2ehpp',['wrapper.hpp',['../wrapper_8hpp.html',1,'']]], + ['wrapperauxiliary_2ehpp',['wrapperAuxiliary.hpp',['../wrapper_auxiliary_8hpp.html',1,'']]], ['wrapperstructface_2ehpp',['wrapperStructFace.hpp',['../wrapper_struct_face_8hpp.html',1,'']]], ['wrapperstructhand_2ehpp',['wrapperStructHand.hpp',['../wrapper_struct_hand_8hpp.html',1,'']]], ['wrapperstructinput_2ehpp',['wrapperStructInput.hpp',['../wrapper_struct_input_8hpp.html',1,'']]], diff --git a/html/search/files_4.js b/html/search/files_4.js index febc9490..866fef2e 100644 --- a/html/search/files_4.js +++ b/html/search/files_4.js @@ -2,10 +2,11 @@ var searchData= [ ['enumclasses_2ehpp',['enumClasses.hpp',['../core_2enum_classes_8hpp.html',1,'']]], ['enumclasses_2ehpp',['enumClasses.hpp',['../filestream_2enum_classes_8hpp.html',1,'']]], - ['enumclasses_2ehpp',['enumClasses.hpp',['../utilities_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../gui_2enum_classes_8hpp.html',1,'']]], ['enumclasses_2ehpp',['enumClasses.hpp',['../thread_2enum_classes_8hpp.html',1,'']]], ['enumclasses_2ehpp',['enumClasses.hpp',['../producer_2enum_classes_8hpp.html',1,'']]], ['enumclasses_2ehpp',['enumClasses.hpp',['../pose_2enum_classes_8hpp.html',1,'']]], - ['enumclasses_2ehpp',['enumClasses.hpp',['../gui_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../utilities_2enum_classes_8hpp.html',1,'']]], + ['enumclasses_2ehpp',['enumClasses.hpp',['../gpu_2enum_classes_8hpp.html',1,'']]], ['errorandlog_2ehpp',['errorAndLog.hpp',['../error_and_log_8hpp.html',1,'']]] ]; diff --git a/html/search/files_6.js b/html/search/files_6.js index 5ec294d5..642f5b1e 100644 --- a/html/search/files_6.js +++ b/html/search/files_6.js @@ -1,5 +1,6 @@ var searchData= [ + ['gpu_2ehpp',['gpu.hpp',['../gpu_8hpp.html',1,'']]], ['gpurenderer_2ehpp',['gpuRenderer.hpp',['../gpu_renderer_8hpp.html',1,'']]], ['gui_2ehpp',['gui.hpp',['../gui_8hpp.html',1,'']]], ['guiinfoadder_2ehpp',['guiInfoAdder.hpp',['../gui_info_adder_8hpp.html',1,'']]] diff --git a/html/search/files_7.js b/html/search/files_7.js index 09f4d3f5..42593313 100644 --- a/html/search/files_7.js +++ b/html/search/files_7.js @@ -9,19 +9,20 @@ var searchData= ['handparameters_2ehpp',['handParameters.hpp',['../hand_parameters_8hpp.html',1,'']]], ['handrenderer_2ehpp',['handRenderer.hpp',['../hand_renderer_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../gui_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../experimental_23d_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../wrapper_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../utilities_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../thread_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../face_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../pose_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../experimental_2tracking_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../core_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../utilities_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../thread_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../producer_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../filestream_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../experimental_2headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../headers_8hpp.html',1,'']]], - ['headers_2ehpp',['headers.hpp',['../experimental_2producer_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../pose_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../face_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../experimental_23d_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../gpu_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../filestream_2headers_8hpp.html',1,'']]], ['headers_2ehpp',['headers.hpp',['../hand_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../wrapper_2headers_8hpp.html',1,'']]], + ['headers_2ehpp',['headers.hpp',['../experimental_2producer_2headers_8hpp.html',1,'']]], ['heatmapsaver_2ehpp',['heatMapSaver.hpp',['../heat_map_saver_8hpp.html',1,'']]] ]; diff --git a/html/search/functions_16.js b/html/search/functions_16.js index acfbdedf..3ee73f64 100644 --- a/html/search/functions_16.js +++ b/html/search/functions_16.js @@ -40,6 +40,7 @@ var searchData= ['wposesaver',['WPoseSaver',['../classop_1_1_w_pose_saver.html#aa9dd0f4649c9e8efef10201caf9e4cfd',1,'op::WPoseSaver']]], ['wqueueorderer',['WQueueOrderer',['../classop_1_1_w_queue_orderer.html#a3303add5fa8cc36593d3d859ffdd8ae0',1,'op::WQueueOrderer']]], ['wrapper',['Wrapper',['../classop_1_1_wrapper.html#adec2ef07f9796142254cd6dd9a2bf318',1,'op::Wrapper']]], + ['wrapperconfiguresecuritychecks',['wrapperConfigureSecurityChecks',['../namespaceop.html#adaeace8035112a82a4a8ff2cd7eb5806',1,'op']]], ['wrapperstructface',['WrapperStructFace',['../structop_1_1_wrapper_struct_face.html#a48844c4c23c71372258518015d0b81b1',1,'op::WrapperStructFace']]], ['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html#a3283127d10840219bf2aacedeef0b72b',1,'op::WrapperStructHand']]], ['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html#a06aaa39948ac1a83a234b99f270ee14b',1,'op::WrapperStructInput']]], diff --git a/html/search/functions_6.js b/html/search/functions_6.js index dc2e6513..72ca87cd 100644 --- a/html/search/functions_6.js +++ b/html/search/functions_6.js @@ -11,6 +11,7 @@ var searchData= ['getcandidatesgpuconstptr',['getCandidatesGpuConstPtr',['../classop_1_1_pose_extractor.html#af26c5b9f93407b74bdd06357aa7566a9',1,'op::PoseExtractor::getCandidatesGpuConstPtr()'],['../classop_1_1_pose_extractor_caffe.html#abacfbe7f39819671b47d9ca2ef793046',1,'op::PoseExtractorCaffe::getCandidatesGpuConstPtr()']]], ['getconstcvmat',['getConstCvMat',['../classop_1_1_array.html#ab70165463db3e2fb3f15ad14001eb592',1,'op::Array']]], ['getconstptr',['getConstPtr',['../classop_1_1_array.html#a17a44d11cf476f705ce4a5223cfb4f81',1,'op::Array']]], + ['getcudagpunumber',['getCudaGpuNumber',['../namespaceop.html#ad9b7765a4396ee4470585ded07285563',1,'op']]], ['getcvmat',['getCvMat',['../classop_1_1_array.html#ac817621e848601cf7d6571e75d8f6865',1,'op::Array']]], ['getdistance',['getDistance',['../namespaceop.html#a88b83fabe52c73ed5c4f131c4ce75651',1,'op']]], ['getdistorsion',['getDistorsion',['../namespaceop.html#a6c638486a8791c7c3bd652682823fb0b',1,'op']]], @@ -22,6 +23,7 @@ var searchData= ['getfilesondirectory',['getFilesOnDirectory',['../namespaceop.html#a3ff74a37eb4bf12e31bc5aa95b69f9e3',1,'op::getFilesOnDirectory(const std::string &directoryPath, const std::vector< std::string > &extensions={})'],['../namespaceop.html#adb26da2c52486e926d98471b5387c7e1',1,'op::getFilesOnDirectory(const std::string &directoryPath, const std::string &extension)']]], ['getframe',['getFrame',['../classop_1_1_producer.html#aacd96f08524772d8865bb187c881943e',1,'op::Producer']]], ['getframename',['getFrameName',['../classop_1_1_image_directory_reader.html#a964d60140081c79353b637405dda962c',1,'op::ImageDirectoryReader::getFrameName()'],['../classop_1_1_ip_camera_reader.html#a2277d9a58316bfb4314bf345369e37c1',1,'op::IpCameraReader::getFrameName()'],['../classop_1_1_producer.html#adc348105fca58f18e39aa3439e2d627b',1,'op::Producer::getFrameName()'],['../classop_1_1_video_capture_reader.html#a83b4cd38f8eb2182711c506e84d97253',1,'op::VideoCaptureReader::getFrameName()'],['../classop_1_1_video_reader.html#a28244ab83836e0d0b2a896f33ad34403',1,'op::VideoReader::getFrameName()'],['../classop_1_1_webcam_reader.html#a31fa72f65d40416e812ad72d43b43649',1,'op::WebcamReader::getFrameName()']]], + ['getgpumode',['getGpuMode',['../namespaceop.html#a971a7caa96be5b715b5c22f6e5dc6ad1',1,'op']]], ['getgpunumber',['getGpuNumber',['../namespaceop.html#aaad222b087dd041c35de2f3414c1a01f',1,'op']]], ['gethandkeypoints',['getHandKeypoints',['../classop_1_1_hand_extractor.html#a322a1c3a0ab7abaf0c697246af9309cc',1,'op::HandExtractor']]], ['getheatmapcpuconstptr',['getHeatMapCpuConstPtr',['../classop_1_1_pose_extractor.html#a0bb5cf37e5b93e347e355be126d22ead',1,'op::PoseExtractor::getHeatMapCpuConstPtr()'],['../classop_1_1_pose_extractor_caffe.html#a98dc1c67a589a5493b194f23446c5759',1,'op::PoseExtractorCaffe::getHeatMapCpuConstPtr()']]], diff --git a/html/structop_1_1_datum.html b/html/structop_1_1_datum.html index c21291af..8b666d1b 100644 --- a/html/structop_1_1_datum.html +++ b/html/structop_1_1_datum.html @@ -719,7 +719,7 @@ Public Attributes
    -

    Size(s) (width x height) of the image(s) fed to the pose deep net. The size of the std::vector corresponds to the number of scales.

    +

    Size(s) (width x height) of the image(s) fed to the pose deep net. The size of the std::vector corresponds to the number of scales.

    diff --git a/html/utilities_2headers_8hpp.html b/html/utilities_2headers_8hpp.html index 6bb73ca7..e21f84fb 100644 --- a/html/utilities_2headers_8hpp.html +++ b/html/utilities_2headers_8hpp.html @@ -108,7 +108,6 @@ $(document).ready(function(){initNavTree('utilities_2headers_8hpp.html','');});
    #include <openpose/utilities/check.hpp>
    -#include <openpose/utilities/cuda.hpp>
    #include <openpose/utilities/enumClasses.hpp>
    #include <openpose/utilities/errorAndLog.hpp>
    #include <openpose/utilities/fastMath.hpp>
    diff --git a/html/utilities_2headers_8hpp_source.html b/html/utilities_2headers_8hpp_source.html index 6373a27a..10c41183 100644 --- a/html/utilities_2headers_8hpp_source.html +++ b/html/utilities_2headers_8hpp_source.html @@ -112,20 +112,19 @@ $(document).ready(function(){initNavTree('utilities_2headers_8hpp_source.html','
    3 
    4 // utilities module
    - - - - - - - - - - - - -
    18 
    -
    19 #endif // OPENPOSE_UTILITIES_HEADERS_HPP
    + + + + + + + + + + + +
    17 
    +
    18 #endif // OPENPOSE_UTILITIES_HEADERS_HPP
    @@ -134,7 +133,6 @@ $(document).ready(function(){initNavTree('utilities_2headers_8hpp_source.html',' - diff --git a/html/wrapper_2headers_8hpp.html b/html/wrapper_2headers_8hpp.html index ab3d57c9..aadca60f 100644 --- a/html/wrapper_2headers_8hpp.html +++ b/html/wrapper_2headers_8hpp.html @@ -108,6 +108,7 @@ $(document).ready(function(){initNavTree('wrapper_2headers_8hpp.html','');});
    #include <openpose/wrapper/wrapper.hpp>
    +#include <openpose/wrapper/wrapperAuxiliary.hpp>
    #include <openpose/wrapper/wrapperStructFace.hpp>
    #include <openpose/wrapper/wrapperStructHand.hpp>
    #include <openpose/wrapper/wrapperStructInput.hpp>
    diff --git a/html/wrapper_2headers_8hpp_source.html b/html/wrapper_2headers_8hpp_source.html index 1bd9c9bd..63a1163c 100644 --- a/html/wrapper_2headers_8hpp_source.html +++ b/html/wrapper_2headers_8hpp_source.html @@ -112,13 +112,15 @@ $(document).ready(function(){initNavTree('wrapper_2headers_8hpp_source.html','')
    3 
    4 // wrapper module
    - - - - - -
    11 
    -
    12 #endif // OPENPOSE_WRAPPER_HEADERS_HPP
    + + + + + + +
    12 
    +
    13 #endif // OPENPOSE_WRAPPER_HEADERS_HPP
    + diff --git a/html/wrapper_8hpp.html b/html/wrapper_8hpp.html index 01a6ef72..598d31ae 100644 --- a/html/wrapper_8hpp.html +++ b/html/wrapper_8hpp.html @@ -118,16 +118,17 @@ $(document).ready(function(){initNavTree('wrapper_8hpp.html','');}); #include <openpose/wrapper/wrapperStructOutput.hpp>
    #include <openpose/wrapper/wrapperStructPose.hpp>
    #include <openpose/core/headers.hpp>
    +#include <openpose/experimental/tracking/headers.hpp>
    #include <openpose/face/headers.hpp>
    #include <openpose/filestream/headers.hpp>
    #include <openpose/gui/headers.hpp>
    +#include <openpose/gpu/gpu.hpp>
    #include <openpose/hand/headers.hpp>
    #include <openpose/pose/headers.hpp>
    #include <openpose/producer/headers.hpp>
    -#include <openpose/experimental/tracking/headers.hpp>
    -#include <openpose/utilities/cuda.hpp>
    #include <openpose/utilities/fileSystem.hpp>
    #include <openpose/utilities/standard.hpp>
    +#include <openpose/wrapper/wrapperAuxiliary.hpp>

    Go to the source code of this file.

    diff --git a/html/wrapper_8hpp_source.html b/html/wrapper_8hpp_source.html index a4ce69f4..7dd42056 100644 --- a/html/wrapper_8hpp_source.html +++ b/html/wrapper_8hpp_source.html @@ -235,1090 +235,1006 @@ $(document).ready(function(){initNavTree('wrapper_8hpp_source.html','');});
    260 
    261 // Implementation
    262 #include <openpose/core/headers.hpp>
    -
    263 #include <openpose/face/headers.hpp>
    - -
    265 #include <openpose/gui/headers.hpp>
    -
    266 #include <openpose/hand/headers.hpp>
    -
    267 #include <openpose/pose/headers.hpp>
    - - - + +
    264 #include <openpose/face/headers.hpp>
    + +
    266 #include <openpose/gui/headers.hpp>
    +
    267 #include <openpose/gpu/gpu.hpp>
    +
    268 #include <openpose/hand/headers.hpp>
    +
    269 #include <openpose/pose/headers.hpp>
    + -
    273 namespace op
    -
    274 {
    -
    275  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    277  mThreadManagerMode{threadManagerMode},
    -
    278  spVideoSeek{std::make_shared<std::pair<std::atomic<bool>, std::atomic<int>>>()},
    -
    279  mConfigured{false},
    -
    280  mThreadManager{threadManagerMode},
    -
    281  mMultiThreadEnabled{true}
    -
    282  {
    -
    283  try
    -
    284  {
    -
    285  // It cannot be directly included in the constructor (compiler error for copying std::atomic)
    -
    286  spVideoSeek->first = false;
    -
    287  spVideoSeek->second = 0;
    -
    288  }
    -
    289  catch (const std::exception& e)
    -
    290  {
    -
    291  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    292  }
    -
    293  }
    -
    294 
    -
    295  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    297  {
    -
    298  try
    -
    299  {
    -
    300  stop();
    -
    301  reset();
    -
    302  }
    -
    303  catch (const std::exception& e)
    -
    304  {
    -
    305  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    306  }
    -
    307  }
    -
    308 
    -
    309  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    311  {
    -
    312  try
    -
    313  {
    -
    314  mMultiThreadEnabled = false;
    -
    315  }
    -
    316  catch (const std::exception& e)
    -
    317  {
    -
    318  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    319  }
    -
    320  }
    -
    321 
    -
    322  template<typename TDatums, typename TWorker, typename TQueue>
    -
    323  void Wrapper<TDatums, TWorker, TQueue>::setWorkerInput(const TWorker& worker, const bool workerOnNewThread)
    -
    324  {
    -
    325  try
    -
    326  {
    -
    327  mUserInputWs.clear();
    -
    328  if (worker == nullptr)
    -
    329  error("Your worker is a nullptr.", __LINE__, __FILE__, __FUNCTION__);
    -
    330  mUserInputWs.emplace_back(worker);
    -
    331  mUserInputWsOnNewThread = {workerOnNewThread};
    -
    332  }
    -
    333  catch (const std::exception& e)
    -
    334  {
    -
    335  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    336  }
    -
    337  }
    -
    338 
    -
    339  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    341  const bool workerOnNewThread)
    -
    342  {
    -
    343  try
    -
    344  {
    -
    345  mUserPostProcessingWs.clear();
    -
    346  if (worker == nullptr)
    -
    347  error("Your worker is a nullptr.", __LINE__, __FILE__, __FUNCTION__);
    -
    348  mUserPostProcessingWs.emplace_back(worker);
    -
    349  mUserPostProcessingWsOnNewThread = {workerOnNewThread};
    -
    350  }
    -
    351  catch (const std::exception& e)
    -
    352  {
    -
    353  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    354  }
    -
    355  }
    -
    356 
    -
    357  template<typename TDatums, typename TWorker, typename TQueue>
    -
    358  void Wrapper<TDatums, TWorker, TQueue>::setWorkerOutput(const TWorker& worker, const bool workerOnNewThread)
    -
    359  {
    -
    360  try
    -
    361  {
    -
    362  mUserOutputWs.clear();
    -
    363  if (worker == nullptr)
    -
    364  error("Your worker is a nullptr.", __LINE__, __FILE__, __FUNCTION__);
    -
    365  mUserOutputWs.emplace_back(worker);
    -
    366  mUserOutputWsOnNewThread = {workerOnNewThread};
    -
    367  }
    -
    368  catch (const std::exception& e)
    -
    369  {
    -
    370  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    371  }
    -
    372  }
    -
    373 
    -
    374  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    376  const WrapperStructInput& wrapperStructInput,
    -
    377  const WrapperStructOutput& wrapperStructOutput)
    -
    378  {
    -
    379  try
    -
    380  {
    -
    381  configure(wrapperStructPose, WrapperStructFace{}, WrapperStructHand{},
    -
    382  wrapperStructInput, wrapperStructOutput);
    -
    383  }
    -
    384  catch (const std::exception& e)
    -
    385  {
    -
    386  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    387  }
    -
    388  }
    -
    389 
    -
    390  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    392  const WrapperStructFace& wrapperStructFace,
    -
    393  const WrapperStructInput& wrapperStructInput,
    -
    394  const WrapperStructOutput& wrapperStructOutput)
    -
    395  {
    -
    396  try
    -
    397  {
    -
    398  configure(wrapperStructPose, wrapperStructFace, WrapperStructHand{},
    -
    399  wrapperStructInput, wrapperStructOutput);
    -
    400  }
    -
    401  catch (const std::exception& e)
    -
    402  {
    -
    403  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    404  }
    -
    405  }
    -
    406 
    -
    407  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    409  const WrapperStructHand& wrapperStructHand,
    -
    410  const WrapperStructInput& wrapperStructInput,
    -
    411  const WrapperStructOutput& wrapperStructOutput)
    -
    412  {
    -
    413  try
    -
    414  {
    -
    415  configure(wrapperStructPose, WrapperStructFace{}, wrapperStructHand,
    -
    416  wrapperStructInput, wrapperStructOutput);
    -
    417  }
    -
    418  catch (const std::exception& e)
    -
    419  {
    -
    420  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    421  }
    -
    422  }
    -
    423 
    -
    424  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    426  const WrapperStructFace& wrapperStructFace,
    -
    427  const WrapperStructHand& wrapperStructHand,
    -
    428  const WrapperStructInput& wrapperStructInput,
    -
    429  const WrapperStructOutput& wrapperStructOutput)
    -
    430  {
    -
    431  try
    -
    432  {
    -
    433  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    -
    434 
    -
    435  // Shortcut
    -
    436  typedef std::shared_ptr<TDatums> TDatumsPtr;
    -
    437 
    -
    438  // Required parameters
    -
    439  const auto renderOutput = wrapperStructPose.renderMode != RenderMode::None
    -
    440  || wrapperStructFace.renderMode != RenderMode::None
    -
    441  || wrapperStructHand.renderMode != RenderMode::None;
    -
    442  const auto renderOutputGpu = wrapperStructPose.renderMode == RenderMode::Gpu
    -
    443  || wrapperStructFace.renderMode == RenderMode::Gpu
    -
    444  || wrapperStructHand.renderMode == RenderMode::Gpu;
    -
    445  const auto renderFace = wrapperStructFace.enable && wrapperStructFace.renderMode != RenderMode::None;
    -
    446  const auto renderHand = wrapperStructHand.enable && wrapperStructHand.renderMode != RenderMode::None;
    -
    447  const auto renderHandGpu = wrapperStructHand.enable && wrapperStructHand.renderMode == RenderMode::Gpu;
    -
    448 
    -
    449  // Check no wrong/contradictory flags enabled
    -
    450  if (wrapperStructPose.alphaKeypoint < 0. || wrapperStructPose.alphaKeypoint > 1.
    -
    451  || wrapperStructFace.alphaHeatMap < 0. || wrapperStructFace.alphaHeatMap > 1.
    -
    452  || wrapperStructHand.alphaHeatMap < 0. || wrapperStructHand.alphaHeatMap > 1.)
    -
    453  error("Alpha value for blending must be in the range [0,1].", __LINE__, __FUNCTION__, __FILE__);
    -
    454  if (wrapperStructPose.scaleGap <= 0.f && wrapperStructPose.scalesNumber > 1)
    -
    455  error("The scale gap must be greater than 0 (it has no effect if the number of scales is 1).",
    -
    456  __LINE__, __FUNCTION__, __FILE__);
    -
    457  if (!renderOutput && (!wrapperStructOutput.writeImages.empty() || !wrapperStructOutput.writeVideo.empty()))
    -
    458  {
    -
    459  const auto message = "In order to save the rendered frames (`--write_images` or `--write_video`), you"
    -
    460  " cannot disable `--render_pose`.";
    -
    461  log(message, Priority::High);
    -
    462  }
    -
    463  if (!wrapperStructOutput.writeHeatMaps.empty() && wrapperStructPose.heatMapTypes.empty())
    -
    464  {
    -
    465  const auto message = "In order to save the heatmaps (`--write_heatmaps`), you need to pick which heat"
    -
    466  " maps you want to save: `--heatmaps_add_X` flags or fill the"
    -
    467  " wrapperStructPose.heatMapTypes.";
    -
    468  error(message, __LINE__, __FUNCTION__, __FILE__);
    -
    469  }
    -
    470  if (!wrapperStructOutput.writeHeatMaps.empty()
    -
    471  && (wrapperStructPose.heatMapScale != ScaleMode::UnsignedChar &&
    -
    472  wrapperStructOutput.writeHeatMapsFormat != "float"))
    -
    473  {
    -
    474  const auto message = "In order to save the heatmaps, you must either set"
    -
    475  " wrapperStructPose.heatMapScale to ScaleMode::UnsignedChar (i.e. range [0, 255])"
    -
    476  " or `--write_heatmaps_format` to `float` to storage floating numbers in binary"
    -
    477  " mode.";
    -
    478  error(message, __LINE__, __FUNCTION__, __FILE__);
    -
    479  }
    -
    480  if (mUserOutputWs.empty() && mThreadManagerMode != ThreadManagerMode::Asynchronous
    -
    481  && mThreadManagerMode != ThreadManagerMode::AsynchronousOut)
    -
    482  {
    -
    483  const std::string additionalMessage{
    -
    484  " You could also set mThreadManagerMode = mThreadManagerMode::Asynchronous(Out) and/or add your"
    -
    485  " own output worker class before calling this function."
    -
    486  };
    -
    487  const auto savingSomething = (
    -
    488  !wrapperStructOutput.writeImages.empty() || !wrapperStructOutput.writeVideo.empty()
    -
    489  || !wrapperStructOutput.writeKeypoint.empty() || !wrapperStructOutput.writeJson.empty()
    -
    490  || !wrapperStructOutput.writeCocoJson.empty() || !wrapperStructOutput.writeHeatMaps.empty()
    -
    491  );
    -
    492  if (!wrapperStructOutput.displayGui && !savingSomething)
    -
    493  {
    -
    494  const auto message = "No output is selected (`--no_display`) and no results are generated (no"
    -
    495  " `--write_X` flags enabled). Thus, no output would be generated."
    -
    496  + additionalMessage;
    -
    497  error(message, __LINE__, __FUNCTION__, __FILE__);
    -
    498  }
    -
    499  if (wrapperStructInput.framesRepeat && savingSomething)
    -
    500  {
    -
    501  const auto message = "Frames repetition (`--frames_repeat`) is enabled as well as some writing"
    -
    502  " function (`--write_X`). This program would never stop recording the same"
    -
    503  " frames over and over. Please, disable repetition or remove writing.";
    -
    504  error(message, __LINE__, __FUNCTION__, __FILE__);
    -
    505  }
    -
    506  // Warnings
    -
    507  if ((wrapperStructOutput.displayGui && wrapperStructOutput.guiVerbose) && !renderOutput)
    -
    508  {
    -
    509  const auto message = "No render is enabled (e.g. `--render_pose 0`), so you might also want to"
    -
    510  " remove the display (set `--no_display` or `--no_gui_verbose`). If you"
    -
    511  " simply want to use OpenPose to record video/images without keypoints, you"
    -
    512  " only need to set `--num_gpu 0`." + additionalMessage;
    -
    513  log(message, Priority::High);
    -
    514  }
    -
    515  if (wrapperStructInput.realTimeProcessing && savingSomething)
    -
    516  {
    -
    517  const auto message = "Real time processing is enabled as well as some writing function. Thus, some"
    -
    518  " frames might be skipped. Consider disabling real time processing if you"
    -
    519  " intend to save any results.";
    -
    520  log(message, Priority::High);
    -
    521  }
    -
    522  }
    -
    523  if (!wrapperStructOutput.writeVideo.empty() && wrapperStructInput.producerSharedPtr == nullptr)
    -
    524  error("Writting video is only available if the OpenPose producer is used (i.e."
    -
    525  " wrapperStructInput.producerSharedPtr cannot be a nullptr).", __LINE__, __FUNCTION__, __FILE__);
    -
    526  if (!wrapperStructPose.enable)
    -
    527  {
    -
    528  if (!wrapperStructFace.enable)
    -
    529  error("Body keypoint detection must be enabled.", __LINE__, __FUNCTION__, __FILE__);
    -
    530  if (wrapperStructHand.enable)
    -
    531  error("Body keypoint detection must be enabled in order to run hand keypoint detection.",
    -
    532  __LINE__, __FUNCTION__, __FILE__);
    -
    533  }
    -
    534  #ifdef CPU_ONLY
    -
    535  if (wrapperStructPose.gpuNumber > 0)
    -
    536  error("GPU number must be negative or 0 if CPU_ONLY is enabled.", __LINE__, __FUNCTION__, __FILE__);
    -
    537  #endif
    -
    538 
    -
    539  // Get number threads
    -
    540  // CPU --> 1 thread or no pose extraction
    -
    541  #ifdef CPU_ONLY
    -
    542  const auto numberThreads = (wrapperStructPose.gpuNumber == 0 ? 0 : 1);
    -
    543  const auto gpuNumberStart = 0;
    -
    544  // Disabling multi-thread makes the code 400 ms faster (2.3 sec vs. 2.7 in i7-6850K)
    -
    545  // and fixes the bug that the screen was not properly displayed and only refreshed sometimes
    -
    546  // Note: The screen bug could be also fixed by using waitKey(30) rather than waitKey(1)
    -
    547  disableMultiThreading();
    -
    548  // GPU --> user picks (<= #GPUs)
    -
    549  #else
    -
    550  auto numberThreads = wrapperStructPose.gpuNumber;
    -
    551  const auto gpuNumberStart = wrapperStructPose.gpuNumberStart;
    -
    552  // If number GPU < 0 --> set it to all the available GPUs
    -
    553  if (numberThreads < 0)
    -
    554  {
    -
    555  // Get total number GPUs
    -
    556  const auto totalGpuNumber = getGpuNumber();
    -
    557  if (totalGpuNumber <= gpuNumberStart)
    -
    558  error("Number of initial GPUs (`--number_gpu_start`) must be lower than the total number of used"
    -
    559  " GPUs (`--number_gpu`)", __LINE__, __FUNCTION__, __FILE__);
    -
    560  numberThreads = totalGpuNumber - gpuNumberStart;
    -
    561  // Reset initial GPU to 0 (we want them all)
    -
    562  // Logging message
    -
    563  log("Auto-detecting all available GPUs... Detected " + std::to_string(totalGpuNumber)
    -
    564  + " GPU(s), using " + std::to_string(numberThreads) + " of them starting at GPU "
    -
    565  + std::to_string(gpuNumberStart) + ".", Priority::High);
    -
    566  }
    -
    567  #endif
    -
    568 
    -
    569  // Proper format
    -
    570  const auto writeImagesCleaned = formatAsDirectory(wrapperStructOutput.writeImages);
    -
    571  const auto writeKeypointCleaned = formatAsDirectory(wrapperStructOutput.writeKeypoint);
    -
    572  const auto writeJsonCleaned = formatAsDirectory(wrapperStructOutput.writeJson);
    -
    573  const auto writeHeatMapsCleaned = formatAsDirectory(wrapperStructOutput.writeHeatMaps);
    -
    574  const auto modelFolder = formatAsDirectory(wrapperStructPose.modelFolder);
    -
    575 
    -
    576  // Common parameters
    -
    577  auto finalOutputSize = wrapperStructPose.outputSize;
    -
    578  Point<int> producerSize{-1,-1};
    -
    579  if (wrapperStructInput.producerSharedPtr != nullptr)
    -
    580  {
    -
    581  // 1. Set producer properties
    -
    582  const auto displayProducerFpsMode = (wrapperStructInput.realTimeProcessing
    - -
    584  wrapperStructInput.producerSharedPtr->setProducerFpsMode(displayProducerFpsMode);
    -
    585  wrapperStructInput.producerSharedPtr->set(ProducerProperty::Flip, wrapperStructInput.frameFlip);
    -
    586  wrapperStructInput.producerSharedPtr->set(ProducerProperty::Rotation, wrapperStructInput.frameRotate);
    -
    587  wrapperStructInput.producerSharedPtr->set(ProducerProperty::AutoRepeat,
    -
    588  wrapperStructInput.framesRepeat);
    -
    589  // 2. Set finalOutputSize
    -
    590  producerSize = Point<int>{(int)wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FRAME_WIDTH),
    -
    591  (int)wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FRAME_HEIGHT)};
    -
    592  // Set finalOutputSize to input size if desired
    -
    593  if (finalOutputSize.x == -1 || finalOutputSize.y == -1)
    -
    594  finalOutputSize = producerSize;
    -
    595  }
    -
    596 
    -
    597  // Producer
    -
    598  if (wrapperStructInput.producerSharedPtr != nullptr)
    -
    599  {
    -
    600  const auto datumProducer = std::make_shared<DatumProducer<TDatums>>(
    -
    601  wrapperStructInput.producerSharedPtr, wrapperStructInput.frameFirst, wrapperStructInput.frameLast,
    -
    602  spVideoSeek
    -
    603  );
    -
    604  wDatumProducer = std::make_shared<WDatumProducer<TDatumsPtr, TDatums>>(datumProducer);
    -
    605  }
    -
    606  else
    -
    607  wDatumProducer = nullptr;
    -
    608 
    -
    609  std::vector<std::shared_ptr<PoseExtractor>> poseExtractors;
    -
    610  std::vector<std::shared_ptr<PoseGpuRenderer>> poseGpuRenderers;
    -
    611  std::shared_ptr<PoseCpuRenderer> poseCpuRenderer;
    -
    612  if (numberThreads > 0)
    -
    613  {
    -
    614  // Get input scales and sizes
    -
    615  const auto scaleAndSizeExtractor = std::make_shared<ScaleAndSizeExtractor>(
    -
    616  wrapperStructPose.netInputSize, finalOutputSize, wrapperStructPose.scalesNumber,
    -
    617  wrapperStructPose.scaleGap
    -
    618  );
    -
    619  spWScaleAndSizeExtractor = std::make_shared<WScaleAndSizeExtractor<TDatumsPtr>>(scaleAndSizeExtractor);
    -
    620 
    -
    621  // Input cvMat to OpenPose input & output format
    -
    622  const auto cvMatToOpInput = std::make_shared<CvMatToOpInput>();
    -
    623  spWCvMatToOpInput = std::make_shared<WCvMatToOpInput<TDatumsPtr>>(cvMatToOpInput);
    -
    624  if (renderOutput)
    -
    625  {
    -
    626  const auto cvMatToOpOutput = std::make_shared<CvMatToOpOutput>();
    -
    627  spWCvMatToOpOutput = std::make_shared<WCvMatToOpOutput<TDatumsPtr>>(cvMatToOpOutput);
    -
    628  }
    -
    629 
    -
    630  // Pose estimators & renderers
    -
    631  std::vector<TWorker> cpuRenderers;
    -
    632  spWPoses.clear();
    -
    633  spWPoses.resize(numberThreads);
    -
    634  if (wrapperStructPose.enable)
    -
    635  {
    -
    636  // Pose estimators
    -
    637  for (auto gpuId = 0; gpuId < numberThreads; gpuId++)
    -
    638  poseExtractors.emplace_back(std::make_shared<PoseExtractorCaffe>(
    -
    639  wrapperStructPose.poseModel, modelFolder, gpuId + gpuNumberStart,
    -
    640  wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
    -
    641  wrapperStructPose.addPartCandidates, wrapperStructPose.enableGoogleLogging
    -
    642  ));
    -
    643 
    -
    644  // Pose renderers
    -
    645  if (renderOutputGpu || wrapperStructPose.renderMode == RenderMode::Cpu)
    -
    646  {
    -
    647  // If wrapperStructPose.renderMode != RenderMode::Gpu but renderOutput, then we create an
    -
    648  // alpha = 0 pose renderer in order to keep the removing background option
    -
    649  const auto alphaKeypoint = (wrapperStructPose.renderMode != RenderMode::None
    -
    650  ? wrapperStructPose.alphaKeypoint : 0.f);
    -
    651  const auto alphaHeatMap = (wrapperStructPose.renderMode != RenderMode::None
    -
    652  ? wrapperStructPose.alphaHeatMap : 0.f);
    -
    653  // GPU rendering
    -
    654  if (renderOutputGpu)
    -
    655  {
    -
    656  for (const auto& poseExtractor : poseExtractors)
    -
    657  {
    -
    658  poseGpuRenderers.emplace_back(std::make_shared<PoseGpuRenderer>(
    -
    659  wrapperStructPose.poseModel, poseExtractor, wrapperStructPose.renderThreshold,
    -
    660  wrapperStructPose.blendOriginalFrame, alphaKeypoint,
    -
    661  alphaHeatMap, wrapperStructPose.defaultPartToRender
    -
    662  ));
    -
    663  }
    -
    664  }
    -
    665  // CPU rendering
    -
    666  if (wrapperStructPose.renderMode == RenderMode::Cpu)
    -
    667  {
    -
    668  poseCpuRenderer = std::make_shared<PoseCpuRenderer>(
    -
    669  wrapperStructPose.poseModel, wrapperStructPose.renderThreshold,
    -
    670  wrapperStructPose.blendOriginalFrame, alphaKeypoint, alphaHeatMap,
    -
    671  wrapperStructPose.defaultPartToRender);
    -
    672  cpuRenderers.emplace_back(std::make_shared<WPoseRenderer<TDatumsPtr>>(poseCpuRenderer));
    -
    673  }
    -
    674  }
    -
    675  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    -
    676 
    -
    677  // Pose extractor(s)
    -
    678  spWPoses.resize(poseExtractors.size());
    -
    679  for (auto i = 0u; i < spWPoses.size(); i++)
    -
    680  spWPoses.at(i) = {std::make_shared<WPoseExtractor<TDatumsPtr>>(poseExtractors.at(i))};
    -
    681  }
    -
    682 
    -
    683 
    -
    684  // Face extractor(s)
    -
    685  if (wrapperStructFace.enable)
    -
    686  {
    -
    687  // Face detector
    -
    688  // OpenPose face detector
    -
    689  if (wrapperStructPose.enable)
    -
    690  {
    -
    691  const auto faceDetector = std::make_shared<FaceDetector>(wrapperStructPose.poseModel);
    -
    692  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    -
    693  spWPoses.at(gpu).emplace_back(std::make_shared<WFaceDetector<TDatumsPtr>>(faceDetector));
    -
    694  }
    -
    695  // OpenCV face detector
    -
    696  else
    -
    697  {
    -
    698  log("Body keypoint detection is disabled. Hence, using OpenCV face detector (much less"
    -
    699  " accurate but faster).", Priority::High);
    -
    700  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    -
    701  {
    -
    702  // 1 FaceDetectorOpenCV per thread, OpenCV face detector is not thread-safe
    -
    703  const auto faceDetectorOpenCV = std::make_shared<FaceDetectorOpenCV>(modelFolder);
    -
    704  spWPoses.at(gpu).emplace_back(
    -
    705  std::make_shared<WFaceDetectorOpenCV<TDatumsPtr>>(faceDetectorOpenCV)
    -
    706  );
    -
    707  }
    -
    708  }
    -
    709  // Face keypoint extractor
    -
    710  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    -
    711  {
    -
    712  // Face keypoint extractor
    -
    713  const auto netOutputSize = wrapperStructFace.netInputSize;
    -
    714  const auto faceExtractor = std::make_shared<FaceExtractorCaffe>(
    -
    715  wrapperStructFace.netInputSize, netOutputSize, modelFolder,
    -
    716  gpu + gpuNumberStart, wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
    -
    717  wrapperStructPose.enableGoogleLogging
    -
    718  );
    -
    719  spWPoses.at(gpu).emplace_back(std::make_shared<WFaceExtractor<TDatumsPtr>>(faceExtractor));
    -
    720  }
    -
    721  }
    -
    722 
    -
    723  // Hand extractor(s)
    -
    724  if (wrapperStructHand.enable)
    -
    725  {
    -
    726  const auto handDetector = std::make_shared<HandDetector>(wrapperStructPose.poseModel);
    -
    727  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    -
    728  {
    -
    729  // Hand detector
    -
    730  // If tracking
    -
    731  if (wrapperStructHand.tracking)
    -
    732  spWPoses.at(gpu).emplace_back(
    -
    733  std::make_shared<WHandDetectorTracking<TDatumsPtr>>(handDetector)
    -
    734  );
    -
    735  // If detection
    -
    736  else
    -
    737  spWPoses.at(gpu).emplace_back(std::make_shared<WHandDetector<TDatumsPtr>>(handDetector));
    -
    738  // Hand keypoint extractor
    -
    739  const auto netOutputSize = wrapperStructHand.netInputSize;
    -
    740  const auto handExtractor = std::make_shared<HandExtractorCaffe>(
    -
    741  wrapperStructHand.netInputSize, netOutputSize, modelFolder,
    -
    742  gpu + gpuNumberStart, wrapperStructHand.scalesNumber, wrapperStructHand.scaleRange,
    -
    743  wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
    -
    744  wrapperStructPose.enableGoogleLogging
    -
    745  );
    -
    746  spWPoses.at(gpu).emplace_back(
    -
    747  std::make_shared<WHandExtractor<TDatumsPtr>>(handExtractor)
    -
    748  );
    -
    749  // If tracking
    -
    750  if (wrapperStructHand.tracking)
    -
    751  spWPoses.at(gpu).emplace_back(
    -
    752  std::make_shared<WHandDetectorUpdate<TDatumsPtr>>(handDetector)
    -
    753  );
    -
    754  }
    -
    755  }
    -
    756 
    -
    757  // Pose renderer(s)
    -
    758  if (!poseGpuRenderers.empty())
    -
    759  for (auto i = 0u; i < spWPoses.size(); i++)
    -
    760  spWPoses.at(i).emplace_back(std::make_shared<WPoseRenderer<TDatumsPtr>>(
    -
    761  poseGpuRenderers.at(i)
    -
    762  ));
    -
    763 
    -
    764  // Face renderer(s)
    -
    765  if (renderFace)
    -
    766  {
    -
    767  // CPU rendering
    -
    768  if (wrapperStructFace.renderMode == RenderMode::Cpu)
    -
    769  {
    -
    770  // Construct face renderer
    -
    771  const auto faceRenderer = std::make_shared<FaceCpuRenderer>(wrapperStructFace.renderThreshold,
    -
    772  wrapperStructFace.alphaKeypoint,
    -
    773  wrapperStructFace.alphaHeatMap);
    -
    774  // Add worker
    -
    775  cpuRenderers.emplace_back(std::make_shared<WFaceRenderer<TDatumsPtr>>(faceRenderer));
    -
    776  }
    -
    777  // GPU rendering
    -
    778  else if (wrapperStructFace.renderMode == RenderMode::Gpu)
    -
    779  {
    -
    780  for (auto i = 0u; i < spWPoses.size(); i++)
    -
    781  {
    -
    782  // Construct face renderer
    -
    783  const auto faceRenderer = std::make_shared<FaceGpuRenderer>(
    -
    784  wrapperStructFace.renderThreshold, wrapperStructFace.alphaKeypoint,
    -
    785  wrapperStructFace.alphaHeatMap
    -
    786  );
    -
    787  // Performance boost -> share spGpuMemory for all renderers
    -
    788  if (!poseGpuRenderers.empty())
    -
    789  {
    -
    790  const bool isLastRenderer = !renderHandGpu;
    -
    791  const auto renderer = std::static_pointer_cast<PoseGpuRenderer>(
    -
    792  poseGpuRenderers.at(i)
    -
    793  );
    -
    794  faceRenderer->setSharedParametersAndIfLast(renderer->getSharedParameters(),
    -
    795  isLastRenderer);
    -
    796  }
    -
    797  // Add worker
    -
    798  spWPoses.at(i).emplace_back(std::make_shared<WFaceRenderer<TDatumsPtr>>(faceRenderer));
    -
    799  }
    -
    800  }
    -
    801  else
    -
    802  error("Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
    -
    803  }
    -
    804 
    -
    805  // Hand renderer(s)
    -
    806  if (renderHand)
    -
    807  {
    -
    808  // CPU rendering
    -
    809  if (wrapperStructHand.renderMode == RenderMode::Cpu)
    -
    810  {
    -
    811  // Construct hand renderer
    -
    812  const auto handRenderer = std::make_shared<HandCpuRenderer>(wrapperStructHand.renderThreshold,
    -
    813  wrapperStructHand.alphaKeypoint,
    -
    814  wrapperStructHand.alphaHeatMap);
    -
    815  // Add worker
    -
    816  cpuRenderers.emplace_back(std::make_shared<WHandRenderer<TDatumsPtr>>(handRenderer));
    -
    817  }
    -
    818  // GPU rendering
    -
    819  else if (wrapperStructHand.renderMode == RenderMode::Gpu)
    -
    820  {
    -
    821  for (auto i = 0u; i < spWPoses.size(); i++)
    -
    822  {
    -
    823  // Construct hands renderer
    -
    824  const auto handRenderer = std::make_shared<HandGpuRenderer>(
    -
    825  wrapperStructHand.renderThreshold, wrapperStructHand.alphaKeypoint,
    -
    826  wrapperStructHand.alphaHeatMap
    -
    827  );
    -
    828  // Performance boost -> share spGpuMemory for all renderers
    -
    829  if (!poseGpuRenderers.empty())
    -
    830  {
    -
    831  const bool isLastRenderer = true;
    -
    832  const auto renderer = std::static_pointer_cast<PoseGpuRenderer>(
    -
    833  poseGpuRenderers.at(i)
    -
    834  );
    -
    835  handRenderer->setSharedParametersAndIfLast(renderer->getSharedParameters(),
    -
    836  isLastRenderer);
    -
    837  }
    -
    838  // Add worker
    -
    839  spWPoses.at(i).emplace_back(std::make_shared<WHandRenderer<TDatumsPtr>>(handRenderer));
    -
    840  }
    -
    841  }
    -
    842  else
    -
    843  error("Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
    -
    844  }
    -
    845 
    -
    846  // Itermediate workers (e.g. OpenPose format to cv::Mat, json & frames recorder, ...)
    -
    847  mPostProcessingWs.clear();
    -
    848  // Frame buffer and ordering
    -
    849  if (spWPoses.size() > 1u)
    -
    850  mPostProcessingWs.emplace_back(std::make_shared<WQueueOrderer<TDatumsPtr>>());
    -
    851  // Person ID identification
    -
    852  if (wrapperStructPose.identification)
    -
    853  {
    -
    854  const auto personIdExtractor = std::make_shared<PersonIdExtractor>();
    -
    855  mPostProcessingWs.emplace_back(
    -
    856  std::make_shared<WPersonIdExtractor<TDatumsPtr>>(personIdExtractor)
    -
    857  );
    -
    858  }
    -
    859  // Frames processor (OpenPose format -> cv::Mat format)
    -
    860  if (renderOutput)
    -
    861  {
    -
    862  mPostProcessingWs = mergeVectors(mPostProcessingWs, cpuRenderers);
    -
    863  const auto opOutputToCvMat = std::make_shared<OpOutputToCvMat>();
    -
    864  mPostProcessingWs.emplace_back(std::make_shared<WOpOutputToCvMat<TDatumsPtr>>(opOutputToCvMat));
    -
    865  }
    -
    866  // Re-scale pose if desired
    -
    867  // If desired scale is not the current input
    -
    868  if (wrapperStructPose.keypointScale != ScaleMode::InputResolution
    -
    869  // and desired scale is not output when size(input) = size(output)
    -
    870  && !(wrapperStructPose.keypointScale == ScaleMode::OutputResolution &&
    -
    871  (finalOutputSize == producerSize || finalOutputSize.x <= 0 || finalOutputSize.y <= 0))
    -
    872  // and desired scale is not net output when size(input) = size(net output)
    -
    873  && !(wrapperStructPose.keypointScale == ScaleMode::NetOutputResolution
    -
    874  && producerSize == wrapperStructPose.netInputSize))
    -
    875  {
    -
    876  // Then we must rescale the keypoints
    -
    877  auto keypointScaler = std::make_shared<KeypointScaler>(wrapperStructPose.keypointScale);
    -
    878  mPostProcessingWs.emplace_back(std::make_shared<WKeypointScaler<TDatumsPtr>>(keypointScaler));
    -
    879  }
    -
    880  }
    -
    881 
    -
    882  mOutputWs.clear();
    -
    883  // Write people pose data on disk (json for OpenCV >= 3, xml, yml...)
    -
    884  if (!writeKeypointCleaned.empty())
    -
    885  {
    -
    886  const auto keypointSaver = std::make_shared<KeypointSaver>(writeKeypointCleaned,
    -
    887  wrapperStructOutput.writeKeypointFormat);
    -
    888  mOutputWs.emplace_back(std::make_shared<WPoseSaver<TDatumsPtr>>(keypointSaver));
    -
    889  if (wrapperStructFace.enable)
    -
    890  mOutputWs.emplace_back(std::make_shared<WFaceSaver<TDatumsPtr>>(keypointSaver));
    -
    891  if (wrapperStructHand.enable)
    -
    892  mOutputWs.emplace_back(std::make_shared<WHandSaver<TDatumsPtr>>(keypointSaver));
    -
    893  }
    -
    894  // Write OpenPose output data on disk in json format (body/hand/face keypoints, body part locations if
    -
    895  // enabled, etc.)
    -
    896  if (!writeJsonCleaned.empty())
    -
    897  {
    -
    898  const auto peopleJsonSaver = std::make_shared<PeopleJsonSaver>(writeJsonCleaned);
    -
    899  mOutputWs.emplace_back(std::make_shared<WPeopleJsonSaver<TDatumsPtr>>(peopleJsonSaver));
    -
    900  }
    -
    901  // Write people pose data on disk (COCO validation json format)
    -
    902  if (!wrapperStructOutput.writeCocoJson.empty())
    -
    903  {
    -
    904  // If humanFormat: bigger size (& maybe slower to process), but easier for user to read it
    -
    905  const auto humanFormat = true;
    -
    906  const auto cocoJsonSaver = std::make_shared<CocoJsonSaver>(wrapperStructOutput.writeCocoJson,
    -
    907  humanFormat);
    -
    908  mOutputWs.emplace_back(std::make_shared<WCocoJsonSaver<TDatumsPtr>>(cocoJsonSaver));
    -
    909  }
    -
    910  // Write frames as desired image format on hard disk
    -
    911  if (!writeImagesCleaned.empty())
    -
    912  {
    -
    913  const auto imageSaver = std::make_shared<ImageSaver>(writeImagesCleaned,
    -
    914  wrapperStructOutput.writeImagesFormat);
    -
    915  mOutputWs.emplace_back(std::make_shared<WImageSaver<TDatumsPtr>>(imageSaver));
    -
    916  }
    -
    917  // Write frames as *.avi video on hard disk
    -
    918  if (!wrapperStructOutput.writeVideo.empty() && wrapperStructInput.producerSharedPtr != nullptr)
    -
    919  {
    -
    920  if (finalOutputSize.x <= 0 || finalOutputSize.y <= 0)
    -
    921  error("Video can only be recorded if outputSize is fixed (e.g. video, webcam, IP camera),"
    -
    922  "but not for a image directory.", __LINE__, __FUNCTION__, __FILE__);
    -
    923  const auto originalVideoFps = (wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FPS) > 0.
    -
    924  ? wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FPS) : 30.);
    -
    925  const auto videoSaver = std::make_shared<VideoSaver>(
    -
    926  wrapperStructOutput.writeVideo, CV_FOURCC('M','J','P','G'), originalVideoFps, finalOutputSize
    -
    927  );
    -
    928  mOutputWs.emplace_back(std::make_shared<WVideoSaver<TDatumsPtr>>(videoSaver));
    -
    929  }
    -
    930  // Write heat maps as desired image format on hard disk
    -
    931  if (!writeHeatMapsCleaned.empty())
    -
    932  {
    -
    933  const auto heatMapSaver = std::make_shared<HeatMapSaver>(writeHeatMapsCleaned,
    -
    934  wrapperStructOutput.writeHeatMapsFormat);
    -
    935  mOutputWs.emplace_back(std::make_shared<WHeatMapSaver<TDatumsPtr>>(heatMapSaver));
    -
    936  }
    -
    937  // Add frame information for GUI
    -
    938  // If this WGuiInfoAdder instance is placed before the WImageSaver or WVideoSaver, then the resulting
    -
    939  // recorded frames will look exactly as the final displayed image by the GUI
    -
    940  if (wrapperStructOutput.guiVerbose && (wrapperStructOutput.displayGui || !mUserOutputWs.empty()
    -
    941  || mThreadManagerMode == ThreadManagerMode::Asynchronous
    -
    942  || mThreadManagerMode == ThreadManagerMode::AsynchronousOut))
    -
    943  {
    -
    944  const auto guiInfoAdder = std::make_shared<GuiInfoAdder>(numberThreads, wrapperStructOutput.displayGui);
    -
    945  mOutputWs.emplace_back(std::make_shared<WGuiInfoAdder<TDatumsPtr>>(guiInfoAdder));
    -
    946  }
    -
    947  // Minimal graphical user interface (GUI)
    -
    948  spWGui = nullptr;
    -
    949  if (wrapperStructOutput.displayGui)
    -
    950  {
    -
    951  // PoseRenderers to Renderers
    -
    952  std::vector<std::shared_ptr<Renderer>> renderers;
    -
    953  if (wrapperStructPose.renderMode == RenderMode::Cpu)
    -
    954  renderers.emplace_back(std::static_pointer_cast<Renderer>(poseCpuRenderer));
    -
    955  else
    -
    956  for (const auto& poseGpuRenderer : poseGpuRenderers)
    -
    957  renderers.emplace_back(std::static_pointer_cast<Renderer>(poseGpuRenderer));
    -
    958  // Gui
    -
    959  const auto gui = std::make_shared<Gui>(
    -
    960  finalOutputSize, wrapperStructOutput.fullScreen, mThreadManager.getIsRunningSharedPtr(),
    -
    961  spVideoSeek, poseExtractors, renderers
    -
    962  );
    -
    963  // WGui
    -
    964  spWGui = {std::make_shared<WGui<TDatumsPtr>>(gui)};
    -
    965  }
    -
    966  // Set wrapper as configured
    -
    967  mConfigured = true;
    -
    968  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    -
    969  }
    -
    970  catch (const std::exception& e)
    -
    971  {
    -
    972  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    973  }
    -
    974  }
    -
    975 
    -
    976  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    978  {
    -
    979  try
    -
    980  {
    -
    981  configureThreadManager();
    -
    982  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    -
    983  mThreadManager.exec();
    -
    984  }
    -
    985  catch (const std::exception& e)
    -
    986  {
    -
    987  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    988  }
    -
    989  }
    -
    990 
    -
    991  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    993  {
    -
    994  try
    -
    995  {
    -
    996  configureThreadManager();
    -
    997  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    -
    998  mThreadManager.start();
    -
    999  }
    -
    1000  catch (const std::exception& e)
    -
    1001  {
    -
    1002  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1003  }
    -
    1004  }
    -
    1005 
    -
    1006  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    1008  {
    -
    1009  try
    -
    1010  {
    -
    1011  mThreadManager.stop();
    -
    1012  }
    -
    1013  catch (const std::exception& e)
    -
    1014  {
    -
    1015  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1016  }
    -
    1017  }
    -
    1018 
    -
    1019  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    1021  {
    -
    1022  try
    -
    1023  {
    -
    1024  return mThreadManager.isRunning();
    -
    1025  }
    -
    1026  catch (const std::exception& e)
    -
    1027  {
    -
    1028  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1029  return false;
    -
    1030  }
    -
    1031  }
    -
    1032 
    -
    1033  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1034  bool Wrapper<TDatums, TWorker, TQueue>::tryEmplace(std::shared_ptr<TDatums>& tDatums)
    -
    1035  {
    -
    1036  try
    -
    1037  {
    -
    1038  if (!mUserInputWs.empty())
    -
    1039  error("Emplace cannot be called if an input worker was already selected.",
    -
    1040  __LINE__, __FUNCTION__, __FILE__);
    -
    1041  return mThreadManager.tryEmplace(tDatums);
    -
    1042  }
    -
    1043  catch (const std::exception& e)
    -
    1044  {
    -
    1045  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1046  return false;
    -
    1047  }
    -
    1048  }
    -
    1049 
    -
    1050  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1051  bool Wrapper<TDatums, TWorker, TQueue>::waitAndEmplace(std::shared_ptr<TDatums>& tDatums)
    -
    1052  {
    -
    1053  try
    -
    1054  {
    -
    1055  if (!mUserInputWs.empty())
    -
    1056  error("Emplace cannot be called if an input worker was already selected.",
    -
    1057  __LINE__, __FUNCTION__, __FILE__);
    -
    1058  return mThreadManager.waitAndEmplace(tDatums);
    -
    1059  }
    -
    1060  catch (const std::exception& e)
    -
    1061  {
    -
    1062  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1063  return false;
    -
    1064  }
    -
    1065  }
    -
    1066 
    -
    1067  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1068  bool Wrapper<TDatums, TWorker, TQueue>::tryPush(const std::shared_ptr<TDatums>& tDatums)
    -
    1069  {
    -
    1070  try
    -
    1071  {
    -
    1072  if (!mUserInputWs.empty())
    -
    1073  error("Push cannot be called if an input worker was already selected.",
    -
    1074  __LINE__, __FUNCTION__, __FILE__);
    -
    1075  return mThreadManager.tryPush(tDatums);
    -
    1076  }
    -
    1077  catch (const std::exception& e)
    -
    1078  {
    -
    1079  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1080  return false;
    -
    1081  }
    -
    1082  }
    -
    1083 
    -
    1084  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1085  bool Wrapper<TDatums, TWorker, TQueue>::waitAndPush(const std::shared_ptr<TDatums>& tDatums)
    -
    1086  {
    -
    1087  try
    -
    1088  {
    -
    1089  if (!mUserInputWs.empty())
    -
    1090  error("Push cannot be called if an input worker was already selected.",
    -
    1091  __LINE__, __FUNCTION__, __FILE__);
    -
    1092  return mThreadManager.waitAndPush(tDatums);
    -
    1093  }
    -
    1094  catch (const std::exception& e)
    -
    1095  {
    -
    1096  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1097  return false;
    -
    1098  }
    -
    1099  }
    -
    1100 
    -
    1101  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1102  bool Wrapper<TDatums, TWorker, TQueue>::tryPop(std::shared_ptr<TDatums>& tDatums)
    -
    1103  {
    -
    1104  try
    -
    1105  {
    -
    1106  if (!mUserOutputWs.empty())
    -
    1107  error("Pop cannot be called if an output worker was already selected.",
    -
    1108  __LINE__, __FUNCTION__, __FILE__);
    -
    1109  return mThreadManager.tryPop(tDatums);
    -
    1110  }
    -
    1111  catch (const std::exception& e)
    -
    1112  {
    -
    1113  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1114  return false;
    -
    1115  }
    -
    1116  }
    -
    1117 
    -
    1118  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1119  bool Wrapper<TDatums, TWorker, TQueue>::waitAndPop(std::shared_ptr<TDatums>& tDatums)
    -
    1120  {
    -
    1121  try
    -
    1122  {
    -
    1123  if (!mUserOutputWs.empty())
    -
    1124  error("Pop cannot be called if an output worker was already selected.",
    -
    1125  __LINE__, __FUNCTION__, __FILE__);
    -
    1126  return mThreadManager.waitAndPop(tDatums);
    -
    1127  }
    -
    1128  catch (const std::exception& e)
    -
    1129  {
    -
    1130  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1131  return false;
    -
    1132  }
    -
    1133  }
    -
    1134 
    -
    1135  template<typename TDatums, typename TWorker, typename TQueue>
    - -
    1137  {
    -
    1138  try
    -
    1139  {
    -
    1140  mConfigured = false;
    -
    1141  mThreadManager.reset();
    -
    1142  mThreadId = 0ull;
    -
    1143  // Reset
    -
    1144  mUserInputWs.clear();
    -
    1145  wDatumProducer = nullptr;
    -
    1146  spWScaleAndSizeExtractor = nullptr;
    -
    1147  spWCvMatToOpInput = nullptr;
    -
    1148  spWCvMatToOpOutput = nullptr;
    -
    1149  spWPoses.clear();
    -
    1150  mPostProcessingWs.clear();
    -
    1151  mUserPostProcessingWs.clear();
    -
    1152  mOutputWs.clear();
    -
    1153  spWGui = nullptr;
    -
    1154  mUserOutputWs.clear();
    -
    1155  }
    -
    1156  catch (const std::exception& e)
    -
    1157  {
    -
    1158  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1159  }
    -
    1160  }
    -
    1161 
    -
    1162  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1163  void Wrapper<TDatums, TWorker, TQueue>::configureThreadManager()
    -
    1164  {
    -
    1165  try
    -
    1166  {
    -
    1167  // The less number of queues -> the less lag
    -
    1168 
    -
    1169  // Security checks
    -
    1170  if (!mConfigured)
    -
    1171  error("Configure the Wrapper class before calling `start()`.", __LINE__, __FUNCTION__, __FILE__);
    -
    1172  if ((wDatumProducer == nullptr) == (mUserInputWs.empty())
    -
    1173  && mThreadManagerMode != ThreadManagerMode::Asynchronous
    -
    1174  && mThreadManagerMode != ThreadManagerMode::AsynchronousIn)
    -
    1175  {
    -
    1176  const auto message = "You need to have 1 and only 1 producer selected. You can introduce your own"
    -
    1177  " producer by using setWorkerInput() or use the OpenPose default producer by"
    -
    1178  " configuring it in the configure function) or use the"
    -
    1179  " ThreadManagerMode::Asynchronous(In) mode.";
    -
    1180  error(message, __LINE__, __FUNCTION__, __FILE__);
    -
    1181  }
    -
    1182  if (mOutputWs.empty() && mUserOutputWs.empty() && spWGui == nullptr
    -
    1183  && mThreadManagerMode != ThreadManagerMode::Asynchronous
    -
    1184  && mThreadManagerMode != ThreadManagerMode::AsynchronousOut)
    -
    1185  {
    -
    1186  error("No output selected.", __LINE__, __FUNCTION__, __FILE__);
    -
    1187  }
    -
    1188 
    -
    1189  // Thread Manager:
    -
    1190  // Clean previous thread manager (avoid configure to crash the program if used more than once)
    -
    1191  mThreadManager.reset();
    -
    1192  mThreadId = 0ull;
    -
    1193  auto queueIn = 0ull;
    -
    1194  auto queueOut = 1ull;
    -
    1195  // If custom user Worker and uses its own thread
    -
    1196  spWIdGenerator = std::make_shared<WIdGenerator<std::shared_ptr<TDatums>>>();
    -
    1197  if (!mUserInputWs.empty() && mUserInputWsOnNewThread)
    -
    1198  {
    -
    1199  // Thread 0, queues 0 -> 1
    -
    1200  mThreadManager.add(mThreadId, mUserInputWs, queueIn++, queueOut++);
    -
    1201  if (spWScaleAndSizeExtractor != nullptr && spWCvMatToOpInput != nullptr)
    -
    1202  {
    -
    1203  threadIdPP();
    -
    1204  // Thread 1, queues 1 -> 2
    -
    1205  if (spWCvMatToOpOutput == nullptr)
    -
    1206  mThreadManager.add(mThreadId, {spWIdGenerator, spWScaleAndSizeExtractor, spWCvMatToOpInput},
    -
    1207  queueIn++, queueOut++);
    -
    1208  else
    -
    1209  mThreadManager.add(mThreadId, {spWIdGenerator, spWScaleAndSizeExtractor, spWCvMatToOpInput,
    -
    1210  spWCvMatToOpOutput}, queueIn++, queueOut++);
    -
    1211  }
    -
    1212  else
    -
    1213  mThreadManager.add(mThreadId, spWIdGenerator, queueIn++, queueOut++);
    -
    1214  }
    -
    1215  // If custom user Worker in same thread or producer on same thread
    -
    1216  else
    -
    1217  {
    -
    1218  std::vector<TWorker> workersAux;
    -
    1219  // Custom user Worker
    -
    1220  if (!mUserInputWs.empty())
    -
    1221  workersAux = mergeVectors(workersAux, mUserInputWs);
    -
    1222  // OpenPose producer
    -
    1223  else if (wDatumProducer != nullptr)
    -
    1224  workersAux = mergeVectors(workersAux, {wDatumProducer});
    -
    1225  // Otherwise
    -
    1226  else if (mThreadManagerMode != ThreadManagerMode::Asynchronous
    -
    1227  && mThreadManagerMode != ThreadManagerMode::AsynchronousIn)
    -
    1228  error("No input selected.", __LINE__, __FUNCTION__, __FILE__);
    -
    1229  // ID generator
    -
    1230  workersAux = mergeVectors(workersAux, {spWIdGenerator});
    -
    1231  // Scale & cv::Mat to OP format
    -
    1232  if (spWScaleAndSizeExtractor != nullptr && spWCvMatToOpInput != nullptr)
    -
    1233  workersAux = mergeVectors(workersAux, {spWScaleAndSizeExtractor,
    -
    1234  spWCvMatToOpInput});
    -
    1235  // cv::Mat to output format
    -
    1236  if (spWCvMatToOpOutput != nullptr)
    -
    1237  workersAux = mergeVectors(workersAux, {spWCvMatToOpOutput});
    -
    1238  // Thread 0 or 1, queues 0 -> 1
    -
    1239  mThreadManager.add(mThreadId, workersAux, queueIn++, queueOut++);
    -
    1240  }
    -
    1241  threadIdPP();
    -
    1242  // Pose estimation & rendering
    -
    1243  // Thread 1 or 2...X, queues 1 -> 2, X = 2 + #GPUs
    -
    1244  if (!spWPoses.empty())
    -
    1245  {
    -
    1246  if (mMultiThreadEnabled)
    -
    1247  {
    -
    1248  for (auto& wPose : spWPoses)
    -
    1249  {
    -
    1250  mThreadManager.add(mThreadId, wPose, queueIn, queueOut);
    -
    1251  threadIdPP();
    -
    1252  }
    -
    1253  }
    -
    1254  else
    -
    1255  {
    -
    1256  if (spWPoses.size() > 1)
    -
    1257  log("Multi-threading disabled, only 1 thread running. All GPUs have been disabled but the"
    -
    1258  " first one, which is defined by gpuNumberStart (e.g. in the OpenPose demo, it is set"
    -
    1259  " with the `--num_gpu_start` flag).", Priority::High);
    -
    1260  mThreadManager.add(mThreadId, spWPoses.at(0), queueIn, queueOut);
    -
    1261  }
    -
    1262  queueIn++;
    -
    1263  queueOut++;
    -
    1264  }
    -
    1265  // If custom user Worker and uses its own thread
    -
    1266  if (!mUserPostProcessingWs.empty() && mUserPostProcessingWsOnNewThread)
    -
    1267  {
    -
    1268  // Post processing workers
    -
    1269  if (!mPostProcessingWs.empty())
    -
    1270  {
    -
    1271  // Thread 2 or 3, queues 2 -> 3
    -
    1272  mThreadManager.add(mThreadId, mPostProcessingWs, queueIn++, queueOut++);
    -
    1273  threadIdPP();
    -
    1274  }
    -
    1275  // User processing workers
    -
    1276  // Thread 3 or 4, queues 3 -> 4
    -
    1277  mThreadManager.add(mThreadId, mUserPostProcessingWs, queueIn++, queueOut++);
    -
    1278  threadIdPP();
    -
    1279  // Output workers
    -
    1280  if (!mOutputWs.empty())
    -
    1281  {
    -
    1282  // Thread 4 or 5, queues 4 -> 5
    -
    1283  mThreadManager.add(mThreadId, mOutputWs, queueIn++, queueOut++);
    -
    1284  threadIdPP();
    -
    1285  }
    -
    1286  }
    -
    1287  // If custom user Worker in same thread or producer on same thread
    -
    1288  else
    -
    1289  {
    -
    1290  // Post processing workers + User post processing workers + Output workers
    -
    1291  auto workersAux = mergeVectors(mPostProcessingWs, mUserPostProcessingWs);
    -
    1292  workersAux = mergeVectors(workersAux, mOutputWs);
    -
    1293  if (!workersAux.empty())
    -
    1294  {
    -
    1295  // Thread 2 or 3, queues 2 -> 3
    -
    1296  mThreadManager.add(mThreadId, workersAux, queueIn++, queueOut++);
    -
    1297  threadIdPP();
    -
    1298  }
    -
    1299  }
    -
    1300  // User output worker
    -
    1301  // Thread Y, queues Q -> Q+1
    -
    1302  if (!mUserOutputWs.empty())
    -
    1303  {
    -
    1304  if (mUserOutputWsOnNewThread)
    -
    1305  {
    -
    1306  mThreadManager.add(mThreadId, mUserOutputWs, queueIn++, queueOut++);
    -
    1307  threadIdPP();
    -
    1308  }
    -
    1309  else
    -
    1310  mThreadManager.add(mThreadId-1, mUserOutputWs, queueIn++, queueOut++);
    -
    1311  }
    -
    1312  // OpenPose GUI
    -
    1313  if (spWGui != nullptr)
    -
    1314  {
    -
    1315  // Thread Y+1, queues Q+1 -> Q+2
    -
    1316  mThreadManager.add(mThreadId, spWGui, queueIn++, queueOut++);
    -
    1317  threadIdPP();
    -
    1318  }
    -
    1319  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    -
    1320  }
    -
    1321  catch (const std::exception& e)
    -
    1322  {
    -
    1323  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1324  }
    -
    1325  }
    -
    1326 
    -
    1327  template<typename TDatums, typename TWorker, typename TQueue>
    -
    1328  unsigned long long Wrapper<TDatums, TWorker, TQueue>::threadIdPP()
    -
    1329  {
    -
    1330  try
    -
    1331  {
    -
    1332  if (mMultiThreadEnabled)
    -
    1333  mThreadId++;
    -
    1334  return mThreadId;
    -
    1335  }
    -
    1336  catch (const std::exception& e)
    -
    1337  {
    -
    1338  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    -
    1339  return 0ull;
    -
    1340  }
    -
    1341  }
    -
    1342 
    -
    1343  extern template class Wrapper<DATUM_BASE_NO_PTR>;
    -
    1344 }
    -
    1345 
    -
    1346 #endif // OPENPOSE_WRAPPER_WRAPPER_HPP
    + +
    274 namespace op
    +
    275 {
    +
    276  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    278  mThreadManagerMode{threadManagerMode},
    +
    279  spVideoSeek{std::make_shared<std::pair<std::atomic<bool>, std::atomic<int>>>()},
    +
    280  mConfigured{false},
    +
    281  mThreadManager{threadManagerMode},
    +
    282  mMultiThreadEnabled{true}
    +
    283  {
    +
    284  try
    +
    285  {
    +
    286  // It cannot be directly included in the constructor (compiler error for copying std::atomic)
    +
    287  spVideoSeek->first = false;
    +
    288  spVideoSeek->second = 0;
    +
    289  }
    +
    290  catch (const std::exception& e)
    +
    291  {
    +
    292  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    293  }
    +
    294  }
    +
    295 
    +
    296  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    298  {
    +
    299  try
    +
    300  {
    +
    301  stop();
    +
    302  reset();
    +
    303  }
    +
    304  catch (const std::exception& e)
    +
    305  {
    +
    306  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    307  }
    +
    308  }
    +
    309 
    +
    310  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    312  {
    +
    313  try
    +
    314  {
    +
    315  mMultiThreadEnabled = false;
    +
    316  }
    +
    317  catch (const std::exception& e)
    +
    318  {
    +
    319  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    320  }
    +
    321  }
    +
    322 
    +
    323  template<typename TDatums, typename TWorker, typename TQueue>
    +
    324  void Wrapper<TDatums, TWorker, TQueue>::setWorkerInput(const TWorker& worker, const bool workerOnNewThread)
    +
    325  {
    +
    326  try
    +
    327  {
    +
    328  mUserInputWs.clear();
    +
    329  if (worker == nullptr)
    +
    330  error("Your worker is a nullptr.", __LINE__, __FILE__, __FUNCTION__);
    +
    331  mUserInputWs.emplace_back(worker);
    +
    332  mUserInputWsOnNewThread = {workerOnNewThread};
    +
    333  }
    +
    334  catch (const std::exception& e)
    +
    335  {
    +
    336  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    337  }
    +
    338  }
    +
    339 
    +
    340  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    342  const bool workerOnNewThread)
    +
    343  {
    +
    344  try
    +
    345  {
    +
    346  mUserPostProcessingWs.clear();
    +
    347  if (worker == nullptr)
    +
    348  error("Your worker is a nullptr.", __LINE__, __FILE__, __FUNCTION__);
    +
    349  mUserPostProcessingWs.emplace_back(worker);
    +
    350  mUserPostProcessingWsOnNewThread = {workerOnNewThread};
    +
    351  }
    +
    352  catch (const std::exception& e)
    +
    353  {
    +
    354  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    355  }
    +
    356  }
    +
    357 
    +
    358  template<typename TDatums, typename TWorker, typename TQueue>
    +
    359  void Wrapper<TDatums, TWorker, TQueue>::setWorkerOutput(const TWorker& worker, const bool workerOnNewThread)
    +
    360  {
    +
    361  try
    +
    362  {
    +
    363  mUserOutputWs.clear();
    +
    364  if (worker == nullptr)
    +
    365  error("Your worker is a nullptr.", __LINE__, __FILE__, __FUNCTION__);
    +
    366  mUserOutputWs.emplace_back(worker);
    +
    367  mUserOutputWsOnNewThread = {workerOnNewThread};
    +
    368  }
    +
    369  catch (const std::exception& e)
    +
    370  {
    +
    371  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    372  }
    +
    373  }
    +
    374 
    +
    375  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    377  const WrapperStructInput& wrapperStructInput,
    +
    378  const WrapperStructOutput& wrapperStructOutput)
    +
    379  {
    +
    380  try
    +
    381  {
    +
    382  configure(wrapperStructPose, WrapperStructFace{}, WrapperStructHand{},
    +
    383  wrapperStructInput, wrapperStructOutput);
    +
    384  }
    +
    385  catch (const std::exception& e)
    +
    386  {
    +
    387  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    388  }
    +
    389  }
    +
    390 
    +
    391  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    393  const WrapperStructFace& wrapperStructFace,
    +
    394  const WrapperStructInput& wrapperStructInput,
    +
    395  const WrapperStructOutput& wrapperStructOutput)
    +
    396  {
    +
    397  try
    +
    398  {
    +
    399  configure(wrapperStructPose, wrapperStructFace, WrapperStructHand{},
    +
    400  wrapperStructInput, wrapperStructOutput);
    +
    401  }
    +
    402  catch (const std::exception& e)
    +
    403  {
    +
    404  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    405  }
    +
    406  }
    +
    407 
    +
    408  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    410  const WrapperStructHand& wrapperStructHand,
    +
    411  const WrapperStructInput& wrapperStructInput,
    +
    412  const WrapperStructOutput& wrapperStructOutput)
    +
    413  {
    +
    414  try
    +
    415  {
    +
    416  configure(wrapperStructPose, WrapperStructFace{}, wrapperStructHand,
    +
    417  wrapperStructInput, wrapperStructOutput);
    +
    418  }
    +
    419  catch (const std::exception& e)
    +
    420  {
    +
    421  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    422  }
    +
    423  }
    +
    424 
    +
    425  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    427  const WrapperStructFace& wrapperStructFace,
    +
    428  const WrapperStructHand& wrapperStructHand,
    +
    429  const WrapperStructInput& wrapperStructInput,
    +
    430  const WrapperStructOutput& wrapperStructOutput)
    +
    431  {
    +
    432  try
    +
    433  {
    +
    434  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    +
    435 
    +
    436  // Shortcut
    +
    437  typedef std::shared_ptr<TDatums> TDatumsPtr;
    +
    438 
    +
    439  // Required parameters
    +
    440  const auto renderOutput = wrapperStructPose.renderMode != RenderMode::None
    +
    441  || wrapperStructFace.renderMode != RenderMode::None
    +
    442  || wrapperStructHand.renderMode != RenderMode::None;
    +
    443  const auto renderOutputGpu = wrapperStructPose.renderMode == RenderMode::Gpu
    +
    444  || wrapperStructFace.renderMode == RenderMode::Gpu
    +
    445  || wrapperStructHand.renderMode == RenderMode::Gpu;
    +
    446  const auto renderFace = wrapperStructFace.enable && wrapperStructFace.renderMode != RenderMode::None;
    +
    447  const auto renderHand = wrapperStructHand.enable && wrapperStructHand.renderMode != RenderMode::None;
    +
    448  const auto renderHandGpu = wrapperStructHand.enable && wrapperStructHand.renderMode == RenderMode::Gpu;
    +
    449 
    +
    450  // Check no wrong/contradictory flags enabled
    +
    451  const auto userOutputWsEmpty = mUserOutputWs.empty();
    +
    452  wrapperConfigureSecurityChecks(wrapperStructPose, wrapperStructFace, wrapperStructHand, wrapperStructInput,
    +
    453  wrapperStructOutput, renderOutput, userOutputWsEmpty, mThreadManagerMode);
    +
    454 
    +
    455  // Get number threads
    +
    456  // CPU --> 1 thread or no pose extraction
    +
    457  #ifdef CPU_ONLY
    +
    458  const auto numberThreads = (wrapperStructPose.gpuNumber == 0 ? 0 : 1);
    +
    459  const auto gpuNumberStart = 0;
    +
    460  // Disabling multi-thread makes the code 400 ms faster (2.3 sec vs. 2.7 in i7-6850K)
    +
    461  // and fixes the bug that the screen was not properly displayed and only refreshed sometimes
    +
    462  // Note: The screen bug could be also fixed by using waitKey(30) rather than waitKey(1)
    +
    463  disableMultiThreading();
    +
    464  // GPU --> user picks (<= #GPUs)
    +
    465  #else
    +
    466  auto numberThreads = wrapperStructPose.gpuNumber;
    +
    467  const auto gpuNumberStart = wrapperStructPose.gpuNumberStart;
    +
    468  // If number GPU < 0 --> set it to all the available GPUs
    +
    469  if (numberThreads < 0)
    +
    470  {
    +
    471  // Get total number GPUs
    +
    472  const auto totalGpuNumber = getGpuNumber();
    +
    473  if (totalGpuNumber <= gpuNumberStart)
    +
    474  error("Number of initial GPUs (`--number_gpu_start`) must be lower than the total number of used"
    +
    475  " GPUs (`--number_gpu`)", __LINE__, __FUNCTION__, __FILE__);
    +
    476  numberThreads = totalGpuNumber - gpuNumberStart;
    +
    477  // Reset initial GPU to 0 (we want them all)
    +
    478  // Logging message
    +
    479  log("Auto-detecting all available GPUs... Detected " + std::to_string(totalGpuNumber)
    +
    480  + " GPU(s), using " + std::to_string(numberThreads) + " of them starting at GPU "
    +
    481  + std::to_string(gpuNumberStart) + ".", Priority::High);
    +
    482  }
    +
    483  #endif
    +
    484 
    +
    485  // Proper format
    +
    486  const auto writeImagesCleaned = formatAsDirectory(wrapperStructOutput.writeImages);
    +
    487  const auto writeKeypointCleaned = formatAsDirectory(wrapperStructOutput.writeKeypoint);
    +
    488  const auto writeJsonCleaned = formatAsDirectory(wrapperStructOutput.writeJson);
    +
    489  const auto writeHeatMapsCleaned = formatAsDirectory(wrapperStructOutput.writeHeatMaps);
    +
    490  const auto modelFolder = formatAsDirectory(wrapperStructPose.modelFolder);
    +
    491 
    +
    492  // Common parameters
    +
    493  auto finalOutputSize = wrapperStructPose.outputSize;
    +
    494  Point<int> producerSize{-1,-1};
    +
    495  if (wrapperStructInput.producerSharedPtr != nullptr)
    +
    496  {
    +
    497  // 1. Set producer properties
    +
    498  const auto displayProducerFpsMode = (wrapperStructInput.realTimeProcessing
    + +
    500  wrapperStructInput.producerSharedPtr->setProducerFpsMode(displayProducerFpsMode);
    +
    501  wrapperStructInput.producerSharedPtr->set(ProducerProperty::Flip, wrapperStructInput.frameFlip);
    +
    502  wrapperStructInput.producerSharedPtr->set(ProducerProperty::Rotation, wrapperStructInput.frameRotate);
    +
    503  wrapperStructInput.producerSharedPtr->set(ProducerProperty::AutoRepeat,
    +
    504  wrapperStructInput.framesRepeat);
    +
    505  // 2. Set finalOutputSize
    +
    506  producerSize = Point<int>{(int)wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FRAME_WIDTH),
    +
    507  (int)wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FRAME_HEIGHT)};
    +
    508  // Set finalOutputSize to input size if desired
    +
    509  if (finalOutputSize.x == -1 || finalOutputSize.y == -1)
    +
    510  finalOutputSize = producerSize;
    +
    511  }
    +
    512 
    +
    513  // Producer
    +
    514  if (wrapperStructInput.producerSharedPtr != nullptr)
    +
    515  {
    +
    516  const auto datumProducer = std::make_shared<DatumProducer<TDatums>>(
    +
    517  wrapperStructInput.producerSharedPtr, wrapperStructInput.frameFirst, wrapperStructInput.frameLast,
    +
    518  spVideoSeek
    +
    519  );
    +
    520  wDatumProducer = std::make_shared<WDatumProducer<TDatumsPtr, TDatums>>(datumProducer);
    +
    521  }
    +
    522  else
    +
    523  wDatumProducer = nullptr;
    +
    524 
    +
    525  std::vector<std::shared_ptr<PoseExtractor>> poseExtractors;
    +
    526  std::vector<std::shared_ptr<PoseGpuRenderer>> poseGpuRenderers;
    +
    527  std::shared_ptr<PoseCpuRenderer> poseCpuRenderer;
    +
    528  if (numberThreads > 0)
    +
    529  {
    +
    530  // Get input scales and sizes
    +
    531  const auto scaleAndSizeExtractor = std::make_shared<ScaleAndSizeExtractor>(
    +
    532  wrapperStructPose.netInputSize, finalOutputSize, wrapperStructPose.scalesNumber,
    +
    533  wrapperStructPose.scaleGap
    +
    534  );
    +
    535  spWScaleAndSizeExtractor = std::make_shared<WScaleAndSizeExtractor<TDatumsPtr>>(scaleAndSizeExtractor);
    +
    536 
    +
    537  // Input cvMat to OpenPose input & output format
    +
    538  const auto cvMatToOpInput = std::make_shared<CvMatToOpInput>();
    +
    539  spWCvMatToOpInput = std::make_shared<WCvMatToOpInput<TDatumsPtr>>(cvMatToOpInput);
    +
    540  if (renderOutput)
    +
    541  {
    +
    542  const auto cvMatToOpOutput = std::make_shared<CvMatToOpOutput>();
    +
    543  spWCvMatToOpOutput = std::make_shared<WCvMatToOpOutput<TDatumsPtr>>(cvMatToOpOutput);
    +
    544  }
    +
    545 
    +
    546  // Pose estimators & renderers
    +
    547  std::vector<TWorker> cpuRenderers;
    +
    548  spWPoses.clear();
    +
    549  spWPoses.resize(numberThreads);
    +
    550  if (wrapperStructPose.enable)
    +
    551  {
    +
    552  // Pose estimators
    +
    553  for (auto gpuId = 0; gpuId < numberThreads; gpuId++)
    +
    554  poseExtractors.emplace_back(std::make_shared<PoseExtractorCaffe>(
    +
    555  wrapperStructPose.poseModel, modelFolder, gpuId + gpuNumberStart,
    +
    556  wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
    +
    557  wrapperStructPose.addPartCandidates, wrapperStructPose.enableGoogleLogging
    +
    558  ));
    +
    559 
    +
    560  // Pose renderers
    +
    561  if (renderOutputGpu || wrapperStructPose.renderMode == RenderMode::Cpu)
    +
    562  {
    +
    563  // If wrapperStructPose.renderMode != RenderMode::Gpu but renderOutput, then we create an
    +
    564  // alpha = 0 pose renderer in order to keep the removing background option
    +
    565  const auto alphaKeypoint = (wrapperStructPose.renderMode != RenderMode::None
    +
    566  ? wrapperStructPose.alphaKeypoint : 0.f);
    +
    567  const auto alphaHeatMap = (wrapperStructPose.renderMode != RenderMode::None
    +
    568  ? wrapperStructPose.alphaHeatMap : 0.f);
    +
    569  // GPU rendering
    +
    570  if (renderOutputGpu)
    +
    571  {
    +
    572  for (const auto& poseExtractor : poseExtractors)
    +
    573  {
    +
    574  poseGpuRenderers.emplace_back(std::make_shared<PoseGpuRenderer>(
    +
    575  wrapperStructPose.poseModel, poseExtractor, wrapperStructPose.renderThreshold,
    +
    576  wrapperStructPose.blendOriginalFrame, alphaKeypoint,
    +
    577  alphaHeatMap, wrapperStructPose.defaultPartToRender
    +
    578  ));
    +
    579  }
    +
    580  }
    +
    581  // CPU rendering
    +
    582  if (wrapperStructPose.renderMode == RenderMode::Cpu)
    +
    583  {
    +
    584  poseCpuRenderer = std::make_shared<PoseCpuRenderer>(
    +
    585  wrapperStructPose.poseModel, wrapperStructPose.renderThreshold,
    +
    586  wrapperStructPose.blendOriginalFrame, alphaKeypoint, alphaHeatMap,
    +
    587  wrapperStructPose.defaultPartToRender);
    +
    588  cpuRenderers.emplace_back(std::make_shared<WPoseRenderer<TDatumsPtr>>(poseCpuRenderer));
    +
    589  }
    +
    590  }
    +
    591  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    +
    592 
    +
    593  // Pose extractor(s)
    +
    594  spWPoses.resize(poseExtractors.size());
    +
    595  for (auto i = 0u; i < spWPoses.size(); i++)
    +
    596  spWPoses.at(i) = {std::make_shared<WPoseExtractor<TDatumsPtr>>(poseExtractors.at(i))};
    +
    597  }
    +
    598 
    +
    599 
    +
    600  // Face extractor(s)
    +
    601  if (wrapperStructFace.enable)
    +
    602  {
    +
    603  // Face detector
    +
    604  // OpenPose face detector
    +
    605  if (wrapperStructPose.enable)
    +
    606  {
    +
    607  const auto faceDetector = std::make_shared<FaceDetector>(wrapperStructPose.poseModel);
    +
    608  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    +
    609  spWPoses.at(gpu).emplace_back(std::make_shared<WFaceDetector<TDatumsPtr>>(faceDetector));
    +
    610  }
    +
    611  // OpenCV face detector
    +
    612  else
    +
    613  {
    +
    614  log("Body keypoint detection is disabled. Hence, using OpenCV face detector (much less"
    +
    615  " accurate but faster).", Priority::High);
    +
    616  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    +
    617  {
    +
    618  // 1 FaceDetectorOpenCV per thread, OpenCV face detector is not thread-safe
    +
    619  const auto faceDetectorOpenCV = std::make_shared<FaceDetectorOpenCV>(modelFolder);
    +
    620  spWPoses.at(gpu).emplace_back(
    +
    621  std::make_shared<WFaceDetectorOpenCV<TDatumsPtr>>(faceDetectorOpenCV)
    +
    622  );
    +
    623  }
    +
    624  }
    +
    625  // Face keypoint extractor
    +
    626  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    +
    627  {
    +
    628  // Face keypoint extractor
    +
    629  const auto netOutputSize = wrapperStructFace.netInputSize;
    +
    630  const auto faceExtractor = std::make_shared<FaceExtractorCaffe>(
    +
    631  wrapperStructFace.netInputSize, netOutputSize, modelFolder,
    +
    632  gpu + gpuNumberStart, wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
    +
    633  wrapperStructPose.enableGoogleLogging
    +
    634  );
    +
    635  spWPoses.at(gpu).emplace_back(std::make_shared<WFaceExtractor<TDatumsPtr>>(faceExtractor));
    +
    636  }
    +
    637  }
    +
    638 
    +
    639  // Hand extractor(s)
    +
    640  if (wrapperStructHand.enable)
    +
    641  {
    +
    642  const auto handDetector = std::make_shared<HandDetector>(wrapperStructPose.poseModel);
    +
    643  for (auto gpu = 0u; gpu < spWPoses.size(); gpu++)
    +
    644  {
    +
    645  // Hand detector
    +
    646  // If tracking
    +
    647  if (wrapperStructHand.tracking)
    +
    648  spWPoses.at(gpu).emplace_back(
    +
    649  std::make_shared<WHandDetectorTracking<TDatumsPtr>>(handDetector)
    +
    650  );
    +
    651  // If detection
    +
    652  else
    +
    653  spWPoses.at(gpu).emplace_back(std::make_shared<WHandDetector<TDatumsPtr>>(handDetector));
    +
    654  // Hand keypoint extractor
    +
    655  const auto netOutputSize = wrapperStructHand.netInputSize;
    +
    656  const auto handExtractor = std::make_shared<HandExtractorCaffe>(
    +
    657  wrapperStructHand.netInputSize, netOutputSize, modelFolder,
    +
    658  gpu + gpuNumberStart, wrapperStructHand.scalesNumber, wrapperStructHand.scaleRange,
    +
    659  wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
    +
    660  wrapperStructPose.enableGoogleLogging
    +
    661  );
    +
    662  spWPoses.at(gpu).emplace_back(
    +
    663  std::make_shared<WHandExtractor<TDatumsPtr>>(handExtractor)
    +
    664  );
    +
    665  // If tracking
    +
    666  if (wrapperStructHand.tracking)
    +
    667  spWPoses.at(gpu).emplace_back(
    +
    668  std::make_shared<WHandDetectorUpdate<TDatumsPtr>>(handDetector)
    +
    669  );
    +
    670  }
    +
    671  }
    +
    672 
    +
    673  // Pose renderer(s)
    +
    674  if (!poseGpuRenderers.empty())
    +
    675  for (auto i = 0u; i < spWPoses.size(); i++)
    +
    676  spWPoses.at(i).emplace_back(std::make_shared<WPoseRenderer<TDatumsPtr>>(
    +
    677  poseGpuRenderers.at(i)
    +
    678  ));
    +
    679 
    +
    680  // Face renderer(s)
    +
    681  if (renderFace)
    +
    682  {
    +
    683  // CPU rendering
    +
    684  if (wrapperStructFace.renderMode == RenderMode::Cpu)
    +
    685  {
    +
    686  // Construct face renderer
    +
    687  const auto faceRenderer = std::make_shared<FaceCpuRenderer>(wrapperStructFace.renderThreshold,
    +
    688  wrapperStructFace.alphaKeypoint,
    +
    689  wrapperStructFace.alphaHeatMap);
    +
    690  // Add worker
    +
    691  cpuRenderers.emplace_back(std::make_shared<WFaceRenderer<TDatumsPtr>>(faceRenderer));
    +
    692  }
    +
    693  // GPU rendering
    +
    694  else if (wrapperStructFace.renderMode == RenderMode::Gpu)
    +
    695  {
    +
    696  for (auto i = 0u; i < spWPoses.size(); i++)
    +
    697  {
    +
    698  // Construct face renderer
    +
    699  const auto faceRenderer = std::make_shared<FaceGpuRenderer>(
    +
    700  wrapperStructFace.renderThreshold, wrapperStructFace.alphaKeypoint,
    +
    701  wrapperStructFace.alphaHeatMap
    +
    702  );
    +
    703  // Performance boost -> share spGpuMemory for all renderers
    +
    704  if (!poseGpuRenderers.empty())
    +
    705  {
    +
    706  const bool isLastRenderer = !renderHandGpu;
    +
    707  const auto renderer = std::static_pointer_cast<PoseGpuRenderer>(
    +
    708  poseGpuRenderers.at(i)
    +
    709  );
    +
    710  faceRenderer->setSharedParametersAndIfLast(renderer->getSharedParameters(),
    +
    711  isLastRenderer);
    +
    712  }
    +
    713  // Add worker
    +
    714  spWPoses.at(i).emplace_back(std::make_shared<WFaceRenderer<TDatumsPtr>>(faceRenderer));
    +
    715  }
    +
    716  }
    +
    717  else
    +
    718  error("Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
    +
    719  }
    +
    720 
    +
    721  // Hand renderer(s)
    +
    722  if (renderHand)
    +
    723  {
    +
    724  // CPU rendering
    +
    725  if (wrapperStructHand.renderMode == RenderMode::Cpu)
    +
    726  {
    +
    727  // Construct hand renderer
    +
    728  const auto handRenderer = std::make_shared<HandCpuRenderer>(wrapperStructHand.renderThreshold,
    +
    729  wrapperStructHand.alphaKeypoint,
    +
    730  wrapperStructHand.alphaHeatMap);
    +
    731  // Add worker
    +
    732  cpuRenderers.emplace_back(std::make_shared<WHandRenderer<TDatumsPtr>>(handRenderer));
    +
    733  }
    +
    734  // GPU rendering
    +
    735  else if (wrapperStructHand.renderMode == RenderMode::Gpu)
    +
    736  {
    +
    737  for (auto i = 0u; i < spWPoses.size(); i++)
    +
    738  {
    +
    739  // Construct hands renderer
    +
    740  const auto handRenderer = std::make_shared<HandGpuRenderer>(
    +
    741  wrapperStructHand.renderThreshold, wrapperStructHand.alphaKeypoint,
    +
    742  wrapperStructHand.alphaHeatMap
    +
    743  );
    +
    744  // Performance boost -> share spGpuMemory for all renderers
    +
    745  if (!poseGpuRenderers.empty())
    +
    746  {
    +
    747  const bool isLastRenderer = true;
    +
    748  const auto renderer = std::static_pointer_cast<PoseGpuRenderer>(
    +
    749  poseGpuRenderers.at(i)
    +
    750  );
    +
    751  handRenderer->setSharedParametersAndIfLast(renderer->getSharedParameters(),
    +
    752  isLastRenderer);
    +
    753  }
    +
    754  // Add worker
    +
    755  spWPoses.at(i).emplace_back(std::make_shared<WHandRenderer<TDatumsPtr>>(handRenderer));
    +
    756  }
    +
    757  }
    +
    758  else
    +
    759  error("Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
    +
    760  }
    +
    761 
    +
    762  // Itermediate workers (e.g. OpenPose format to cv::Mat, json & frames recorder, ...)
    +
    763  mPostProcessingWs.clear();
    +
    764  // Frame buffer and ordering
    +
    765  if (spWPoses.size() > 1u)
    +
    766  mPostProcessingWs.emplace_back(std::make_shared<WQueueOrderer<TDatumsPtr>>());
    +
    767  // Person ID identification
    +
    768  if (wrapperStructPose.identification)
    +
    769  {
    +
    770  const auto personIdExtractor = std::make_shared<PersonIdExtractor>();
    +
    771  mPostProcessingWs.emplace_back(
    +
    772  std::make_shared<WPersonIdExtractor<TDatumsPtr>>(personIdExtractor)
    +
    773  );
    +
    774  }
    +
    775  // Frames processor (OpenPose format -> cv::Mat format)
    +
    776  if (renderOutput)
    +
    777  {
    +
    778  mPostProcessingWs = mergeVectors(mPostProcessingWs, cpuRenderers);
    +
    779  const auto opOutputToCvMat = std::make_shared<OpOutputToCvMat>();
    +
    780  mPostProcessingWs.emplace_back(std::make_shared<WOpOutputToCvMat<TDatumsPtr>>(opOutputToCvMat));
    +
    781  }
    +
    782  // Re-scale pose if desired
    +
    783  // If desired scale is not the current input
    +
    784  if (wrapperStructPose.keypointScale != ScaleMode::InputResolution
    +
    785  // and desired scale is not output when size(input) = size(output)
    +
    786  && !(wrapperStructPose.keypointScale == ScaleMode::OutputResolution &&
    +
    787  (finalOutputSize == producerSize || finalOutputSize.x <= 0 || finalOutputSize.y <= 0))
    +
    788  // and desired scale is not net output when size(input) = size(net output)
    +
    789  && !(wrapperStructPose.keypointScale == ScaleMode::NetOutputResolution
    +
    790  && producerSize == wrapperStructPose.netInputSize))
    +
    791  {
    +
    792  // Then we must rescale the keypoints
    +
    793  auto keypointScaler = std::make_shared<KeypointScaler>(wrapperStructPose.keypointScale);
    +
    794  mPostProcessingWs.emplace_back(std::make_shared<WKeypointScaler<TDatumsPtr>>(keypointScaler));
    +
    795  }
    +
    796  }
    +
    797 
    +
    798  mOutputWs.clear();
    +
    799  // Write people pose data on disk (json for OpenCV >= 3, xml, yml...)
    +
    800  if (!writeKeypointCleaned.empty())
    +
    801  {
    +
    802  const auto keypointSaver = std::make_shared<KeypointSaver>(writeKeypointCleaned,
    +
    803  wrapperStructOutput.writeKeypointFormat);
    +
    804  mOutputWs.emplace_back(std::make_shared<WPoseSaver<TDatumsPtr>>(keypointSaver));
    +
    805  if (wrapperStructFace.enable)
    +
    806  mOutputWs.emplace_back(std::make_shared<WFaceSaver<TDatumsPtr>>(keypointSaver));
    +
    807  if (wrapperStructHand.enable)
    +
    808  mOutputWs.emplace_back(std::make_shared<WHandSaver<TDatumsPtr>>(keypointSaver));
    +
    809  }
    +
    810  // Write OpenPose output data on disk in json format (body/hand/face keypoints, body part locations if
    +
    811  // enabled, etc.)
    +
    812  if (!writeJsonCleaned.empty())
    +
    813  {
    +
    814  const auto peopleJsonSaver = std::make_shared<PeopleJsonSaver>(writeJsonCleaned);
    +
    815  mOutputWs.emplace_back(std::make_shared<WPeopleJsonSaver<TDatumsPtr>>(peopleJsonSaver));
    +
    816  }
    +
    817  // Write people pose data on disk (COCO validation json format)
    +
    818  if (!wrapperStructOutput.writeCocoJson.empty())
    +
    819  {
    +
    820  // If humanFormat: bigger size (& maybe slower to process), but easier for user to read it
    +
    821  const auto humanFormat = true;
    +
    822  const auto cocoJsonSaver = std::make_shared<CocoJsonSaver>(wrapperStructOutput.writeCocoJson,
    +
    823  humanFormat);
    +
    824  mOutputWs.emplace_back(std::make_shared<WCocoJsonSaver<TDatumsPtr>>(cocoJsonSaver));
    +
    825  }
    +
    826  // Write frames as desired image format on hard disk
    +
    827  if (!writeImagesCleaned.empty())
    +
    828  {
    +
    829  const auto imageSaver = std::make_shared<ImageSaver>(writeImagesCleaned,
    +
    830  wrapperStructOutput.writeImagesFormat);
    +
    831  mOutputWs.emplace_back(std::make_shared<WImageSaver<TDatumsPtr>>(imageSaver));
    +
    832  }
    +
    833  // Write frames as *.avi video on hard disk
    +
    834  if (!wrapperStructOutput.writeVideo.empty() && wrapperStructInput.producerSharedPtr != nullptr)
    +
    835  {
    +
    836  if (finalOutputSize.x <= 0 || finalOutputSize.y <= 0)
    +
    837  error("Video can only be recorded if outputSize is fixed (e.g. video, webcam, IP camera),"
    +
    838  "but not for a image directory.", __LINE__, __FUNCTION__, __FILE__);
    +
    839  const auto originalVideoFps = (wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FPS) > 0.
    +
    840  ? wrapperStructInput.producerSharedPtr->get(CV_CAP_PROP_FPS) : 30.);
    +
    841  const auto videoSaver = std::make_shared<VideoSaver>(
    +
    842  wrapperStructOutput.writeVideo, CV_FOURCC('M','J','P','G'), originalVideoFps, finalOutputSize
    +
    843  );
    +
    844  mOutputWs.emplace_back(std::make_shared<WVideoSaver<TDatumsPtr>>(videoSaver));
    +
    845  }
    +
    846  // Write heat maps as desired image format on hard disk
    +
    847  if (!writeHeatMapsCleaned.empty())
    +
    848  {
    +
    849  const auto heatMapSaver = std::make_shared<HeatMapSaver>(writeHeatMapsCleaned,
    +
    850  wrapperStructOutput.writeHeatMapsFormat);
    +
    851  mOutputWs.emplace_back(std::make_shared<WHeatMapSaver<TDatumsPtr>>(heatMapSaver));
    +
    852  }
    +
    853  // Add frame information for GUI
    +
    854  // If this WGuiInfoAdder instance is placed before the WImageSaver or WVideoSaver, then the resulting
    +
    855  // recorded frames will look exactly as the final displayed image by the GUI
    +
    856  if (wrapperStructOutput.guiVerbose && (wrapperStructOutput.displayGui || !mUserOutputWs.empty()
    +
    857  || mThreadManagerMode == ThreadManagerMode::Asynchronous
    +
    858  || mThreadManagerMode == ThreadManagerMode::AsynchronousOut))
    +
    859  {
    +
    860  const auto guiInfoAdder = std::make_shared<GuiInfoAdder>(numberThreads, wrapperStructOutput.displayGui);
    +
    861  mOutputWs.emplace_back(std::make_shared<WGuiInfoAdder<TDatumsPtr>>(guiInfoAdder));
    +
    862  }
    +
    863  // Minimal graphical user interface (GUI)
    +
    864  spWGui = nullptr;
    +
    865  if (wrapperStructOutput.displayGui)
    +
    866  {
    +
    867  // PoseRenderers to Renderers
    +
    868  std::vector<std::shared_ptr<Renderer>> renderers;
    +
    869  if (wrapperStructPose.renderMode == RenderMode::Cpu)
    +
    870  renderers.emplace_back(std::static_pointer_cast<Renderer>(poseCpuRenderer));
    +
    871  else
    +
    872  for (const auto& poseGpuRenderer : poseGpuRenderers)
    +
    873  renderers.emplace_back(std::static_pointer_cast<Renderer>(poseGpuRenderer));
    +
    874  // Gui
    +
    875  const auto gui = std::make_shared<Gui>(
    +
    876  finalOutputSize, wrapperStructOutput.fullScreen, mThreadManager.getIsRunningSharedPtr(),
    +
    877  spVideoSeek, poseExtractors, renderers
    +
    878  );
    +
    879  // WGui
    +
    880  spWGui = {std::make_shared<WGui<TDatumsPtr>>(gui)};
    +
    881  }
    +
    882  // Set wrapper as configured
    +
    883  mConfigured = true;
    +
    884  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    +
    885  }
    +
    886  catch (const std::exception& e)
    +
    887  {
    +
    888  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    889  }
    +
    890  }
    +
    891 
    +
    892  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    894  {
    +
    895  try
    +
    896  {
    +
    897  configureThreadManager();
    +
    898  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    +
    899  mThreadManager.exec();
    +
    900  }
    +
    901  catch (const std::exception& e)
    +
    902  {
    +
    903  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    904  }
    +
    905  }
    +
    906 
    +
    907  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    909  {
    +
    910  try
    +
    911  {
    +
    912  configureThreadManager();
    +
    913  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    +
    914  mThreadManager.start();
    +
    915  }
    +
    916  catch (const std::exception& e)
    +
    917  {
    +
    918  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    919  }
    +
    920  }
    +
    921 
    +
    922  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    924  {
    +
    925  try
    +
    926  {
    +
    927  mThreadManager.stop();
    +
    928  }
    +
    929  catch (const std::exception& e)
    +
    930  {
    +
    931  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    932  }
    +
    933  }
    +
    934 
    +
    935  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    937  {
    +
    938  try
    +
    939  {
    +
    940  return mThreadManager.isRunning();
    +
    941  }
    +
    942  catch (const std::exception& e)
    +
    943  {
    +
    944  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    945  return false;
    +
    946  }
    +
    947  }
    +
    948 
    +
    949  template<typename TDatums, typename TWorker, typename TQueue>
    +
    950  bool Wrapper<TDatums, TWorker, TQueue>::tryEmplace(std::shared_ptr<TDatums>& tDatums)
    +
    951  {
    +
    952  try
    +
    953  {
    +
    954  if (!mUserInputWs.empty())
    +
    955  error("Emplace cannot be called if an input worker was already selected.",
    +
    956  __LINE__, __FUNCTION__, __FILE__);
    +
    957  return mThreadManager.tryEmplace(tDatums);
    +
    958  }
    +
    959  catch (const std::exception& e)
    +
    960  {
    +
    961  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    962  return false;
    +
    963  }
    +
    964  }
    +
    965 
    +
    966  template<typename TDatums, typename TWorker, typename TQueue>
    +
    967  bool Wrapper<TDatums, TWorker, TQueue>::waitAndEmplace(std::shared_ptr<TDatums>& tDatums)
    +
    968  {
    +
    969  try
    +
    970  {
    +
    971  if (!mUserInputWs.empty())
    +
    972  error("Emplace cannot be called if an input worker was already selected.",
    +
    973  __LINE__, __FUNCTION__, __FILE__);
    +
    974  return mThreadManager.waitAndEmplace(tDatums);
    +
    975  }
    +
    976  catch (const std::exception& e)
    +
    977  {
    +
    978  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    979  return false;
    +
    980  }
    +
    981  }
    +
    982 
    +
    983  template<typename TDatums, typename TWorker, typename TQueue>
    +
    984  bool Wrapper<TDatums, TWorker, TQueue>::tryPush(const std::shared_ptr<TDatums>& tDatums)
    +
    985  {
    +
    986  try
    +
    987  {
    +
    988  if (!mUserInputWs.empty())
    +
    989  error("Push cannot be called if an input worker was already selected.",
    +
    990  __LINE__, __FUNCTION__, __FILE__);
    +
    991  return mThreadManager.tryPush(tDatums);
    +
    992  }
    +
    993  catch (const std::exception& e)
    +
    994  {
    +
    995  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    996  return false;
    +
    997  }
    +
    998  }
    +
    999 
    +
    1000  template<typename TDatums, typename TWorker, typename TQueue>
    +
    1001  bool Wrapper<TDatums, TWorker, TQueue>::waitAndPush(const std::shared_ptr<TDatums>& tDatums)
    +
    1002  {
    +
    1003  try
    +
    1004  {
    +
    1005  if (!mUserInputWs.empty())
    +
    1006  error("Push cannot be called if an input worker was already selected.",
    +
    1007  __LINE__, __FUNCTION__, __FILE__);
    +
    1008  return mThreadManager.waitAndPush(tDatums);
    +
    1009  }
    +
    1010  catch (const std::exception& e)
    +
    1011  {
    +
    1012  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    1013  return false;
    +
    1014  }
    +
    1015  }
    +
    1016 
    +
    1017  template<typename TDatums, typename TWorker, typename TQueue>
    +
    1018  bool Wrapper<TDatums, TWorker, TQueue>::tryPop(std::shared_ptr<TDatums>& tDatums)
    +
    1019  {
    +
    1020  try
    +
    1021  {
    +
    1022  if (!mUserOutputWs.empty())
    +
    1023  error("Pop cannot be called if an output worker was already selected.",
    +
    1024  __LINE__, __FUNCTION__, __FILE__);
    +
    1025  return mThreadManager.tryPop(tDatums);
    +
    1026  }
    +
    1027  catch (const std::exception& e)
    +
    1028  {
    +
    1029  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    1030  return false;
    +
    1031  }
    +
    1032  }
    +
    1033 
    +
    1034  template<typename TDatums, typename TWorker, typename TQueue>
    +
    1035  bool Wrapper<TDatums, TWorker, TQueue>::waitAndPop(std::shared_ptr<TDatums>& tDatums)
    +
    1036  {
    +
    1037  try
    +
    1038  {
    +
    1039  if (!mUserOutputWs.empty())
    +
    1040  error("Pop cannot be called if an output worker was already selected.",
    +
    1041  __LINE__, __FUNCTION__, __FILE__);
    +
    1042  return mThreadManager.waitAndPop(tDatums);
    +
    1043  }
    +
    1044  catch (const std::exception& e)
    +
    1045  {
    +
    1046  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    1047  return false;
    +
    1048  }
    +
    1049  }
    +
    1050 
    +
    1051  template<typename TDatums, typename TWorker, typename TQueue>
    + +
    1053  {
    +
    1054  try
    +
    1055  {
    +
    1056  mConfigured = false;
    +
    1057  mThreadManager.reset();
    +
    1058  mThreadId = 0ull;
    +
    1059  // Reset
    +
    1060  mUserInputWs.clear();
    +
    1061  wDatumProducer = nullptr;
    +
    1062  spWScaleAndSizeExtractor = nullptr;
    +
    1063  spWCvMatToOpInput = nullptr;
    +
    1064  spWCvMatToOpOutput = nullptr;
    +
    1065  spWPoses.clear();
    +
    1066  mPostProcessingWs.clear();
    +
    1067  mUserPostProcessingWs.clear();
    +
    1068  mOutputWs.clear();
    +
    1069  spWGui = nullptr;
    +
    1070  mUserOutputWs.clear();
    +
    1071  }
    +
    1072  catch (const std::exception& e)
    +
    1073  {
    +
    1074  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    1075  }
    +
    1076  }
    +
    1077 
    +
    1078  template<typename TDatums, typename TWorker, typename TQueue>
    +
    1079  void Wrapper<TDatums, TWorker, TQueue>::configureThreadManager()
    +
    1080  {
    +
    1081  try
    +
    1082  {
    +
    1083  // The less number of queues -> the less lag
    +
    1084 
    +
    1085  // Security checks
    +
    1086  if (!mConfigured)
    +
    1087  error("Configure the Wrapper class before calling `start()`.", __LINE__, __FUNCTION__, __FILE__);
    +
    1088  if ((wDatumProducer == nullptr) == (mUserInputWs.empty())
    +
    1089  && mThreadManagerMode != ThreadManagerMode::Asynchronous
    +
    1090  && mThreadManagerMode != ThreadManagerMode::AsynchronousIn)
    +
    1091  {
    +
    1092  const auto message = "You need to have 1 and only 1 producer selected. You can introduce your own"
    +
    1093  " producer by using setWorkerInput() or use the OpenPose default producer by"
    +
    1094  " configuring it in the configure function) or use the"
    +
    1095  " ThreadManagerMode::Asynchronous(In) mode.";
    +
    1096  error(message, __LINE__, __FUNCTION__, __FILE__);
    +
    1097  }
    +
    1098  if (mOutputWs.empty() && mUserOutputWs.empty() && spWGui == nullptr
    +
    1099  && mThreadManagerMode != ThreadManagerMode::Asynchronous
    +
    1100  && mThreadManagerMode != ThreadManagerMode::AsynchronousOut)
    +
    1101  {
    +
    1102  error("No output selected.", __LINE__, __FUNCTION__, __FILE__);
    +
    1103  }
    +
    1104 
    +
    1105  // Thread Manager:
    +
    1106  // Clean previous thread manager (avoid configure to crash the program if used more than once)
    +
    1107  mThreadManager.reset();
    +
    1108  mThreadId = 0ull;
    +
    1109  auto queueIn = 0ull;
    +
    1110  auto queueOut = 1ull;
    +
    1111  // If custom user Worker and uses its own thread
    +
    1112  spWIdGenerator = std::make_shared<WIdGenerator<std::shared_ptr<TDatums>>>();
    +
    1113  if (!mUserInputWs.empty() && mUserInputWsOnNewThread)
    +
    1114  {
    +
    1115  // Thread 0, queues 0 -> 1
    +
    1116  mThreadManager.add(mThreadId, mUserInputWs, queueIn++, queueOut++);
    +
    1117  if (spWScaleAndSizeExtractor != nullptr && spWCvMatToOpInput != nullptr)
    +
    1118  {
    +
    1119  threadIdPP();
    +
    1120  // Thread 1, queues 1 -> 2
    +
    1121  if (spWCvMatToOpOutput == nullptr)
    +
    1122  mThreadManager.add(mThreadId, {spWIdGenerator, spWScaleAndSizeExtractor, spWCvMatToOpInput},
    +
    1123  queueIn++, queueOut++);
    +
    1124  else
    +
    1125  mThreadManager.add(mThreadId, {spWIdGenerator, spWScaleAndSizeExtractor, spWCvMatToOpInput,
    +
    1126  spWCvMatToOpOutput}, queueIn++, queueOut++);
    +
    1127  }
    +
    1128  else
    +
    1129  mThreadManager.add(mThreadId, spWIdGenerator, queueIn++, queueOut++);
    +
    1130  }
    +
    1131  // If custom user Worker in same thread or producer on same thread
    +
    1132  else
    +
    1133  {
    +
    1134  std::vector<TWorker> workersAux;
    +
    1135  // Custom user Worker
    +
    1136  if (!mUserInputWs.empty())
    +
    1137  workersAux = mergeVectors(workersAux, mUserInputWs);
    +
    1138  // OpenPose producer
    +
    1139  else if (wDatumProducer != nullptr)
    +
    1140  workersAux = mergeVectors(workersAux, {wDatumProducer});
    +
    1141  // Otherwise
    +
    1142  else if (mThreadManagerMode != ThreadManagerMode::Asynchronous
    +
    1143  && mThreadManagerMode != ThreadManagerMode::AsynchronousIn)
    +
    1144  error("No input selected.", __LINE__, __FUNCTION__, __FILE__);
    +
    1145  // ID generator
    +
    1146  workersAux = mergeVectors(workersAux, {spWIdGenerator});
    +
    1147  // Scale & cv::Mat to OP format
    +
    1148  if (spWScaleAndSizeExtractor != nullptr && spWCvMatToOpInput != nullptr)
    +
    1149  workersAux = mergeVectors(workersAux, {spWScaleAndSizeExtractor,
    +
    1150  spWCvMatToOpInput});
    +
    1151  // cv::Mat to output format
    +
    1152  if (spWCvMatToOpOutput != nullptr)
    +
    1153  workersAux = mergeVectors(workersAux, {spWCvMatToOpOutput});
    +
    1154  // Thread 0 or 1, queues 0 -> 1
    +
    1155  mThreadManager.add(mThreadId, workersAux, queueIn++, queueOut++);
    +
    1156  }
    +
    1157  threadIdPP();
    +
    1158  // Pose estimation & rendering
    +
    1159  // Thread 1 or 2...X, queues 1 -> 2, X = 2 + #GPUs
    +
    1160  if (!spWPoses.empty())
    +
    1161  {
    +
    1162  if (mMultiThreadEnabled)
    +
    1163  {
    +
    1164  for (auto& wPose : spWPoses)
    +
    1165  {
    +
    1166  mThreadManager.add(mThreadId, wPose, queueIn, queueOut);
    +
    1167  threadIdPP();
    +
    1168  }
    +
    1169  }
    +
    1170  else
    +
    1171  {
    +
    1172  if (spWPoses.size() > 1)
    +
    1173  log("Multi-threading disabled, only 1 thread running. All GPUs have been disabled but the"
    +
    1174  " first one, which is defined by gpuNumberStart (e.g. in the OpenPose demo, it is set"
    +
    1175  " with the `--num_gpu_start` flag).", Priority::High);
    +
    1176  mThreadManager.add(mThreadId, spWPoses.at(0), queueIn, queueOut);
    +
    1177  }
    +
    1178  queueIn++;
    +
    1179  queueOut++;
    +
    1180  }
    +
    1181  // If custom user Worker and uses its own thread
    +
    1182  if (!mUserPostProcessingWs.empty() && mUserPostProcessingWsOnNewThread)
    +
    1183  {
    +
    1184  // Post processing workers
    +
    1185  if (!mPostProcessingWs.empty())
    +
    1186  {
    +
    1187  // Thread 2 or 3, queues 2 -> 3
    +
    1188  mThreadManager.add(mThreadId, mPostProcessingWs, queueIn++, queueOut++);
    +
    1189  threadIdPP();
    +
    1190  }
    +
    1191  // User processing workers
    +
    1192  // Thread 3 or 4, queues 3 -> 4
    +
    1193  mThreadManager.add(mThreadId, mUserPostProcessingWs, queueIn++, queueOut++);
    +
    1194  threadIdPP();
    +
    1195  // Output workers
    +
    1196  if (!mOutputWs.empty())
    +
    1197  {
    +
    1198  // Thread 4 or 5, queues 4 -> 5
    +
    1199  mThreadManager.add(mThreadId, mOutputWs, queueIn++, queueOut++);
    +
    1200  threadIdPP();
    +
    1201  }
    +
    1202  }
    +
    1203  // If custom user Worker in same thread or producer on same thread
    +
    1204  else
    +
    1205  {
    +
    1206  // Post processing workers + User post processing workers + Output workers
    +
    1207  auto workersAux = mergeVectors(mPostProcessingWs, mUserPostProcessingWs);
    +
    1208  workersAux = mergeVectors(workersAux, mOutputWs);
    +
    1209  if (!workersAux.empty())
    +
    1210  {
    +
    1211  // Thread 2 or 3, queues 2 -> 3
    +
    1212  mThreadManager.add(mThreadId, workersAux, queueIn++, queueOut++);
    +
    1213  threadIdPP();
    +
    1214  }
    +
    1215  }
    +
    1216  // User output worker
    +
    1217  // Thread Y, queues Q -> Q+1
    +
    1218  if (!mUserOutputWs.empty())
    +
    1219  {
    +
    1220  if (mUserOutputWsOnNewThread)
    +
    1221  {
    +
    1222  mThreadManager.add(mThreadId, mUserOutputWs, queueIn++, queueOut++);
    +
    1223  threadIdPP();
    +
    1224  }
    +
    1225  else
    +
    1226  mThreadManager.add(mThreadId-1, mUserOutputWs, queueIn++, queueOut++);
    +
    1227  }
    +
    1228  // OpenPose GUI
    +
    1229  if (spWGui != nullptr)
    +
    1230  {
    +
    1231  // Thread Y+1, queues Q+1 -> Q+2
    +
    1232  mThreadManager.add(mThreadId, spWGui, queueIn++, queueOut++);
    +
    1233  threadIdPP();
    +
    1234  }
    +
    1235  log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__);
    +
    1236  }
    +
    1237  catch (const std::exception& e)
    +
    1238  {
    +
    1239  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    1240  }
    +
    1241  }
    +
    1242 
    +
    1243  template<typename TDatums, typename TWorker, typename TQueue>
    +
    1244  unsigned long long Wrapper<TDatums, TWorker, TQueue>::threadIdPP()
    +
    1245  {
    +
    1246  try
    +
    1247  {
    +
    1248  if (mMultiThreadEnabled)
    +
    1249  mThreadId++;
    +
    1250  return mThreadId;
    +
    1251  }
    +
    1252  catch (const std::exception& e)
    +
    1253  {
    +
    1254  error(e.what(), __LINE__, __FUNCTION__, __FILE__);
    +
    1255  return 0ull;
    +
    1256  }
    +
    1257  }
    +
    1258 
    +
    1259  extern template class Wrapper<DATUM_BASE_NO_PTR>;
    +
    1260 }
    +
    1261 
    +
    1262 #endif // OPENPOSE_WRAPPER_WRAPPER_HPP
    PoseModel poseModel
    Definition: wrapperStructPose.hpp:88
    Point< int > netInputSize
    Definition: wrapperStructPose.hpp:31
    @@ -1327,36 +1243,38 @@ $(document).ready(function(){initNavTree('wrapper_8hpp_source.html','');});
    float alphaHeatMap
    Definition: wrapperStructPose.hpp:106
    Definition: wHandDetectorTracking.hpp:11
    -
    Wrapper(const ThreadManagerMode threadManagerMode=ThreadManagerMode::Synchronous)
    Definition: wrapper.hpp:276
    +
    Wrapper(const ThreadManagerMode threadManagerMode=ThreadManagerMode::Synchronous)
    Definition: wrapper.hpp:277
    Definition: wGuiInfoAdder.hpp:11
    Definition: wPersonIdExtractor.hpp:11
    -
    ScaleMode heatMapScale
    Definition: wrapperStructPose.hpp:135
    float alphaHeatMap
    Definition: wrapperStructFace.hpp:45
    +
    ScaleMode heatMapScale
    Definition: wrapperStructPose.hpp:135
    bool guiVerbose
    Definition: wrapperStructOutput.hpp:24
    std::vector< HeatMapType > heatMapTypes
    Definition: wrapperStructPose.hpp:127
    std::string writeHeatMapsFormat
    Definition: wrapperStructOutput.hpp:94
    bool addPartCandidates
    Definition: wrapperStructPose.hpp:141
    Definition: wPoseSaver.hpp:12
    bool identification
    Definition: wrapperStructPose.hpp:163
    -
    bool tryPush(const std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1068
    +
    bool tryPush(const std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:984
    +
    void wrapperConfigureSecurityChecks(const WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const ThreadManagerMode threadManagerMode)
    Definition: wrapperStructPose.hpp:17
    std::string writeKeypoint
    Definition: wrapperStructOutput.hpp:37
    float alphaKeypoint
    Definition: wrapperStructFace.hpp:39
    bool frameFlip
    Definition: wrapperStructInput.hpp:41
    Definition: wFaceSaver.hpp:12
    -
    void stop()
    Definition: wrapper.hpp:1007
    +
    void stop()
    Definition: wrapper.hpp:923
    float alphaKeypoint
    Definition: wrapperStructHand.hpp:59
    -
    bool tryPop(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1102
    -
    void exec()
    Definition: wrapper.hpp:977
    +
    bool tryPop(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1018
    +
    void exec()
    Definition: wrapper.hpp:893
    +
    Definition: wPeopleJsonSaver.hpp:11
    int defaultPartToRender
    Definition: wrapperStructPose.hpp:115
    Definition: wHandRenderer.hpp:11
    Definition: wFaceExtractor.hpp:11
    -
    void setWorkerPostProcessing(const TWorker &worker, const bool workerOnNewThread=true)
    Definition: wrapper.hpp:340
    +
    void setWorkerPostProcessing(const TWorker &worker, const bool workerOnNewThread=true)
    Definition: wrapper.hpp:341
    Definition: wImageSaver.hpp:11
    std::string writeImages
    Definition: wrapperStructOutput.hpp:66
    @@ -1378,12 +1296,13 @@ $(document).ready(function(){initNavTree('wrapper_8hpp_source.html','');});
    OP_API void error(const std::string &message, const int line=-1, const std::string &function="", const std::string &file="")
    bool fullScreen
    Definition: wrapperStructOutput.hpp:30
    DataFormat writeKeypointFormat
    Definition: wrapperStructOutput.hpp:44
    +
    float scaleGap
    Definition: wrapperStructPose.hpp:75
    RenderMode renderMode
    Definition: wrapperStructPose.hpp:81
    -
    bool waitAndEmplace(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1051
    +
    bool waitAndEmplace(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:967
    Definition: wrapper.hpp:32
    -
    bool tryEmplace(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1034
    +
    bool tryEmplace(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:950
    float scaleRange
    Definition: wrapperStructHand.hpp:40
    int gpuNumberStart
    Definition: wrapperStructPose.hpp:60
    RenderMode renderMode
    Definition: wrapperStructFace.hpp:33
    @@ -1394,8 +1313,8 @@ $(document).ready(function(){initNavTree('wrapper_8hpp_source.html','');});
    Definition: wVideoSaver.hpp:11
    Definition: wOpOutputToCvMat.hpp:11
    -
    bool waitAndPush(const std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1085
    -
    void start()
    Definition: wrapper.hpp:992
    +
    bool waitAndPush(const std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1001
    +
    void start()
    Definition: wrapper.hpp:908
    bool realTimeProcessing
    Definition: wrapperStructInput.hpp:36
    OP_API std::string formatAsDirectory(const std::string &directoryPathString)
    @@ -1404,14 +1323,13 @@ $(document).ready(function(){initNavTree('wrapper_8hpp_source.html','');});
    Definition: wrapperStructInput.hpp:13
    std::string modelFolder
    Definition: wrapperStructPose.hpp:120
    -
    void configure(const WrapperStructPose &wrapperStructPose, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput=WrapperStructOutput{})
    Definition: wrapper.hpp:375
    +
    void configure(const WrapperStructPose &wrapperStructPose, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput=WrapperStructOutput{})
    Definition: wrapper.hpp:376
    int scalesNumber
    Definition: wrapperStructPose.hpp:68
    -
    Definition: wFaceRenderer.hpp:11
    -
    bool waitAndPop(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1119
    +
    bool waitAndPop(std::shared_ptr< TDatums > &tDatums)
    Definition: wrapper.hpp:1035
    std::shared_ptr< Producer > producerSharedPtr
    Definition: wrapperStructInput.hpp:19
    Definition: threadManager.hpp:16
    Definition: wPoseRenderer.hpp:11
    @@ -1422,7 +1340,7 @@ $(document).ready(function(){initNavTree('wrapper_8hpp_source.html','');});
    Definition: wCocoJsonSaver.hpp:11
    -
    ~Wrapper()
    Definition: wrapper.hpp:296
    +
    ~Wrapper()
    Definition: wrapper.hpp:297
    Definition: wrapperStructHand.hpp:15
    float renderThreshold
    Definition: wrapperStructHand.hpp:72
    @@ -1440,24 +1358,23 @@ $(document).ready(function(){initNavTree('wrapper_8hpp_source.html','');});
    float alphaKeypoint
    Definition: wrapperStructPose.hpp:99
    -
    void setWorkerOutput(const TWorker &worker, const bool workerOnNewThread=true)
    Definition: wrapper.hpp:358
    +
    void setWorkerOutput(const TWorker &worker, const bool workerOnNewThread=true)
    Definition: wrapper.hpp:359
    Definition: wHeatMapSaver.hpp:11
    bool enable
    Definition: wrapperStructHand.hpp:20
    ScaleMode keypointScale
    Definition: wrapperStructPose.hpp:47
    ThreadManagerMode
    Definition: enumClasses.hpp:9
    int gpuNumber
    Definition: wrapperStructPose.hpp:54
    -
    bool isRunning() const
    Definition: wrapper.hpp:1020
    -
    void setWorkerInput(const TWorker &worker, const bool workerOnNewThread=true)
    Definition: wrapper.hpp:323
    +
    bool isRunning() const
    Definition: wrapper.hpp:936
    +
    void setWorkerInput(const TWorker &worker, const bool workerOnNewThread=true)
    Definition: wrapper.hpp:324
    float renderThreshold
    Definition: wrapperStructFace.hpp:52
    int frameRotate
    Definition: wrapperStructInput.hpp:47
    std::string writeImagesFormat
    Definition: wrapperStructOutput.hpp:74
    unsigned long long frameFirst
    Definition: wrapperStructInput.hpp:25
    bool displayGui
    Definition: wrapperStructOutput.hpp:18
    -
    Definition: wrapperStructOutput.hpp:13
    -
    void disableMultiThreading()
    Definition: wrapper.hpp:310
    +
    void disableMultiThreading()
    Definition: wrapper.hpp:311
    diff --git a/html/wrapper_auxiliary_8hpp.html b/html/wrapper_auxiliary_8hpp.html new file mode 100644 index 00000000..5cb44c16 --- /dev/null +++ b/html/wrapper_auxiliary_8hpp.html @@ -0,0 +1,143 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperAuxiliary.hpp File Reference + + + + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    OpenPose +  1.0.0rc2 +
    +
    OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    + +
    +
    wrapperAuxiliary.hpp File Reference
    +
    +
    + +

    Go to the source code of this file.

    + + + + +

    +Namespaces

     op
     
    + + + +

    +Functions

    void op::wrapperConfigureSecurityChecks (const WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const ThreadManagerMode threadManagerMode)
     
    +
    +
    + + + + diff --git a/html/wrapper_auxiliary_8hpp.js b/html/wrapper_auxiliary_8hpp.js new file mode 100644 index 00000000..fc3e387c --- /dev/null +++ b/html/wrapper_auxiliary_8hpp.js @@ -0,0 +1,4 @@ +var wrapper_auxiliary_8hpp = +[ + [ "wrapperConfigureSecurityChecks", "wrapper_auxiliary_8hpp.html#adaeace8035112a82a4a8ff2cd7eb5806", null ] +]; \ No newline at end of file diff --git a/html/wrapper_auxiliary_8hpp_source.html b/html/wrapper_auxiliary_8hpp_source.html new file mode 100644 index 00000000..8b271f7b --- /dev/null +++ b/html/wrapper_auxiliary_8hpp_source.html @@ -0,0 +1,151 @@ + + + + + + +OpenPose: /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/wrapperAuxiliary.hpp Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    OpenPose +  1.0.0rc2 +
    +
    OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    wrapperAuxiliary.hpp
    +
    +
    +Go to the documentation of this file.
    1 #ifndef OPENPOSE_WRAPPER_AUXILIARY_HPP
    +
    2 #define OPENPOSE_WRAPPER_AUXILIARY_HPP
    +
    3 
    + + + + + +
    9 
    +
    10 namespace op
    +
    11 {
    +
    23  void wrapperConfigureSecurityChecks(const WrapperStructPose& wrapperStructPose,
    +
    24  const WrapperStructFace& wrapperStructFace,
    +
    25  const WrapperStructHand& wrapperStructHand,
    +
    26  const WrapperStructInput& wrapperStructInput,
    +
    27  const WrapperStructOutput& wrapperStructOutput,
    +
    28  const bool renderOutput,
    +
    29  const bool userOutputWsEmpty,
    +
    30  const ThreadManagerMode threadManagerMode);
    +
    31 }
    +
    32 
    +
    33 #endif // OPENPOSE_WRAPPER_AUXILIARY_HPP
    +
    void wrapperConfigureSecurityChecks(const WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const ThreadManagerMode threadManagerMode)
    + + + + + +
    ThreadManagerMode
    Definition: enumClasses.hpp:9
    +
    +
    + + + +