WB-Toolbox  6.0.0
ASimulinkToolboxforWholeBodyControl
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Configuration.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  *
5  * This software may be modified and distributed under the terms of the
6  * GNU Lesser General Public License v2.1 or any later version.
7  */
8 
9 #ifndef WBT_TOOLBOXCONFIG_H
10 #define WBT_TOOLBOXCONFIG_H
11 
12 #include <array>
13 #include <memory>
14 #include <string>
15 #include <vector>
16 
17 namespace wbt {
18  namespace base {
19  class Configuration;
20  } // namespace base
21 } // namespace wbt
22 
37 {
38 private:
39  class impl;
40  std::unique_ptr<impl> pImpl;
41 
42 public:
43  Configuration(const std::string& confKey = {});
44  Configuration(const Configuration& conf);
46 
47  // ===========
48  // SET METHODS
49  // ===========
50 
61  void setParameters(const std::string& robotName,
62  const std::string& urdfFile,
63  const std::vector<std::string>& controlledJoints,
64  const std::vector<std::string>& controlBoardsNames,
65  const std::string& localName,
66  const std::array<double, 3>& gravityVector);
67 
73  void setRobotName(const std::string& robotName);
74 
80  void setUrdfFile(const std::string& urdfFile);
81 
87  void setControlledJoints(const std::vector<std::string>& controlledJoints);
88 
94  void setControlBoardsNames(const std::vector<std::string>& controlBoardsNames);
95 
101  void setLocalName(const std::string& localName);
102 
108  void setGravityVector(const std::array<double, 3>& gravityVector);
109 
110  // ===========
111  // GET METHODS
112  // ===========
113 
119  const std::string& getRobotName() const;
120 
126  const std::string& getUrdfFile() const;
127 
133  const std::vector<std::string>& getControlledJoints() const;
134 
140  const std::vector<std::string>& getControlBoardsNames() const;
141 
147  const std::string& getLocalName() const;
148 
159  const std::string getUniqueId() const;
160 
166  const std::array<double, 3>& getGravityVector() const;
167 
173  const size_t& getNumberOfDoFs() const;
174 
180  const std::string getConfKey() const;
181 
182  // =============
183  // OTHER METHODS
184  // =============
185 
193  bool isValid() const;
194 
195  // =====================
196  // OPERATORS OVERLOADING
197  // =====================
198 
199  bool operator==(const Configuration& config) const;
200 };
201 
202 #endif // WBT_TOOLBOXCONFIG_H
wbt
Definition: Configuration.h:17
wbt::base::Configuration::impl
Definition: Configuration.cpp:15
wbt::base::Configuration::setControlBoardsNames
void setControlBoardsNames(const std::vector< std::string > &controlBoardsNames)
Set the names of the used ControlBoard names.
Definition: Configuration.cpp:78
wbt::base::Configuration::getControlBoardsNames
const std::vector< std::string > & getControlBoardsNames() const
Get the names of the used ControlBoard names.
Definition: Configuration.cpp:131
wbt::base::Configuration::setGravityVector
void setGravityVector(const std::array< double, 3 > &gravityVector)
Set the gravity vector.
Definition: Configuration.cpp:108
wbt::base::Configuration::pImpl
std::unique_ptr< impl > pImpl
Definition: Configuration.h:39
wbt::base::Configuration::setRobotName
void setRobotName(const std::string &robotName)
Set the name of the robot.
Definition: Configuration.cpp:62
wbt::base::Configuration::getLocalName
const std::string & getLocalName() const
Get the prefix appended to the opened ports. A leading "/" is always present.
Definition: Configuration.cpp:136
wbt::base::Configuration::getControlledJoints
const std::vector< std::string > & getControlledJoints() const
Get the subset of controlled joints.
Definition: Configuration.cpp:126
wbt::base::Configuration::getUniqueId
const std::string getUniqueId() const
Generate a unique identifier.
Definition: Configuration.cpp:93
wbt::base::Configuration::setParameters
void setParameters(const std::string &robotName, const std::string &urdfFile, const std::vector< std::string > &controlledJoints, const std::vector< std::string > &controlBoardsNames, const std::string &localName, const std::array< double, 3 > &gravityVector)
Initialize the object.
Definition: Configuration.cpp:47
wbt::base::Configuration::Configuration
Configuration(const std::string &confKey={})
Definition: Configuration.cpp:30
wbt::base::Configuration::setControlledJoints
void setControlledJoints(const std::vector< std::string > &controlledJoints)
Set the subset of controlled joints.
Definition: Configuration.cpp:72
wbt::base::Configuration::getUrdfFile
const std::string & getUrdfFile() const
Get the name of the file containing the urdf model.
Definition: Configuration.cpp:121
wbt::base::Configuration
Store the configuration for whole-body blocks.
Definition: Configuration.h:36
wbt::base::Configuration::isValid
bool isValid() const
Check if the congiguration is valid.
Definition: Configuration.cpp:159
wbt::base::Configuration::operator==
bool operator==(const Configuration &config) const
Definition: Configuration.cpp:170
wbt::base::Configuration::setLocalName
void setLocalName(const std::string &localName)
Set the prefix appended to the opened ports.
Definition: Configuration.cpp:83
wbt::base::Configuration::setUrdfFile
void setUrdfFile(const std::string &urdfFile)
Set the name of the file containing the urdf model.
Definition: Configuration.cpp:67
wbt::base::Configuration::getGravityVector
const std::array< double, 3 > & getGravityVector() const
Get the gravity vector.
Definition: Configuration.cpp:141
wbt::base::Configuration::~Configuration
~Configuration()
wbt::base::Configuration::getConfKey
const std::string getConfKey() const
Get the unique identifier of this configuration object.
Definition: Configuration.cpp:151
wbt::base::Configuration::getNumberOfDoFs
const size_t & getNumberOfDoFs() const
Definition: Configuration.cpp:146
wbt::base::Configuration::getRobotName
const std::string & getRobotName() const
Get the name of the robot.
Definition: Configuration.cpp:116