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

#include <kinematics_plugin_factory.h>

Collaboration diagram for tesseract_kinematics::KinematicsPluginFactory:
Collaboration graph
[legend]

Public Member Functions

 KinematicsPluginFactory ()
 
 ~KinematicsPluginFactory ()
 
 KinematicsPluginFactory (const KinematicsPluginFactory &)=default
 
KinematicsPluginFactoryoperator= (const KinematicsPluginFactory &)=default
 
 KinematicsPluginFactory (KinematicsPluginFactory &&)=default
 
KinematicsPluginFactoryoperator= (KinematicsPluginFactory &&)=default
 
 KinematicsPluginFactory (YAML::Node config)
 Load plugins from yaml node. More...
 
 KinematicsPluginFactory (const tesseract_common::fs::path &config)
 Load plugins from file path. More...
 
 KinematicsPluginFactory (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 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 addFwdKinPlugin (const std::string &group_name, const std::string &solver_name, tesseract_common::PluginInfo plugin_info)
 Add a forward kinematics plugin to the manager. More...
 
std::map< std::string, tesseract_common::PluginInfoContainergetFwdKinPlugins () const
 Get the map of forward kinematic plugins. More...
 
void removeFwdKinPlugin (const std::string &group_name, const std::string &solver_name)
 remove forward kinematics plugin from the manager More...
 
void setDefaultFwdKinPlugin (const std::string &group_name, const std::string &solver_name)
 Set a groups default forward kinematics solver. More...
 
std::string getDefaultFwdKinPlugin (const std::string &group_name) const
 Get the default forward kinematics solver for a group. More...
 
void addInvKinPlugin (const std::string &group_name, const std::string &solver_name, tesseract_common::PluginInfo plugin_info)
 Add a inverse kinematics plugin to the manager. More...
 
std::map< std::string, tesseract_common::PluginInfoContainergetInvKinPlugins () const
 Get the map of inverse kinematic plugins. More...
 
void removeInvKinPlugin (const std::string &group_name, const std::string &solver_name)
 remove inverse kinematics plugin from the manager More...
 
void setDefaultInvKinPlugin (const std::string &group_name, const std::string &solver_name)
 Set a groups default inverse kinematics solver. More...
 
std::string getDefaultInvKinPlugin (const std::string &group_name) const
 Get the default forward inverse solver for a group. More...
 
ForwardKinematics::UPtr createFwdKin (const std::string &group_name, const std::string &solver_name, const tesseract_scene_graph::SceneGraph &scene_graph, const tesseract_scene_graph::SceneState &scene_state) const
 Get forward kinematics object given group name and solver name. More...
 
InverseKinematics::UPtr createInvKin (const std::string &group_name, const std::string &solver_name, const tesseract_scene_graph::SceneGraph &scene_graph, const tesseract_scene_graph::SceneState &scene_state) const
 Get inverse kinematics object given group name and solver name. More...
 
ForwardKinematics::UPtr createFwdKin (const std::string &solver_name, const tesseract_common::PluginInfo &plugin_info, const tesseract_scene_graph::SceneGraph &scene_graph, const tesseract_scene_graph::SceneState &scene_state) const
 Get forward kinematics object given plugin info. More...
 
InverseKinematics::UPtr createInvKin (const std::string &solver_name, const tesseract_common::PluginInfo &plugin_info, const tesseract_scene_graph::SceneGraph &scene_graph, const tesseract_scene_graph::SceneState &scene_state) const
 Get inverse kinematics object given plugin info. More...
 
void saveConfig (const tesseract_common::fs::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, FwdKinFactory::Ptrfwd_kin_factories_
 
std::map< std::string, InvKinFactory::Ptrinv_kin_factories_
 
std::map< std::string, tesseract_common::PluginInfoContainerfwd_plugin_info_
 
std::map< std::string, tesseract_common::PluginInfoContainerinv_plugin_info_
 
tesseract_common::PluginLoader plugin_loader_
 

Constructor & Destructor Documentation

◆ KinematicsPluginFactory() [1/6]

tesseract_kinematics::KinematicsPluginFactory::KinematicsPluginFactory ( )

◆ ~KinematicsPluginFactory()

tesseract_kinematics::KinematicsPluginFactory::~KinematicsPluginFactory ( )
default

◆ KinematicsPluginFactory() [2/6]

tesseract_kinematics::KinematicsPluginFactory::KinematicsPluginFactory ( const KinematicsPluginFactory )
default

◆ KinematicsPluginFactory() [3/6]

tesseract_kinematics::KinematicsPluginFactory::KinematicsPluginFactory ( KinematicsPluginFactory &&  )
default

◆ KinematicsPluginFactory() [4/6]

tesseract_kinematics::KinematicsPluginFactory::KinematicsPluginFactory ( YAML::Node  config)

Load plugins from yaml node.

Parameters
configThe config node

◆ KinematicsPluginFactory() [5/6]

tesseract_kinematics::KinematicsPluginFactory::KinematicsPluginFactory ( const tesseract_common::fs::path &  config)

Load plugins from file path.

Parameters
configThe config file path

◆ KinematicsPluginFactory() [6/6]

tesseract_kinematics::KinematicsPluginFactory::KinematicsPluginFactory ( const std::string &  config)

Load plugins from string.

Parameters
configThe config string

Member Function Documentation

◆ addFwdKinPlugin()

void tesseract_kinematics::KinematicsPluginFactory::addFwdKinPlugin ( const std::string &  group_name,
const std::string &  solver_name,
tesseract_common::PluginInfo  plugin_info 
)

Add a forward kinematics plugin to the manager.

Parameters
group_nameThe group name
solver_nameThe solver name
plugin_infoThe plugin information

◆ addInvKinPlugin()

void tesseract_kinematics::KinematicsPluginFactory::addInvKinPlugin ( const std::string &  group_name,
const std::string &  solver_name,
tesseract_common::PluginInfo  plugin_info 
)

Add a inverse kinematics plugin to the manager.

Parameters
group_nameThe group name
solver_nameThe solver name
plugin_infoThe plugin information

◆ addSearchLibrary()

void tesseract_kinematics::KinematicsPluginFactory::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_kinematics::KinematicsPluginFactory::addSearchPath ( const std::string &  path)

Add location for the plugin loader to search.

Parameters
pathThe full path to the directory

◆ createFwdKin() [1/2]

ForwardKinematics::UPtr tesseract_kinematics::KinematicsPluginFactory::createFwdKin ( const std::string &  group_name,
const std::string &  solver_name,
const tesseract_scene_graph::SceneGraph scene_graph,
const tesseract_scene_graph::SceneState scene_state 
) const

Get forward kinematics object given group name and solver name.

This looks for kinematics plugin info added using addFwdKinPlugin. If not found nullptr is returned.

Parameters
group_nameThe group name
solver_nameThe solver
scene_graphThe scene graph
scene_stateThe scene state

◆ createFwdKin() [2/2]

ForwardKinematics::UPtr tesseract_kinematics::KinematicsPluginFactory::createFwdKin ( const std::string &  solver_name,
const tesseract_common::PluginInfo plugin_info,
const tesseract_scene_graph::SceneGraph scene_graph,
const tesseract_scene_graph::SceneState scene_state 
) const

Get forward kinematics object given plugin info.

Parameters
plugin_infoThe plugin information to create kinematics object
scene_graphThe scene graph
scene_stateThe scene state

◆ createInvKin() [1/2]

InverseKinematics::UPtr tesseract_kinematics::KinematicsPluginFactory::createInvKin ( const std::string &  group_name,
const std::string &  solver_name,
const tesseract_scene_graph::SceneGraph scene_graph,
const tesseract_scene_graph::SceneState scene_state 
) const

Get inverse kinematics object given group name and solver name.

This looks for kinematics plugin info added using addInvKinPlugin. If not found nullptr is returned.

Parameters
group_nameThe group name
solver_nameThe solver
scene_graphThe scene graph
scene_stateThe scene state

◆ createInvKin() [2/2]

InverseKinematics::UPtr tesseract_kinematics::KinematicsPluginFactory::createInvKin ( const std::string &  solver_name,
const tesseract_common::PluginInfo plugin_info,
const tesseract_scene_graph::SceneGraph scene_graph,
const tesseract_scene_graph::SceneState scene_state 
) const

Get inverse kinematics object given plugin info.

Parameters
plugin_infoThe plugin information to create kinematics object
scene_graphThe scene graph
scene_stateThe scene state

◆ getConfig()

YAML::Node tesseract_kinematics::KinematicsPluginFactory::getConfig ( ) const

Get the plugin information config as a yaml node.

Returns
The plugin information config yaml node/

◆ getDefaultFwdKinPlugin()

std::string tesseract_kinematics::KinematicsPluginFactory::getDefaultFwdKinPlugin ( const std::string &  group_name) const

Get the default forward kinematics solver for a group.

Parameters
group_nameThe group
Returns
The default solver name

◆ getDefaultInvKinPlugin()

std::string tesseract_kinematics::KinematicsPluginFactory::getDefaultInvKinPlugin ( const std::string &  group_name) const

Get the default forward inverse solver for a group.

Parameters
group_nameThe group
Returns
The default solver name

◆ getFwdKinPlugins()

std::map< std::string, tesseract_common::PluginInfoContainer > tesseract_kinematics::KinematicsPluginFactory::getFwdKinPlugins ( ) const

Get the map of forward kinematic plugins.

Returns
A map of plugins

◆ getInvKinPlugins()

std::map< std::string, tesseract_common::PluginInfoContainer > tesseract_kinematics::KinematicsPluginFactory::getInvKinPlugins ( ) const

Get the map of inverse kinematic plugins.

Returns
A map of plugins

◆ getSearchLibraries()

std::set< std::string > tesseract_kinematics::KinematicsPluginFactory::getSearchLibraries ( ) const

Get the plugin search libraries.

Returns
The search libraries

◆ getSearchPaths()

std::set< std::string > tesseract_kinematics::KinematicsPluginFactory::getSearchPaths ( ) const

Get the plugin search paths.

Returns
The search paths

◆ operator=() [1/2]

KinematicsPluginFactory & tesseract_kinematics::KinematicsPluginFactory::operator= ( const KinematicsPluginFactory )
default

◆ operator=() [2/2]

KinematicsPluginFactory & tesseract_kinematics::KinematicsPluginFactory::operator= ( KinematicsPluginFactory &&  )
default

◆ removeFwdKinPlugin()

void tesseract_kinematics::KinematicsPluginFactory::removeFwdKinPlugin ( const std::string &  group_name,
const std::string &  solver_name 
)

remove forward kinematics plugin from the manager

Parameters
group_nameThe group name
solver_nameThe solver name

◆ removeInvKinPlugin()

void tesseract_kinematics::KinematicsPluginFactory::removeInvKinPlugin ( const std::string &  group_name,
const std::string &  solver_name 
)

remove inverse kinematics plugin from the manager

Parameters
group_nameThe group name
solver_nameThe solver name

◆ saveConfig()

void tesseract_kinematics::KinematicsPluginFactory::saveConfig ( const tesseract_common::fs::path &  file_path) const

Save the plugin information to a yaml config file.

Parameters
file_pathThe file path

◆ setDefaultFwdKinPlugin()

void tesseract_kinematics::KinematicsPluginFactory::setDefaultFwdKinPlugin ( const std::string &  group_name,
const std::string &  solver_name 
)

Set a groups default forward kinematics solver.

A group can have multiple inverse kinematics solvers

Parameters
group_nameThe group name
solver_nameThe solver name

◆ setDefaultInvKinPlugin()

void tesseract_kinematics::KinematicsPluginFactory::setDefaultInvKinPlugin ( const std::string &  group_name,
const std::string &  solver_name 
)

Set a groups default inverse kinematics solver.

A group can have multiple inverse kinematics solvers

Parameters
group_nameThe group name
solver_nameThe solver name

Member Data Documentation

◆ fwd_kin_factories_

std::map<std::string, FwdKinFactory::Ptr> tesseract_kinematics::KinematicsPluginFactory::fwd_kin_factories_
mutableprivate

◆ fwd_plugin_info_

std::map<std::string, tesseract_common::PluginInfoContainer> tesseract_kinematics::KinematicsPluginFactory::fwd_plugin_info_
private

◆ inv_kin_factories_

std::map<std::string, InvKinFactory::Ptr> tesseract_kinematics::KinematicsPluginFactory::inv_kin_factories_
mutableprivate

◆ inv_plugin_info_

std::map<std::string, tesseract_common::PluginInfoContainer> tesseract_kinematics::KinematicsPluginFactory::inv_plugin_info_
private

◆ plugin_loader_

tesseract_common::PluginLoader tesseract_kinematics::KinematicsPluginFactory::plugin_loader_
private

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