Skip to content
Snippets Groups Projects
Commit e4f40cb2 authored by Fabian Tërnava's avatar Fabian Tërnava
Browse files

added simple skill classes for periodic skills

parent d586d790
No related branches found
No related tags found
No related merge requests found
#include "SimplePeriodicSkill.h"
namespace armarx::skills
{
PeriodicSkill::StepResult SimplePeriodicSkill::step()
{
StepInput i;
i.executorName = this->executorName;
i.parameters = this->parameters;
i.callback = this->callback;
return this->step(i);
}
PeriodicSkill::StepResult SimplePeriodicSkill::step(const StepInput& in)
{
ARMARX_IMPORTANT << "Dummy executing once skill '" << description.skillId
<< "'. Please overwrite this method!";
return {ActiveOrTerminatedSkillStatus::Succeeded, nullptr};
}
}
#pragma once
#include <RobotAPI/libraries/skills/provider/PeriodicSkill.h>
namespace armarx
{
namespace skills
{
class SimplePeriodicSkill : public PeriodicSkill
{
public:
using Base = PeriodicSkill;
struct StepInput
{
std::string executorName;
aron::data::DictPtr parameters;
CallbackT callback;
};
using Base::Base;
protected:
StepResult step() final;
virtual StepResult step(const StepInput& in);
};
} // namespace skills
} // namespace armarx
#include "SimplePeriodicSpecializedSkill.h"
namespace armarx::skills
{
}
#pragma once
#include <RobotAPI/libraries/skills/provider/PeriodicSpecializedSkill.h>
namespace armarx
{
namespace skills
{
template <class AronT>
class SimplePeriodicSpecializedSkill : public PeriodicSpecializedSkill<AronT>
{
public:
using Base = PeriodicSpecializedSkill<AronT>;
using Skill::description;
using Skill::getSkillId;
using StepResult = PeriodicSkill::StepResult;
using Base::Base;
struct SpecializedStepInput
{
std::string executorName;
AronT parameters;
Skill::CallbackT callback;
};
protected:
StepResult step() final
{
AronT p;
p.fromAron(this->parameters);
SpecializedStepInput i;
i.executorName = this->executorName;
i.parameters = p;
i.callback = this->callback;
return this->step(i);
}
virtual StepResult step(const SpecializedStepInput& in)
{
ARMARX_IMPORTANT << "Dummy executing once skill '" << description.skillId
<< "'. Please overwrite this method!";
return {ActiveOrTerminatedSkillStatus::Succeeded, nullptr};
}
};
} // namespace skills
} // namespace armarx
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment