Public Member Functions | Private Member Functions | Private Attributes | List of all members
tesseract_collision::ContactManagersPluginFactory Class Reference

#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< ContinuousContactManagercreateContinuousContactManager (const std::string &name) const
 Get continuous contact manager object given name. More...
 
std::unique_ptr< ContinuousContactManagercreateContinuousContactManager (const std::string &name, const tesseract_common::PluginInfo &plugin_info) const
 Get continuous contact manager object given plugin info. More...
 
std::unique_ptr< DiscreteContactManagercreateDiscreteContactManager (const std::string &name) const
 Get discrete contact manager object given name. More...
 
std::unique_ptr< DiscreteContactManagercreateDiscreteContactManager (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...
 
ContactManagersPluginFactoryoperator= (const ContactManagersPluginFactory &)=default
 
ContactManagersPluginFactoryoperator= (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::Ptrcontinuous_factories_
 
tesseract_common::PluginInfoContainer continuous_plugin_info_
 
std::map< std::string, DiscreteContactManagerFactory::Ptrdiscrete_factories_
 
tesseract_common::PluginInfoContainer discrete_plugin_info_
 
boost_plugin_loader::PluginLoader plugin_loader_
 

Detailed Description

Definition at line 100 of file contact_managers_plugin_factory.h.

Constructor & Destructor Documentation

◆ ContactManagersPluginFactory() [1/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( )

Definition at line 53 of file contact_managers_plugin_factory.cpp.

◆ ~ContactManagersPluginFactory()

tesseract_collision::ContactManagersPluginFactory::~ContactManagersPluginFactory ( )
default

◆ ContactManagersPluginFactory() [2/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( const ContactManagersPluginFactory )
default

◆ ContactManagersPluginFactory() [3/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( ContactManagersPluginFactory &&  )
default

◆ ContactManagersPluginFactory() [4/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( YAML::Node  config,
const tesseract_common::ResourceLocator locator 
)

Load plugins from yaml node.

Parameters
configThe config node

Definition at line 77 of file contact_managers_plugin_factory.cpp.

◆ ContactManagersPluginFactory() [5/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( const std::filesystem::path &  config,
const tesseract_common::ResourceLocator locator 
)

Load plugins from file path.

Parameters
configThe config file path

Definition at line 85 of file contact_managers_plugin_factory.cpp.

◆ ContactManagersPluginFactory() [6/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( const std::string &  config,
const tesseract_common::ResourceLocator locator 
)

Load plugins from string.

Parameters
configThe config string

Definition at line 92 of file contact_managers_plugin_factory.cpp.

Member Function Documentation

◆ addContinuousContactManagerPlugin()

void tesseract_collision::ContactManagersPluginFactory::addContinuousContactManagerPlugin ( const std::string &  name,
tesseract_common::PluginInfo  plugin_info 
)

Add a continuous contact manager plugin.

Parameters
nameThe name
plugin_infoThe plugin information

Definition at line 172 of file contact_managers_plugin_factory.cpp.

◆ addDiscreteContactManagerPlugin()

void tesseract_collision::ContactManagersPluginFactory::addDiscreteContactManagerPlugin ( const std::string &  name,
tesseract_common::PluginInfo  plugin_info 
)

Add a discrete contact manager plugin.

Parameters
nameThe name
plugin_infoThe plugin information

Definition at line 121 of file contact_managers_plugin_factory.cpp.

◆ addSearchLibrary()

void tesseract_collision::ContactManagersPluginFactory::addSearchLibrary ( const std::string &  library_name)

Add a library to search for plugin name.

Parameters
library_nameThe library name without the prefix or suffix

Definition at line 109 of file contact_managers_plugin_factory.cpp.

◆ addSearchPath()

void tesseract_collision::ContactManagersPluginFactory::addSearchPath ( const std::string &  path)

Add location for the plugin loader to search.

Parameters
pathThe full path to the directory

Definition at line 103 of file contact_managers_plugin_factory.cpp.

◆ clearSearchLibraries()

void tesseract_collision::ContactManagersPluginFactory::clearSearchLibraries ( )

Clean the search libraries.

Definition at line 119 of file contact_managers_plugin_factory.cpp.

◆ clearSearchPaths()

void tesseract_collision::ContactManagersPluginFactory::clearSearchPaths ( )

Clear the search paths.

Definition at line 107 of file contact_managers_plugin_factory.cpp.

◆ createContinuousContactManager() [1/2]

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.

Parameters
nameThe name

Definition at line 267 of file contact_managers_plugin_factory.cpp.

◆ createContinuousContactManager() [2/2]

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.

Parameters
nameThe name
plugin_infoThe plugin information to create kinematics object

Definition at line 282 of file contact_managers_plugin_factory.cpp.

◆ createDiscreteContactManager() [1/2]

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.

Parameters
nameThe name

Definition at line 224 of file contact_managers_plugin_factory.cpp.

◆ createDiscreteContactManager() [2/2]

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.

Parameters
nameThe name
plugin_infoThe plugin information to create kinematics object

Definition at line 239 of file contact_managers_plugin_factory.cpp.

◆ getConfig()

YAML::Node tesseract_collision::ContactManagersPluginFactory::getConfig ( ) const

Get the plugin information config as a yaml node.

Returns
The plugin information config yaml node/

Definition at line 316 of file contact_managers_plugin_factory.cpp.

◆ getContinuousContactManagerPlugins()

tesseract_common::PluginInfoMap tesseract_collision::ContactManagersPluginFactory::getContinuousContactManagerPlugins ( ) const

Get the map of continuous contact manager plugin.

Returns
A map of plugins

Definition at line 183 of file contact_managers_plugin_factory.cpp.

◆ getDefaultContinuousContactManagerPlugin()

std::string tesseract_collision::ContactManagersPluginFactory::getDefaultContinuousContactManagerPlugin ( ) const

Get the default continuous contact manager.

Returns
The default continuous contact manager name

Definition at line 211 of file contact_managers_plugin_factory.cpp.

◆ getDefaultDiscreteContactManagerPlugin()

std::string tesseract_collision::ContactManagersPluginFactory::getDefaultDiscreteContactManagerPlugin ( ) const

Get the default discrete contact manager.

Returns
The default discrete contact manager

Definition at line 160 of file contact_managers_plugin_factory.cpp.

◆ getDiscreteContactManagerPlugins()

tesseract_common::PluginInfoMap tesseract_collision::ContactManagersPluginFactory::getDiscreteContactManagerPlugins ( ) const

Get the map of discrete contact manager plugin.

Returns
A map of plugins

Definition at line 132 of file contact_managers_plugin_factory.cpp.

◆ getSearchLibraries()

std::set< std::string > tesseract_collision::ContactManagersPluginFactory::getSearchLibraries ( ) const

Get the plugin search libraries.

Returns
The search libraries

Definition at line 114 of file contact_managers_plugin_factory.cpp.

◆ getSearchPaths()

std::set< std::string > tesseract_collision::ContactManagersPluginFactory::getSearchPaths ( ) const

Get the plugin search paths.

Returns
The search paths

Definition at line 105 of file contact_managers_plugin_factory.cpp.

◆ hasContinuousContactManagerPlugins()

bool tesseract_collision::ContactManagersPluginFactory::hasContinuousContactManagerPlugins ( ) const

Check if it has continuous contact manager plugins.

Returns
True if continuous PluginInfoMap is not empty, otherwise fale

Definition at line 178 of file contact_managers_plugin_factory.cpp.

◆ hasDiscreteContactManagerPlugins()

bool tesseract_collision::ContactManagersPluginFactory::hasDiscreteContactManagerPlugins ( ) const

Check if it has discrete contact manager plugins.

Returns
True if discrete PluginInfoMap is not empty, otherwise fale

Definition at line 127 of file contact_managers_plugin_factory.cpp.

◆ loadConfig()

void tesseract_collision::ContactManagersPluginFactory::loadConfig ( const YAML::Node &  config)
private

Definition at line 64 of file contact_managers_plugin_factory.cpp.

◆ operator=() [1/2]

ContactManagersPluginFactory& tesseract_collision::ContactManagersPluginFactory::operator= ( const ContactManagersPluginFactory )
default

◆ operator=() [2/2]

ContactManagersPluginFactory& tesseract_collision::ContactManagersPluginFactory::operator= ( ContactManagersPluginFactory &&  )
default

◆ removeContinuousContactManagerPlugin()

void tesseract_collision::ContactManagersPluginFactory::removeContinuousContactManagerPlugin ( const std::string &  name)

Remove continuous contact manager plugin.

Parameters
nameThe name of the contact manager to remove

Definition at line 188 of file contact_managers_plugin_factory.cpp.

◆ removeDiscreteContactManagerPlugin()

void tesseract_collision::ContactManagersPluginFactory::removeDiscreteContactManagerPlugin ( const std::string &  name)

Remove discrete contact manager plugin.

Parameters
nameThe name of the contact manager to remove

Definition at line 137 of file contact_managers_plugin_factory.cpp.

◆ saveConfig()

void tesseract_collision::ContactManagersPluginFactory::saveConfig ( const std::filesystem::path &  file_path) const

Save the plugin information to a yaml config file.

Parameters
file_pathThe file path

Definition at line 309 of file contact_managers_plugin_factory.cpp.

◆ setDefaultContinuousContactManagerPlugin()

void tesseract_collision::ContactManagersPluginFactory::setDefaultContinuousContactManagerPlugin ( const std::string &  name)

Set a default continuous contact manager.

Parameters
nameThe name

Definition at line 201 of file contact_managers_plugin_factory.cpp.

◆ setDefaultDiscreteContactManagerPlugin()

void tesseract_collision::ContactManagersPluginFactory::setDefaultDiscreteContactManagerPlugin ( const std::string &  name)

Set a default discrete contact manager.

Parameters
nameThe name

Definition at line 150 of file contact_managers_plugin_factory.cpp.

Member Data Documentation

◆ continuous_factories_

std::map<std::string, ContinuousContactManagerFactory::Ptr> tesseract_collision::ContactManagersPluginFactory::continuous_factories_
mutableprivate

Definition at line 282 of file contact_managers_plugin_factory.h.

◆ continuous_plugin_info_

tesseract_common::PluginInfoContainer tesseract_collision::ContactManagersPluginFactory::continuous_plugin_info_
private

Definition at line 284 of file contact_managers_plugin_factory.h.

◆ discrete_factories_

std::map<std::string, DiscreteContactManagerFactory::Ptr> tesseract_collision::ContactManagersPluginFactory::discrete_factories_
mutableprivate

Definition at line 281 of file contact_managers_plugin_factory.h.

◆ discrete_plugin_info_

tesseract_common::PluginInfoContainer tesseract_collision::ContactManagersPluginFactory::discrete_plugin_info_
private

Definition at line 283 of file contact_managers_plugin_factory.h.

◆ plugin_loader_

boost_plugin_loader::PluginLoader tesseract_collision::ContactManagersPluginFactory::plugin_loader_
private

Definition at line 285 of file contact_managers_plugin_factory.h.


The documentation for this class was generated from the following files:


tesseract_collision
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:53