Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
tesseract_collision::ContactManagersPluginFactory Class Reference

#include <contact_managers_plugin_factory.h>

Collaboration diagram for tesseract_collision::ContactManagersPluginFactory:
Collaboration graph
[legend]

Public Member Functions

 ContactManagersPluginFactory ()
 
 ~ContactManagersPluginFactory ()
 
 ContactManagersPluginFactory (const ContactManagersPluginFactory &)=default
 
ContactManagersPluginFactoryoperator= (const ContactManagersPluginFactory &)=default
 
 ContactManagersPluginFactory (ContactManagersPluginFactory &&)=default
 
ContactManagersPluginFactoryoperator= (ContactManagersPluginFactory &&)=default
 
 ContactManagersPluginFactory (YAML::Node config)
 Load plugins from yaml node. More...
 
 ContactManagersPluginFactory (const tesseract_common::fs::path &config)
 Load plugins from file path. More...
 
 ContactManagersPluginFactory (const std::string &config)
 Load plugins from string. More...
 
void addSearchPath (const std::string &path)
 Add location for the plugin loader to search. More...
 
std::set< std::string > getSearchPaths () const
 Get the plugin search paths. More...
 
void clearSearchPaths ()
 Clear the search paths. More...
 
void addSearchLibrary (const std::string &library_name)
 Add a library to search for plugin name. More...
 
std::set< std::string > getSearchLibraries () const
 Get the plugin search libraries. More...
 
void clearSearchLibraries ()
 Clean the search libraries. More...
 
void addDiscreteContactManagerPlugin (const std::string &name, tesseract_common::PluginInfo plugin_info)
 Add a discrete contact manager plugin. More...
 
bool hasDiscreteContactManagerPlugins () const
 Check if it has discrete contact manager plugins. More...
 
tesseract_common::PluginInfoMap getDiscreteContactManagerPlugins () const
 Get the map of discrete contact manager plugin. More...
 
void removeDiscreteContactManagerPlugin (const std::string &name)
 Remove discrete contact manager plugin. More...
 
void setDefaultDiscreteContactManagerPlugin (const std::string &name)
 Set a default discrete contact manager. More...
 
std::string getDefaultDiscreteContactManagerPlugin () const
 Get the default discrete contact manager. More...
 
void addContinuousContactManagerPlugin (const std::string &name, tesseract_common::PluginInfo plugin_info)
 Add a continuous contact manager plugin. More...
 
bool hasContinuousContactManagerPlugins () const
 Check if it has continuous contact manager plugins. More...
 
tesseract_common::PluginInfoMap getContinuousContactManagerPlugins () const
 Get the map of continuous contact manager plugin. More...
 
void removeContinuousContactManagerPlugin (const std::string &name)
 Remove continuous contact manager plugin. More...
 
void setDefaultContinuousContactManagerPlugin (const std::string &name)
 Set a default continuous contact manager. More...
 
std::string getDefaultContinuousContactManagerPlugin () const
 Get the default continuous contact manager. More...
 
DiscreteContactManager::UPtr createDiscreteContactManager (const std::string &name) const
 Get discrete contact manager object given name. More...
 
DiscreteContactManager::UPtr createDiscreteContactManager (const std::string &name, const tesseract_common::PluginInfo &plugin_info) const
 Get discrete contact manager object given plugin info. More...
 
ContinuousContactManager::UPtr createContinuousContactManager (const std::string &name) const
 Get continuous contact manager object given name. More...
 
ContinuousContactManager::UPtr createContinuousContactManager (const std::string &name, const tesseract_common::PluginInfo &plugin_info) const
 Get continuous contact manager object given plugin info. More...
 
void saveConfig (const boost::filesystem::path &file_path) const
 Save the plugin information to a yaml config file. More...
 
YAML::Node getConfig () const
 Get the plugin information config as a yaml node. More...
 

Private Attributes

std::map< std::string, DiscreteContactManagerFactory::Ptrdiscrete_factories_
 
std::map< std::string, ContinuousContactManagerFactory::Ptrcontinuous_factories_
 
tesseract_common::PluginInfoContainer discrete_plugin_info_
 
tesseract_common::PluginInfoContainer continuous_plugin_info_
 
tesseract_common::PluginLoader plugin_loader_
 

Constructor & Destructor Documentation

◆ ContactManagersPluginFactory() [1/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( )

◆ ~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)

Load plugins from yaml node.

Parameters
configThe config node

◆ ContactManagersPluginFactory() [5/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( const tesseract_common::fs::path &  config)

Load plugins from file path.

Parameters
configThe config file path

◆ ContactManagersPluginFactory() [6/6]

tesseract_collision::ContactManagersPluginFactory::ContactManagersPluginFactory ( const std::string &  config)

Load plugins from string.

Parameters
configThe config string

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

◆ 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

◆ 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

◆ 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

◆ clearSearchLibraries()

void tesseract_collision::ContactManagersPluginFactory::clearSearchLibraries ( )

Clean the search libraries.

◆ clearSearchPaths()

void tesseract_collision::ContactManagersPluginFactory::clearSearchPaths ( )

Clear the search paths.

◆ createContinuousContactManager() [1/2]

ContinuousContactManager::UPtr 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

◆ createContinuousContactManager() [2/2]

ContinuousContactManager::UPtr 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

◆ createDiscreteContactManager() [1/2]

DiscreteContactManager::UPtr 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

◆ createDiscreteContactManager() [2/2]

DiscreteContactManager::UPtr 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

◆ getConfig()

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

Get the plugin information config as a yaml node.

Returns
The plugin information config yaml node/

◆ getContinuousContactManagerPlugins()

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

Get the map of continuous contact manager plugin.

Returns
A map of plugins

◆ getDefaultContinuousContactManagerPlugin()

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

Get the default continuous contact manager.

Returns
The default continuous contact manager name

◆ getDefaultDiscreteContactManagerPlugin()

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

Get the default discrete contact manager.

Returns
The default discrete contact manager

◆ getDiscreteContactManagerPlugins()

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

Get the map of discrete contact manager plugin.

Returns
A map of plugins

◆ getSearchLibraries()

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

Get the plugin search libraries.

Returns
The search libraries

◆ getSearchPaths()

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

Get the plugin search paths.

Returns
The search paths

◆ 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

◆ 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

◆ 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

◆ removeDiscreteContactManagerPlugin()

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

Remove discrete contact manager plugin.

Parameters
nameThe name of the contact manager to remove

◆ saveConfig()

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

Save the plugin information to a yaml config file.

Parameters
file_pathThe file path

◆ setDefaultContinuousContactManagerPlugin()

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

Set a default continuous contact manager.

Parameters
nameThe name

◆ setDefaultDiscreteContactManagerPlugin()

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

Set a default discrete contact manager.

Parameters
nameThe name

Member Data Documentation

◆ continuous_factories_

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

◆ continuous_plugin_info_

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

◆ discrete_factories_

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

◆ discrete_plugin_info_

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

◆ plugin_loader_

tesseract_common::PluginLoader tesseract_collision::ContactManagersPluginFactory::plugin_loader_
private

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