plugin_info.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_COMMON_PLUGIN_INFO_H
27 #define TESSERACT_COMMON_PLUGIN_INFO_H
28 
31 #include <boost/serialization/export.hpp>
32 #include <Eigen/Core>
33 #include <vector>
34 #include <map>
35 #include <yaml-cpp/yaml.h>
37 
39 
40 namespace boost::serialization
41 {
42 class access;
43 }
44 
45 namespace tesseract_common
46 {
47 struct Serialization;
48 
50 // NOLINTNEXTLINE
51 struct PluginInfo
52 {
54  std::string class_name;
55 
57  YAML::Node config;
58 
60  std::string getConfigString() const;
61 
62  bool operator==(const PluginInfo& rhs) const;
63  bool operator!=(const PluginInfo& rhs) const;
64 
65 private:
68  template <class Archive>
69  void save(Archive& ar, const unsigned int version) const; // NOLINT
70 
71  template <class Archive>
72  void load(Archive& ar, const unsigned int version); // NOLINT
73 
74  template <class Archive>
75  void serialize(Archive& ar, const unsigned int version); // NOLINT
76 };
77 
79 using PluginInfoMap = std::map<std::string, PluginInfo>;
80 
82 {
83  std::string default_plugin;
85  void clear();
86 
87  bool operator==(const PluginInfoContainer& rhs) const;
88  bool operator!=(const PluginInfoContainer& rhs) const;
89 
90 private:
93  template <class Archive>
94  void serialize(Archive& ar, const unsigned int version); // NOLINT
95 };
96 
99 {
101  std::set<std::string> search_paths;
102 
104  std::set<std::string> search_libraries;
105 
107  std::map<std::string, tesseract_common::PluginInfoContainer> fwd_plugin_infos;
108 
110  std::map<std::string, tesseract_common::PluginInfoContainer> inv_plugin_infos;
111 
113  void insert(const KinematicsPluginInfo& other);
114 
116  void clear();
117 
119  bool empty() const;
120 
121  // Yaml Config key
122  static inline const std::string CONFIG_KEY{ "kinematic_plugins" };
123 
124  bool operator==(const KinematicsPluginInfo& rhs) const;
125  bool operator!=(const KinematicsPluginInfo& rhs) const;
126 
127 private:
130  template <class Archive>
131  void serialize(Archive& ar, const unsigned int version); // NOLINT
132 };
133 
136 {
138  std::set<std::string> search_paths;
139 
141  std::set<std::string> search_libraries;
142 
145 
148 
150  void insert(const ContactManagersPluginInfo& other);
151 
153  void clear();
154 
156  bool empty() const;
157 
158  // Yaml Config key
159  static inline const std::string CONFIG_KEY{ "contact_manager_plugins" };
160 
161  bool operator==(const ContactManagersPluginInfo& rhs) const;
162  bool operator!=(const ContactManagersPluginInfo& rhs) const;
163 
164 private:
167  template <class Archive>
168  void serialize(Archive& ar, const unsigned int version); // NOLINT
169 };
170 
173 {
175  std::set<std::string> search_paths;
176 
178  std::set<std::string> search_libraries;
179 
182 
185 
187  void insert(const TaskComposerPluginInfo& other);
188 
190  void clear();
191 
193  bool empty() const;
194 
195  // Yaml Config key
196  static inline const std::string CONFIG_KEY{ "task_composer_plugins" };
197 
198  bool operator==(const TaskComposerPluginInfo& rhs) const;
199  bool operator!=(const TaskComposerPluginInfo& rhs) const;
200 
201 private:
204  template <class Archive>
205  void serialize(Archive& ar, const unsigned int version); // NOLINT
206 };
207 
208 } // namespace tesseract_common
209 
210 BOOST_CLASS_EXPORT_KEY(tesseract_common::PluginInfo)
211 BOOST_CLASS_EXPORT_KEY(tesseract_common::PluginInfoContainer)
212 BOOST_CLASS_EXPORT_KEY(tesseract_common::KinematicsPluginInfo)
213 BOOST_CLASS_EXPORT_KEY(tesseract_common::ContactManagersPluginInfo)
214 BOOST_CLASS_EXPORT_KEY(tesseract_common::TaskComposerPluginInfo)
215 
216 #endif // TESSERACT_COMMON_PLUGIN_INFO_H
tesseract_common::TaskComposerPluginInfo::operator!=
bool operator!=(const TaskComposerPluginInfo &rhs) const
Definition: plugin_info.cpp:282
tesseract_common::ContactManagersPluginInfo::access
friend class boost::serialization::access
Definition: plugin_info.h:165
tesseract_common::ContactManagersPluginInfo::empty
bool empty() const
Check if structure is empty.
Definition: plugin_info.cpp:212
tesseract_common::PluginInfoContainer::clear
void clear()
Definition: plugin_info.cpp:91
tesseract_common::TaskComposerPluginInfo::empty
bool empty() const
Check if structure is empty.
Definition: plugin_info.cpp:267
tesseract_common::TaskComposerPluginInfo::CONFIG_KEY
static const std::string CONFIG_KEY
Definition: plugin_info.h:196
tesseract_common::PluginInfo::save
void save(Archive &ar, const unsigned int version) const
Definition: plugin_info.cpp:64
tesseract_common
Definition: allowed_collision_matrix.h:19
tesseract_common::TaskComposerPluginInfo::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: plugin_info.cpp:285
tesseract_common::ContactManagersPluginInfo::clear
void clear()
Clear the contents.
Definition: plugin_info.cpp:204
tesseract_common::KinematicsPluginInfo::clear
void clear()
Clear the contents.
Definition: plugin_info.cpp:141
tesseract_common::TaskComposerPluginInfo::executor_plugin_infos
tesseract_common::PluginInfoContainer executor_plugin_infos
A map of name to task composer executor plugin information.
Definition: plugin_info.h:181
tesseract_common::TaskComposerPluginInfo::search_libraries
std::set< std::string > search_libraries
A list of library names without the prefix or suffix that contain plugins.
Definition: plugin_info.h:178
tesseract_common::TaskComposerPluginInfo
The task composer plugin information structure.
Definition: plugin_info.h:172
tesseract_common::PluginInfo::operator!=
bool operator!=(const PluginInfo &rhs) const
Definition: plugin_info.cpp:61
macros.h
Common Tesseract Macros.
tesseract_common::PluginInfoContainer
Definition: plugin_info.h:81
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
tesseract_common::KinematicsPluginInfo::operator!=
bool operator!=(const KinematicsPluginInfo &rhs) const
Definition: plugin_info.cpp:166
tesseract_common::TaskComposerPluginInfo::insert
void insert(const TaskComposerPluginInfo &other)
Insert the content of an other TaskComposerPluginInfo.
Definition: plugin_info.cpp:241
tesseract_common::PluginInfo::access
friend class boost::serialization::access
Definition: plugin_info.h:66
tesseract_common::Serialization
Definition: serialization.h:97
eigen_types.h
tesseract_common::ContactManagersPluginInfo::discrete_plugin_infos
tesseract_common::PluginInfoContainer discrete_plugin_infos
A map of name to discrete contact manager plugin information.
Definition: plugin_info.h:144
tesseract_common::ContactManagersPluginInfo::operator!=
bool operator!=(const ContactManagersPluginInfo &rhs) const
Definition: plugin_info.cpp:227
tesseract_common::PluginInfoContainer::access
friend class boost::serialization::access
Definition: plugin_info.h:91
tesseract_common::KinematicsPluginInfo::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: plugin_info.cpp:169
tesseract_common::TaskComposerPluginInfo::operator==
bool operator==(const TaskComposerPluginInfo &rhs) const
Definition: plugin_info.cpp:273
tesseract_common::ContactManagersPluginInfo::continuous_plugin_infos
tesseract_common::PluginInfoContainer continuous_plugin_infos
A map of name to continuous contact manager plugin information.
Definition: plugin_info.h:147
tesseract_common::KinematicsPluginInfo::search_paths
std::set< std::string > search_paths
A list of paths to search for plugins.
Definition: plugin_info.h:101
tesseract_common::PluginInfo::class_name
std::string class_name
The plugin class name.
Definition: plugin_info.h:54
tesseract_common::TaskComposerPluginInfo::task_plugin_infos
tesseract_common::PluginInfoContainer task_plugin_infos
A map of name to task composer task plugin information.
Definition: plugin_info.h:184
tesseract_common::PluginInfo::operator==
bool operator==(const PluginInfo &rhs) const
Definition: plugin_info.cpp:53
tesseract_common::KinematicsPluginInfo::insert
void insert(const KinematicsPluginInfo &other)
Insert the content of an other KinematicsPluginInfo.
Definition: plugin_info.cpp:117
tesseract_common::PluginInfo::getConfigString
std::string getConfigString() const
Get the yaml config as a string.
Definition: plugin_info.cpp:51
tesseract_common::PluginInfoContainer::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: plugin_info.cpp:108
tesseract_common::PluginInfo::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: plugin_info.cpp:82
tesseract_common::PluginInfo::load
void load(Archive &ar, const unsigned int version)
Definition: plugin_info.cpp:72
tesseract_common::TaskComposerPluginInfo::access
friend class boost::serialization::access
Definition: plugin_info.h:202
tesseract_common::KinematicsPluginInfo::inv_plugin_infos
std::map< std::string, tesseract_common::PluginInfoContainer > inv_plugin_infos
A map of group name to inverse kinematics plugin information.
Definition: plugin_info.h:110
tesseract_common::ContactManagersPluginInfo
The contact managers plugin information structure.
Definition: plugin_info.h:135
tesseract_common::PluginInfo
The Plugin Information struct.
Definition: plugin_info.h:51
tesseract_common::KinematicsPluginInfo::access
friend class boost::serialization::access
Definition: plugin_info.h:128
tesseract_common::TaskComposerPluginInfo::search_paths
std::set< std::string > search_paths
A list of paths to search for plugins.
Definition: plugin_info.h:175
tesseract_common::PluginInfoContainer::default_plugin
std::string default_plugin
Definition: plugin_info.h:83
boost::serialization
Definition: allowed_collision_matrix.h:14
tesseract_common::KinematicsPluginInfo
The kinematics plugin information structure.
Definition: plugin_info.h:98
tesseract_common::PluginInfo::config
YAML::Node config
The plugin config data.
Definition: plugin_info.h:57
tesseract_common::KinematicsPluginInfo::operator==
bool operator==(const KinematicsPluginInfo &rhs) const
Definition: plugin_info.cpp:154
tesseract_common::PluginInfoMap
std::map< std::string, PluginInfo > PluginInfoMap
A map of PluginInfo to user defined name.
Definition: plugin_info.h:79
tesseract_common::KinematicsPluginInfo::fwd_plugin_infos
std::map< std::string, tesseract_common::PluginInfoContainer > fwd_plugin_infos
A map of group name to forward kinematics plugin information.
Definition: plugin_info.h:107
tesseract_common::ContactManagersPluginInfo::search_libraries
std::set< std::string > search_libraries
A list of library names without the prefix or suffix that contain plugins.
Definition: plugin_info.h:141
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
Definition: macros.h:72
tesseract_common::ContactManagersPluginInfo::insert
void insert(const ContactManagersPluginInfo &other)
Insert the content of an other ContactManagersPluginInfo.
Definition: plugin_info.cpp:180
tesseract_common::PluginInfoContainer::operator!=
bool operator!=(const PluginInfoContainer &rhs) const
Definition: plugin_info.cpp:105
tesseract_common::TaskComposerPluginInfo::clear
void clear()
Clear the contents.
Definition: plugin_info.cpp:259
tesseract_common::ContactManagersPluginInfo::CONFIG_KEY
static const std::string CONFIG_KEY
Definition: plugin_info.h:159
tesseract_common::ContactManagersPluginInfo::operator==
bool operator==(const ContactManagersPluginInfo &rhs) const
Definition: plugin_info.cpp:218
tesseract_common::PluginInfoContainer::plugins
PluginInfoMap plugins
Definition: plugin_info.h:84
tesseract_common::ContactManagersPluginInfo::search_paths
std::set< std::string > search_paths
A list of paths to search for plugins.
Definition: plugin_info.h:138
tesseract_common::KinematicsPluginInfo::search_libraries
std::set< std::string > search_libraries
A list of library names without the prefix or suffix that contain plugins.
Definition: plugin_info.h:104
tesseract_common::PluginInfoContainer::operator==
bool operator==(const PluginInfoContainer &rhs) const
Definition: plugin_info.cpp:97
tesseract_common::KinematicsPluginInfo::CONFIG_KEY
static const std::string CONFIG_KEY
Definition: plugin_info.h:122
tesseract_common::ContactManagersPluginInfo::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: plugin_info.cpp:230
tesseract_common::KinematicsPluginInfo::empty
bool empty() const
Check if structure is empty.
Definition: plugin_info.cpp:149


tesseract_common
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:40