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
38
void
39
visionx::opstress::Component::onInitComponent
()
40
{
41
42
}
43
44
45
void
46
visionx::opstress::Component::onConnectComponent
()
47
{
48
task =
new
armarx::RunningTask<Component>
(
this
, &Component::run);
49
task->start();
50
}
51
52
53
void
54
visionx::opstress::Component::onDisconnectComponent
()
55
{
56
const
bool
join =
true
;
57
task->stop(join);
58
}
59
60
61
void
62
visionx::opstress::Component::onExitComponent
()
63
{
64
65
}
66
67
68
std::string
69
visionx::opstress::Component::GetDefaultName
()
70
{
71
return
"OpenPoseStressTest"
;
72
}
73
74
75
std::string
76
visionx::opstress::Component::getDefaultName
()
const
77
{
78
return
GetDefaultName();
79
}
80
81
82
armarx::PropertyDefinitionsPtr
83
visionx::opstress::Component::createPropertyDefinitions
()
84
{
85
armarx::PropertyDefinitionsPtr
defs =
86
new
armarx::ComponentPropertyDefinitions
{getConfigIdentifier()};
87
88
defs->component(op);
89
defs->optional(wait_for,
"wait_for"
,
"Time to wait between starting and stopping OpenPose."
);
90
91
return
defs;
92
}
93
94
95
void
96
visionx::opstress::Component::run()
97
{
98
const
std::chrono::milliseconds t1 = std::chrono::milliseconds{wait_for.toMilliSeconds()};
99
const
std::chrono::milliseconds t2{200};
100
101
while
(not task->isStopped())
102
{
103
op->start();
104
std::this_thread::sleep_for(t1);
105
op->stop();
106
std::this_thread::sleep_for(t2);
107
}
108
}
visionx::opstress::Component::onExitComponent
void onExitComponent() override
Hook for subclass.
Definition:
OpenPoseStressTest.cpp:62
visionx::opstress::Component::createPropertyDefinitions
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition:
OpenPoseStressTest.cpp:83
visionx::opstress::Component::onDisconnectComponent
void onDisconnectComponent() override
Hook for subclass.
Definition:
OpenPoseStressTest.cpp:54
visionx::opstress::Component::GetDefaultName
static std::string GetDefaultName()
Definition:
OpenPoseStressTest.cpp:69
armarx::RunningTask
Definition:
ArmarXMultipleObjectsScheduler.h:35
visionx::opstress::Component::onConnectComponent
void onConnectComponent() override
Pure virtual hook for the subclass.
Definition:
OpenPoseStressTest.cpp:46
visionx::opstress::Component::onInitComponent
void onInitComponent() override
Pure virtual hook for the subclass.
Definition:
OpenPoseStressTest.cpp:39
PluginAll.h
armarx::ComponentPropertyDefinitions
Default component property definition container.
Definition:
Component.h:70
visionx::opstress::Component::getDefaultName
std::string getDefaultName() const override
Retrieve default name of component.
Definition:
OpenPoseStressTest.cpp:76
IceUtil::Handle< class PropertyDefinitionContainer >
OpenPoseStressTest.h
visionx::opstress::Component::~Component
~Component() override
VisionX
components
development
OpenPoseStressTest
OpenPoseStressTest.cpp
Generated on Sat Oct 12 2024 09:14:15 for armarx_documentation by
1.8.17