#include <contact_managers_plugin_factory.h>
Public Member Functions | |
void | addContinuousContactManagerPlugin (const std::string &name, tesseract_common::PluginInfo plugin_info) |
Add a continuous contact manager plugin. More... | |
void | addDiscreteContactManagerPlugin (const std::string &name, tesseract_common::PluginInfo plugin_info) |
Add a discrete contact manager plugin. More... | |
void | addSearchLibrary (const std::string &library_name) |
Add a library to search for plugin name. More... | |
void | addSearchPath (const std::string &path) |
Add location for the plugin loader to search. More... | |
void | clearSearchLibraries () |
Clean the search libraries. More... | |
void | clearSearchPaths () |
Clear the search paths. More... | |
ContactManagersPluginFactory () | |
ContactManagersPluginFactory (const ContactManagersPluginFactory &)=default | |
ContactManagersPluginFactory (const std::filesystem::path &config, const tesseract_common::ResourceLocator &locator) | |
Load plugins from file path. More... | |
ContactManagersPluginFactory (const std::string &config, const tesseract_common::ResourceLocator &locator) | |
Load plugins from string. More... | |
ContactManagersPluginFactory (ContactManagersPluginFactory &&)=default | |
ContactManagersPluginFactory (YAML::Node config, const tesseract_common::ResourceLocator &locator) | |
Load plugins from yaml node. More... | |
std::unique_ptr< ContinuousContactManager > | createContinuousContactManager (const std::string &name) const |
Get continuous contact manager object given name. More... | |
std::unique_ptr< ContinuousContactManager > | createContinuousContactManager (const std::string &name, const tesseract_common::PluginInfo &plugin_info) const |
Get continuous contact manager object given plugin info. More... | |
std::unique_ptr< DiscreteContactManager > | createDiscreteContactManager (const std::string &name) const |
Get discrete contact manager object given name. More... | |
std::unique_ptr< DiscreteContactManager > | createDiscreteContactManager (const std::string &name, const tesseract_common::PluginInfo &plugin_info) const |
Get discrete contact manager object given plugin info. More... | |
YAML::Node | getConfig () const |
Get the plugin information config as a yaml node. More... | |
tesseract_common::PluginInfoMap | getContinuousContactManagerPlugins () const |
Get the map of continuous contact manager plugin. More... | |
std::string | getDefaultContinuousContactManagerPlugin () const |
Get the default continuous contact manager. More... | |
std::string | getDefaultDiscreteContactManagerPlugin () const |
Get the default discrete contact manager. More... | |
tesseract_common::PluginInfoMap | getDiscreteContactManagerPlugins () const |
Get the map of discrete contact manager plugin. More... | |
std::set< std::string > | getSearchLibraries () const |
Get the plugin search libraries. More... | |
std::set< std::string > | getSearchPaths () const |
Get the plugin search paths. More... | |
bool | hasContinuousContactManagerPlugins () const |
Check if it has continuous contact manager plugins. More... | |
bool | hasDiscreteContactManagerPlugins () const |
Check if it has discrete contact manager plugins. More... | |
ContactManagersPluginFactory & | operator= (const ContactManagersPluginFactory &)=default |
ContactManagersPluginFactory & | operator= (ContactManagersPluginFactory &&)=default |
void | removeContinuousContactManagerPlugin (const std::string &name) |
Remove continuous contact manager plugin. More... | |
void | removeDiscreteContactManagerPlugin (const std::string &name) |
Remove discrete contact manager plugin. More... | |
void | saveConfig (const std::filesystem::path &file_path) const |
Save the plugin information to a yaml config file. More... | |
void | setDefaultContinuousContactManagerPlugin (const std::string &name) |
Set a default continuous contact manager. More... | |
void | setDefaultDiscreteContactManagerPlugin (const std::string &name) |
Set a default discrete contact manager. More... | |
~ContactManagersPluginFactory () | |
Private Member Functions | |
void | loadConfig (const YAML::Node &config) |
Private Attributes | |
std::map< std::string, ContinuousContactManagerFactory::Ptr > | continuous_factories_ |
tesseract_common::PluginInfoContainer | continuous_plugin_info_ |
std::map< std::string, DiscreteContactManagerFactory::Ptr > | discrete_factories_ |
tesseract_common::PluginInfoContainer | discrete_plugin_info_ |
boost_plugin_loader::PluginLoader | plugin_loader_ |
Definition at line 100 of file contact_managers_plugin_factory.h.
tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory | ( | ) |
Definition at line 53 of file contact_managers_plugin_factory.cpp.
|
default |
|
default |
|
default |
tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory | ( | YAML::Node | config, |
const tesseract_common::ResourceLocator & | locator | ||
) |
Load plugins from yaml node.
config | The config node |
Definition at line 77 of file contact_managers_plugin_factory.cpp.
tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory | ( | const std::filesystem::path & | config, |
const tesseract_common::ResourceLocator & | locator | ||
) |
Load plugins from file path.
config | The config file path |
Definition at line 85 of file contact_managers_plugin_factory.cpp.
tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory | ( | const std::string & | config, |
const tesseract_common::ResourceLocator & | locator | ||
) |
Load plugins from string.
config | The config string |
Definition at line 92 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::addContinuousContactManagerPlugin | ( | const std::string & | name, |
tesseract_common::PluginInfo | plugin_info | ||
) |
Add a continuous contact manager plugin.
name | The name |
plugin_info | The plugin information |
Definition at line 172 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::addDiscreteContactManagerPlugin | ( | const std::string & | name, |
tesseract_common::PluginInfo | plugin_info | ||
) |
Add a discrete contact manager plugin.
name | The name |
plugin_info | The plugin information |
Definition at line 121 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::addSearchLibrary | ( | const std::string & | library_name | ) |
Add a library to search for plugin name.
library_name | The library name without the prefix or suffix |
Definition at line 109 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::addSearchPath | ( | const std::string & | path | ) |
Add location for the plugin loader to search.
path | The full path to the directory |
Definition at line 103 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::clearSearchLibraries | ( | ) |
Clean the search libraries.
Definition at line 119 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::clearSearchPaths | ( | ) |
Clear the search paths.
Definition at line 107 of file contact_managers_plugin_factory.cpp.
std::unique_ptr< ContinuousContactManager > tesseract_collision::ContactManagersPluginFactory::createContinuousContactManager | ( | const std::string & | name | ) | const |
Get continuous contact manager object given name.
This looks for continuous contact manager plugin info. If not found nullptr is returned.
name | The name |
Definition at line 267 of file contact_managers_plugin_factory.cpp.
std::unique_ptr< ContinuousContactManager > tesseract_collision::ContactManagersPluginFactory::createContinuousContactManager | ( | const std::string & | name, |
const tesseract_common::PluginInfo & | plugin_info | ||
) | const |
Get continuous contact manager object given plugin info.
name | The name |
plugin_info | The plugin information to create kinematics object |
Definition at line 282 of file contact_managers_plugin_factory.cpp.
std::unique_ptr< DiscreteContactManager > tesseract_collision::ContactManagersPluginFactory::createDiscreteContactManager | ( | const std::string & | name | ) | const |
Get discrete contact manager object given name.
This looks for discrete contact manager plugin info. If not found nullptr is returned.
name | The name |
Definition at line 224 of file contact_managers_plugin_factory.cpp.
std::unique_ptr< DiscreteContactManager > tesseract_collision::ContactManagersPluginFactory::createDiscreteContactManager | ( | const std::string & | name, |
const tesseract_common::PluginInfo & | plugin_info | ||
) | const |
Get discrete contact manager object given plugin info.
name | The name |
plugin_info | The plugin information to create kinematics object |
Definition at line 239 of file contact_managers_plugin_factory.cpp.
YAML::Node tesseract_collision::ContactManagersPluginFactory::getConfig | ( | ) | const |
Get the plugin information config as a yaml node.
Definition at line 316 of file contact_managers_plugin_factory.cpp.
tesseract_common::PluginInfoMap tesseract_collision::ContactManagersPluginFactory::getContinuousContactManagerPlugins | ( | ) | const |
Get the map of continuous contact manager plugin.
Definition at line 183 of file contact_managers_plugin_factory.cpp.
std::string tesseract_collision::ContactManagersPluginFactory::getDefaultContinuousContactManagerPlugin | ( | ) | const |
Get the default continuous contact manager.
Definition at line 211 of file contact_managers_plugin_factory.cpp.
std::string tesseract_collision::ContactManagersPluginFactory::getDefaultDiscreteContactManagerPlugin | ( | ) | const |
Get the default discrete contact manager.
Definition at line 160 of file contact_managers_plugin_factory.cpp.
tesseract_common::PluginInfoMap tesseract_collision::ContactManagersPluginFactory::getDiscreteContactManagerPlugins | ( | ) | const |
Get the map of discrete contact manager plugin.
Definition at line 132 of file contact_managers_plugin_factory.cpp.
std::set< std::string > tesseract_collision::ContactManagersPluginFactory::getSearchLibraries | ( | ) | const |
Get the plugin search libraries.
Definition at line 114 of file contact_managers_plugin_factory.cpp.
std::set< std::string > tesseract_collision::ContactManagersPluginFactory::getSearchPaths | ( | ) | const |
Get the plugin search paths.
Definition at line 105 of file contact_managers_plugin_factory.cpp.
bool tesseract_collision::ContactManagersPluginFactory::hasContinuousContactManagerPlugins | ( | ) | const |
Check if it has continuous contact manager plugins.
Definition at line 178 of file contact_managers_plugin_factory.cpp.
bool tesseract_collision::ContactManagersPluginFactory::hasDiscreteContactManagerPlugins | ( | ) | const |
Check if it has discrete contact manager plugins.
Definition at line 127 of file contact_managers_plugin_factory.cpp.
|
private |
Definition at line 64 of file contact_managers_plugin_factory.cpp.
|
default |
|
default |
void tesseract_collision::ContactManagersPluginFactory::removeContinuousContactManagerPlugin | ( | const std::string & | name | ) |
Remove continuous contact manager plugin.
name | The name of the contact manager to remove |
Definition at line 188 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::removeDiscreteContactManagerPlugin | ( | const std::string & | name | ) |
Remove discrete contact manager plugin.
name | The name of the contact manager to remove |
Definition at line 137 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::saveConfig | ( | const std::filesystem::path & | file_path | ) | const |
Save the plugin information to a yaml config file.
file_path | The file path |
Definition at line 309 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::setDefaultContinuousContactManagerPlugin | ( | const std::string & | name | ) |
Set a default continuous contact manager.
name | The name |
Definition at line 201 of file contact_managers_plugin_factory.cpp.
void tesseract_collision::ContactManagersPluginFactory::setDefaultDiscreteContactManagerPlugin | ( | const std::string & | name | ) |
Set a default discrete contact manager.
name | The name |
Definition at line 150 of file contact_managers_plugin_factory.cpp.
|
mutableprivate |
Definition at line 282 of file contact_managers_plugin_factory.h.
|
private |
Definition at line 284 of file contact_managers_plugin_factory.h.
|
mutableprivate |
Definition at line 281 of file contact_managers_plugin_factory.h.
|
private |
Definition at line 283 of file contact_managers_plugin_factory.h.
|
private |
Definition at line 285 of file contact_managers_plugin_factory.h.