LookAt.cpp
Go to the documentation of this file.
1 #include "LookAt.h"
2 
3 #include <Eigen/Core>
4 #include <Eigen/Geometry>
5 
8 
10 {
11 
12  LookAt::LookAt(const Context& services) : Base(DefaultSkillDescription()), srv_(services)
13  {
14  }
15 
17  LookAt::init(const Base::SpecializedInitInput& in)
18  {
19  gazeTarget.emplace(); // populate optional
20 
21  fromAron(in.parameters.target, gazeTarget.value());
22 
23  return ::armarx::skills::Skill::InitResult{
24  .status = ::armarx::skills::TerminatedSkillStatus::Succeeded};
25  }
26 
28  LookAt::main(const Base::SpecializedMainInput& in)
29  {
30  ARMARX_CHECK(gazeTarget.has_value());
31 
32  ARMARX_INFO << "Committing gaze target " << gazeTarget.value();
33  srv_->viewSelectionClient.commitGazeTarget(gazeTarget.value());
34 
35  return ::armarx::skills::Skill::MainResult{
36  .status = ::armarx::skills::TerminatedSkillStatus::Succeeded};
37  }
38 
39  void
40  LookAt::onStopRequested()
41  {
42  if (gazeTarget.has_value())
43  {
44  srv_->viewSelectionClient.commitGazeTarget(gazeTarget.value());
45  }
46  }
47 
50  {
51  ParamType defaultParameters;
52  defaultParameters.target.duration = armarx::Duration::Seconds(0);
53  defaultParameters.target.name = "";
54  defaultParameters.target.keepInQueue = false;
55 
58  .description = "",
59  .rootProfileDefaults = defaultParameters.toAron(),
61  .parametersType = Params::ToAronType(),
62  };
63  }
64 
65 
66 } // namespace armarx::view_selection::skills
armarx::view_selection::skills
This file is part of ArmarX.
Definition: constants.cpp:25
armarx::skills::SimpleSpecializedSkill< arondto::LookAtParams >::init
Skill::InitResult init() final
Definition: SimpleSpecializedSkill.h:62
armarx::skills::SimpleSpecializedSkill< arondto::LookAtParams >::ParamType
arondto::LookAtParams ParamType
Definition: SimpleSpecializedSkill.h:14
armarx::view_selection::skills::LookAt::Context
Definition: LookAt.h:39
armarx::skills::SkillDescription
Definition: SkillDescription.h:17
LookAt.h
ARMARX_CHECK
#define ARMARX_CHECK(expression)
Shortcut for ARMARX_CHECK_EXPRESSION.
Definition: ExpressionException.h:82
armarx::core::time::Duration::Seconds
static Duration Seconds(std::int64_t seconds)
Constructs a duration in seconds.
Definition: Duration.cpp:72
armarx::view_selection::skills::LookAt::DefaultSkillDescription
static armarx::skills::SkillDescription DefaultSkillDescription()
Definition: LookAt.cpp:49
armarx::skills::SkillDescription::skillId
SkillID skillId
Definition: SkillDescription.h:19
armarx::skills::SimpleSpecializedSkill
Definition: SimpleSpecializedSkill.h:10
armarx::view_selection::skills::skill_ids::LookAt
const armarx::skills::SkillID LookAt
Definition: skill_ids.cpp:40
armarx::skills::Skill::MainResult
A result struct for th main method of a skill.
Definition: Skill.h:39
skill_ids.h
ARMARX_INFO
#define ARMARX_INFO
Definition: Logging.h:181
armarx::skills::SimpleSpecializedSkill< arondto::LookAtParams >::main
Skill::MainResult main() final
Definition: SimpleSpecializedSkill.h:71
armarx::skills::Skill::InitResult
A result struct for skill initialization.
Definition: Skill.h:27
armarx::fromAron
void fromAron(const arondto::PackagePath &dto, PackageFileLocation &bo)
armarx::view_selection::skills::LookAt::LookAt
LookAt(const Context &services)
Definition: LookAt.cpp:12
GazeTarget.h