5 #include <yaml-cpp/yaml.h> 10 template <
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
11 struct convert< Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
13 static Node
encode(
const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& matrix)
15 Node node(NodeType::Sequence);
18 if (_Rows == 1 || _Cols == 1) {
19 for (
auto row=0; row<matrix.rows(); row++)
20 for (
auto col=0; col<matrix.cols(); col++)
21 node.push_back(matrix(row,col));
28 static bool decode(
const Node& node, Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& matrix)
31 if (_Rows == 1 || _Cols == 1) {
32 (_Rows == 1 ? matrix.resize(_Rows, node.size()) : matrix.resize(node.size(), _Cols));
33 for (
auto id=0;
id<node.size();
id++)
34 (node[0].size() == 0 ? matrix(
id) = node[id].as<_Scalar>() : matrix(
id) = node[id][0].as<_Scalar>());
46 template <
typename T>
47 struct convert< std::shared_ptr<T> >
49 static Node
encode(
const std::shared_ptr<T>& s)
55 static bool decode(
const Node& node, std::shared_ptr<T>& e)
69 auto node = YAML::Node();
89 auto node = YAML::Node();
125 YAML::Node node = YAML::Load(s);
130 catch(std::exception& e)
133 <<
"Could not convert \"" << s
134 <<
"\" to the type asked\n" << e.what());
153 }
catch (std::exception& e) {
156 return __fix_warnings__;
162 }
catch (std::exception& e) {
165 return __fix_warnings__;
202 YAML::Node node = YAML::Load(s);
206 auto task_base_name = n.first.as<std::string>();
212 if(p.loadFromString(out.c_str()))
213 l.push_back( p.get() );
221 std::cout <<
"Parameter '" << getName() <<
"' : list of " <<
typeid(T).name() <<
'\n';
222 for(
auto p : this->
get())
237 }
catch (std::exception& e) {
240 return __fix_warnings__;
242 const std::list<T >&
get()
const 246 }
catch (std::exception& e) {
249 return __fix_warnings__;
259 std::list<T> __fix_warnings__;
266 ::std::ostream& operator<<(::std::ostream& os, const orca::common::Parameter<T>& p)
268 return os << p.
get();
std::list< T > & get()
Definition: Parameter.h:233
Parameter(const std::list< T > &t)
Definition: Parameter.h:196
static bool decode(const Node &node, orca::optim::QPSolverImplType &e)
Definition: Parameter.h:74
static bool decode(const Node &node, std::shared_ptr< T > &e)
Definition: Parameter.h:55
static Node encode(const Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &matrix)
Definition: Parameter.h:13
This class holds the data for a parameter of any type.
Definition: ParameterData.h:14
bool onLoadFromString(const std::string &s)
Definition: Parameter.h:123
ResolutionStrategy ResolutionStrategyFromString(const std::string &rs)
Definition: ResolutionStrategy.h:58
static bool decode(const Node &node, orca::optim::ResolutionStrategy &e)
Definition: Parameter.h:94
void print() const
Definition: Parameter.h:219
std::string QPSolverImplTypeToString(QPSolverImplType rs)
Definition: QPSolverImplType.h:51
static Node encode(const orca::optim::QPSolverImplType &s)
Definition: Parameter.h:67
void orca_throw(const std::string &arg)
Definition: Utils.h:151
QPSolverImplType
Definition: QPSolverImplType.h:44
bool onLoadFromString(const std::string &s)
Definition: Parameter.h:200
void setName(const std::string &name)
Definition: ParameterBase.h:51
bool isSet() const
Definition: Parameter.h:228
std::string ResolutionStrategyToString(ResolutionStrategy rs)
Definition: ResolutionStrategy.h:51
static Node encode(const std::shared_ptr< T > &s)
Definition: Parameter.h:49
Parameter< T > & operator=(T2 val)
Definition: Parameter.h:169
Parameter(const T2 &t)
Definition: Parameter.h:119
QPSolverImplType QPSolverImplTypeFromString(const std::string &rs)
Definition: QPSolverImplType.h:58
Parameter()
Definition: Parameter.h:194
static Node encode(const orca::optim::ResolutionStrategy &s)
Definition: Parameter.h:87
Parameter()
Definition: Parameter.h:116
void print() const
Definition: Parameter.h:139
bool isSet() const
Definition: Parameter.h:144
ResolutionStrategy
Definition: ResolutionStrategy.h:44
Definition: CartesianAccelerationPID.h:44
Parameter< std::list< T > > & operator=(std::list< std::shared_ptr< T2 > > val)
Definition: Parameter.h:253
Definition: Parameter.h:8
ParameterBase is the public interface to any parameter.
Definition: ParameterBase.h:21
virtual ~Parameter()
Definition: Parameter.h:195
This class holds the conversion from a string (YAML string) to the data type.
Definition: Parameter.h:113
static bool decode(const Node &node, Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &matrix)
Definition: Parameter.h:28