Oac.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 Nils Adermann <naderman@naderman.de>
18* @date 2012
19* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#pragma once
24
26
28#include <MemoryX/interface/core/EntityBase.h>
29#include <MemoryX/interface/memorytypes/MemoryEntities.h>
30
32{
34}
35
36namespace memoryx
37{
38 class Oac;
40
41 class Oac : public OacBase, public Entity
42 {
43 friend class OacObjectFactory;
44
45 public:
46 /**
47 * Constructs a new Oac entity. A name needs to be assigned. The id is optional.
48 * The Oac can also be associated with a state via UUID and the statechart this state can be found in
49 *
50 * @param name friendly name of the OAC
51 * @param id optional id of the OAC
52 * @param statechartProxyName optional statechart proxy name this OAC is associated with
53 * @param stateUUID optional stateUUID this OAC is associated with
54 **/
55 Oac(const std::string& name = std::string(),
56 const std::string& id = "",
57 const std::string& statechartProxyName = "",
58 const std::string& stateUUID = "",
59 bool isPlannable = true);
60
61 std::vector<std::string>
62 getParameters(const ::Ice::Current& = Ice::emptyCurrent) const override;
63 void setParameters(const std::vector<std::string>& parameters,
64 const ::Ice::Current& = Ice::emptyCurrent) override;
65
66 std::string
67 getStatechartProxyName(const ::Ice::Current& = Ice::emptyCurrent) const override;
68 void setStatechartProxyName(const std::string& statechartProxyName,
69 const ::Ice::Current& = Ice::emptyCurrent) override;
70
71 std::string getStateUUID(const ::Ice::Current& = Ice::emptyCurrent) const override;
72 void setStateUUID(const std::string& stateUUID,
73 const ::Ice::Current& = Ice::emptyCurrent) override;
74
75 bool isPlannable(const ::Ice::Current& = Ice::emptyCurrent) const override;
76 void setPlannable(bool isPlannable, const ::Ice::Current& = Ice::emptyCurrent) override;
77
78 OacPredictionFunctionBasePtr
79 getPredictionFunction(const ::Ice::Current& = Ice::emptyCurrent) const override;
80 void setPredictionFunction(const ::memoryx::OacPredictionFunctionBasePtr& prediction,
81 const ::Ice::Current& = Ice::emptyCurrent) override;
82
83 OacStatisticalMeasureBasePtr
84 getStatisticalMeasure(const ::Ice::Current& = Ice::emptyCurrent) const override;
85 void setStatisticalMeasure(const ::memoryx::OacStatisticalMeasureBasePtr& measure,
86 const ::Ice::Current& = Ice::emptyCurrent) override;
87
88 Ice::ObjectPtr ice_clone() const override;
89 OacPtr clone(const Ice::Current& c = Ice::emptyCurrent) const;
90 };
91} // namespace memoryx
constexpr T c
static VariantTypeId addTypeName(const std::string &typeName)
Register a new type for the use in a Variant.
Definition Variant.cpp:869
Entity(const Entity &source)
Definition Entity.cpp:34
OacStatisticalMeasureBasePtr getStatisticalMeasure(const ::Ice::Current &=Ice::emptyCurrent) const override
Definition Oac.cpp:116
OacPredictionFunctionBasePtr getPredictionFunction(const ::Ice::Current &=Ice::emptyCurrent) const override
Definition Oac.cpp:102
void setPredictionFunction(const ::memoryx::OacPredictionFunctionBasePtr &prediction, const ::Ice::Current &=Ice::emptyCurrent) override
Definition Oac.cpp:109
void setStatisticalMeasure(const ::memoryx::OacStatisticalMeasureBasePtr &measure, const ::Ice::Current &=Ice::emptyCurrent) override
Definition Oac.cpp:123
void setStateUUID(const std::string &stateUUID, const ::Ice::Current &=Ice::emptyCurrent) override
Definition Oac.cpp:84
void setParameters(const std::vector< std::string > &parameters, const ::Ice::Current &=Ice::emptyCurrent) override
Definition Oac.cpp:58
bool isPlannable(const ::Ice::Current &=Ice::emptyCurrent) const override
Definition Oac.cpp:90
Oac(const std::string &name=std::string(), const std::string &id="", const std::string &statechartProxyName="", const std::string &stateUUID="", bool isPlannable=true)
Constructs a new Oac entity.
Definition Oac.cpp:31
void setStatechartProxyName(const std::string &statechartProxyName, const ::Ice::Current &=Ice::emptyCurrent) override
Definition Oac.cpp:72
OacPtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition Oac.cpp:136
std::vector< std::string > getParameters(const ::Ice::Current &=Ice::emptyCurrent) const override
Definition Oac.cpp:50
Ice::ObjectPtr ice_clone() const override
Definition Oac.cpp:130
std::string getStatechartProxyName(const ::Ice::Current &=Ice::emptyCurrent) const override
Definition Oac.cpp:66
std::string getStateUUID(const ::Ice::Current &=Ice::emptyCurrent) const override
Definition Oac.cpp:78
void setPlannable(bool isPlannable, const ::Ice::Current &=Ice::emptyCurrent) override
Definition Oac.cpp:96
friend class OacObjectFactory
Definition Oac.h:43
Ice::Int VariantTypeId
Definition Variant.h:43
const armarx::VariantTypeId Oac
Definition Oac.h:33
VirtualRobot headers.
IceInternal::Handle< Oac > OacPtr
Definition Oac.h:39