OpenPoseStressTest.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @package VisionX::ArmarXObjects::OpenPoseStressTest
17
* @author Christian R. G. Dreher <c.dreher@kit.edu>
18
* @date 2021
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
24
#include <
VisionX/components/development/OpenPoseStressTest/OpenPoseStressTest.h
>
25
26
27
// STD/STL
28
#include <chrono>
29
#include <thread>
30
31
// ArmarX
32
#include <
ArmarXCore/core/application/properties/PluginAll.h
>
33
34
35
visionx::opstress::Component::~Component
() =
default
;
36
37
void
38
visionx::opstress::Component::onInitComponent
()
39
{
40
}
41
42
void
43
visionx::opstress::Component::onConnectComponent
()
44
{
45
task =
new
armarx::RunningTask<Component>
(
this
, &Component::run);
46
task->start();
47
}
48
49
void
50
visionx::opstress::Component::onDisconnectComponent
()
51
{
52
const
bool
join =
true
;
53
task->stop(join);
54
}
55
56
void
57
visionx::opstress::Component::onExitComponent
()
58
{
59
}
60
61
std::string
62
visionx::opstress::Component::GetDefaultName
()
63
{
64
return
"OpenPoseStressTest"
;
65
}
66
67
std::string
68
visionx::opstress::Component::getDefaultName
()
const
69
{
70
return
GetDefaultName();
71
}
72
73
armarx::PropertyDefinitionsPtr
74
visionx::opstress::Component::createPropertyDefinitions
()
75
{
76
armarx::PropertyDefinitionsPtr
defs =
77
new
armarx::ComponentPropertyDefinitions
{getConfigIdentifier()};
78
79
defs->component(op);
80
defs->optional(wait_for,
"wait_for"
,
"Time to wait between starting and stopping OpenPose."
);
81
82
return
defs;
83
}
84
85
void
86
visionx::opstress::Component::run()
87
{
88
const
std::chrono::milliseconds t1 = std::chrono::milliseconds{wait_for.toMilliSeconds()};
89
const
std::chrono::milliseconds t2{200};
90
91
while
(not task->isStopped())
92
{
93
op->start();
94
std::this_thread::sleep_for(t1);
95
op->stop();
96
std::this_thread::sleep_for(t2);
97
}
98
}
visionx::opstress::Component::onExitComponent
void onExitComponent() override
Hook for subclass.
Definition:
OpenPoseStressTest.cpp:57
visionx::opstress::Component::createPropertyDefinitions
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition:
OpenPoseStressTest.cpp:74
visionx::opstress::Component::onDisconnectComponent
void onDisconnectComponent() override
Hook for subclass.
Definition:
OpenPoseStressTest.cpp:50
visionx::opstress::Component::GetDefaultName
static std::string GetDefaultName()
Definition:
OpenPoseStressTest.cpp:62
armarx::RunningTask
Definition:
ArmarXMultipleObjectsScheduler.h:36
visionx::opstress::Component::onConnectComponent
void onConnectComponent() override
Pure virtual hook for the subclass.
Definition:
OpenPoseStressTest.cpp:43
visionx::opstress::Component::onInitComponent
void onInitComponent() override
Pure virtual hook for the subclass.
Definition:
OpenPoseStressTest.cpp:38
PluginAll.h
armarx::ComponentPropertyDefinitions
Default component property definition container.
Definition:
Component.h:69
visionx::opstress::Component::getDefaultName
std::string getDefaultName() const override
Retrieve default name of component.
Definition:
OpenPoseStressTest.cpp:68
IceUtil::Handle< class PropertyDefinitionContainer >
OpenPoseStressTest.h
visionx::opstress::Component::~Component
~Component() override
VisionX
components
development
OpenPoseStressTest
OpenPoseStressTest.cpp
Generated on Sat Mar 29 2025 09:17:35 for armarx_documentation by
1.8.17