LocalizationStrategyRepeated.h
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 MemoryX::Core
17
* @author Kai Welke <welke@kit.edu>
18
* @copyright 2012 Kai Welke
19
* @license http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
#pragma once
24
25
26
#include <
MemoryX/libraries/helpers/ObjectRecognitionHelpers/LocalizationJob.h
>
27
28
29
#include <IceUtil/Time.h>
30
31
#include <
ArmarXCore/core/time/TimeUtil.h
>
32
33
namespace
memoryx
34
{
35
class
LocalizationStrategyRepeated
:
public
LocalizationJob
36
{
37
public
:
38
LocalizationStrategyRepeated
(
unsigned
int
cycleTimeMS)
39
{
40
started =
false
;
41
this->cycleTimeMS = cycleTimeMS;
42
}
43
44
void
start
()
override
45
{
46
startTime =
armarx::TimeUtil::GetTime
();
47
started =
true
;
48
}
49
50
bool
waiting
()
override
51
{
52
if
(!started)
53
{
54
return
true
;
55
}
56
else
57
{
58
IceUtil::Time
currentTime =
armarx::TimeUtil::GetTime
();
59
IceUtil::Time
diff = currentTime - startTime;
60
61
if
(diff.toMilliSeconds() > cycleTimeMS)
62
{
63
return
true
;
64
}
65
else
66
{
67
return
false
;
68
}
69
}
70
}
71
72
private
:
73
bool
started;
74
IceUtil::Time
startTime;
75
unsigned
int
cycleTimeMS;
76
};
77
78
using
LocalizationStrategyRepeatedPtr
=
IceUtil::Handle<LocalizationStrategyRepeated>
;
79
}
80
memoryx::LocalizationStrategyRepeated::LocalizationStrategyRepeated
LocalizationStrategyRepeated(unsigned int cycleTimeMS)
Definition:
LocalizationStrategyRepeated.h:38
memoryx::LocalizationStrategyRepeated
Definition:
LocalizationStrategyRepeated.h:35
memoryx::LocalizationJob
The LocalizationJob class is the description of the basic workload executed by ObjectLocalizationMemo...
Definition:
LocalizationJob.h:42
memoryx
VirtualRobot headers.
Definition:
CommonPlacesTester.cpp:48
LocalizationJob.h
armarx::armem::Time
armarx::core::time::DateTime Time
Definition:
forward_declarations.h:13
armarx::TimeUtil::GetTime
static IceUtil::Time GetTime(TimeMode timeMode=TimeMode::VirtualTime)
Get the current time.
Definition:
TimeUtil.cpp:42
memoryx::LocalizationStrategyRepeated::start
void start() override
Definition:
LocalizationStrategyRepeated.h:44
TimeUtil.h
IceUtil::Handle
Definition:
forward_declarations.h:29
memoryx::LocalizationStrategyRepeated::waiting
bool waiting() override
Definition:
LocalizationStrategyRepeated.h:50
MemoryX
libraries
helpers
ObjectRecognitionHelpers
LocalizationStrategyRepeated.h
Generated on Sat Oct 12 2024 09:14:05 for armarx_documentation by
1.8.17