Manage a set of state spaces such that they share common subspaces. More...
#include <StateSpaceCollection.h>
Public Member Functions | |
std::vector< base::StateSpacePtr > | allCombinations (const std::vector< base::StateSpacePtr > &components, const std::vector< double > &weights) |
Given the state spaces components, generate all combinations of compound state spaces. Weights of subspaces are always specified by weights. All generated spaces are collected. | |
std::vector< base::StateSpacePtr > | allCombinations (const std::vector< base::StateSpacePtr > &components) |
Given the state spaces components, generate all combinations of compound state spaces. Weights of subspaces are always set to 1. All generated spaces are collected. | |
void | collect (const std::vector< base::StateSpacePtr > &spaces) |
Make this collection aware of a set of state spaces. | |
void | collect (const base::StateSpacePtr &space) |
Make this collection aware of the state space space, and all its subspaces. | |
const base::StateSpacePtr & | combine (const std::vector< base::StateSpacePtr > &components, const std::vector< double > &weights) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). The weights of the components are in weights. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance. | |
const base::StateSpacePtr & | combine (const std::vector< base::StateSpacePtr > &components, const std::vector< bool > &mask, const std::vector< double > &weights) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). Only components whose bit is set in mask are considered. This is a convenience function implemented on top of the other versions of collect(). The weights of the components are specified in weights. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance. | |
const base::StateSpacePtr & | combine (const std::vector< base::StateSpacePtr > &components, const std::vector< bool > &mask) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). Only components whose bit is set in mask are considered. This is a convenience function implemented on top of the other versions of collect(). The weight of each considered component is 1. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance. | |
const base::StateSpacePtr & | combine (const std::vector< base::StateSpacePtr > &components) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). The weight of each component is 1. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance. | |
const std::string & | getName (void) const |
Get the name of the collection. | |
const base::StateSpacePtr & | getSpace (const std::string &name) const |
Get the state space whose name is name (if the collection is aware of this space; collect() must have been previously called on this space). | |
bool | haveSpace (const base::StateSpacePtr &space) const |
Check if a particular space is in the collection. | |
bool | haveSpace (const std::string &name) const |
Check if a particular space is in the collection. | |
void | setAutomaticNames (const std::string &join, const std::string &prefix, const std::string &suffix) |
By default, generated spaces are named by joining the names of the component spaces by join, adding prefix as prefix and suffix as suffix. A further prefix is set of the collection is named. | |
void | setName (const std::string &name) |
Set the name of the collection. | |
StateSpaceCollection (void) | |
~StateSpaceCollection (void) | |
Private Attributes | |
std::string | join_ |
msg::Interface | msg_ |
std::string | name_ |
std::string | prefix_ |
std::vector< base::StateSpacePtr > | spaces_ |
std::string | suffix_ |
Manage a set of state spaces such that they share common subspaces.
This is useful when dealing with multiple compound state spaces that they are constructed from the same smaller subspaces. Sharing subspaces is important when using the functionality offered by the state space operators.
Definition at line 53 of file StateSpaceCollection.h.
ompl::StateSpaceCollection::StateSpaceCollection | ( | void | ) | [inline] |
Definition at line 57 of file StateSpaceCollection.h.
ompl::StateSpaceCollection::~StateSpaceCollection | ( | void | ) | [inline] |
Definition at line 62 of file StateSpaceCollection.h.
std::vector<base::StateSpacePtr> ompl::StateSpaceCollection::allCombinations | ( | const std::vector< base::StateSpacePtr > & | components, | |
const std::vector< double > & | weights | |||
) |
Given the state spaces components, generate all combinations of compound state spaces. Weights of subspaces are always specified by weights. All generated spaces are collected.
std::vector<base::StateSpacePtr> ompl::StateSpaceCollection::allCombinations | ( | const std::vector< base::StateSpacePtr > & | components | ) |
Given the state spaces components, generate all combinations of compound state spaces. Weights of subspaces are always set to 1. All generated spaces are collected.
void ompl::StateSpaceCollection::collect | ( | const std::vector< base::StateSpacePtr > & | spaces | ) |
Make this collection aware of a set of state spaces.
void ompl::StateSpaceCollection::collect | ( | const base::StateSpacePtr & | space | ) |
Make this collection aware of the state space space, and all its subspaces.
const base::StateSpacePtr& ompl::StateSpaceCollection::combine | ( | const std::vector< base::StateSpacePtr > & | components, | |
const std::vector< double > & | weights | |||
) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). The weights of the components are in weights. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance.
const base::StateSpacePtr& ompl::StateSpaceCollection::combine | ( | const std::vector< base::StateSpacePtr > & | components, | |
const std::vector< bool > & | mask, | |||
const std::vector< double > & | weights | |||
) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). Only components whose bit is set in mask are considered. This is a convenience function implemented on top of the other versions of collect(). The weights of the components are specified in weights. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance.
const base::StateSpacePtr& ompl::StateSpaceCollection::combine | ( | const std::vector< base::StateSpacePtr > & | components, | |
const std::vector< bool > & | mask | |||
) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). Only components whose bit is set in mask are considered. This is a convenience function implemented on top of the other versions of collect(). The weight of each considered component is 1. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance.
const base::StateSpacePtr& ompl::StateSpaceCollection::combine | ( | const std::vector< base::StateSpacePtr > & | components | ) |
Combine the spaces in components into one compound space (ompl::base::CompoundStateSpace). The weight of each component is 1. The generated space is automatically collected. If this space has been previously collected by this collection, that space is returned instead of creating a new instance.
const std::string& ompl::StateSpaceCollection::getName | ( | void | ) | const |
Get the name of the collection.
const base::StateSpacePtr& ompl::StateSpaceCollection::getSpace | ( | const std::string & | name | ) | const |
Get the state space whose name is name (if the collection is aware of this space; collect() must have been previously called on this space).
bool ompl::StateSpaceCollection::haveSpace | ( | const base::StateSpacePtr & | space | ) | const |
Check if a particular space is in the collection.
bool ompl::StateSpaceCollection::haveSpace | ( | const std::string & | name | ) | const |
Check if a particular space is in the collection.
void ompl::StateSpaceCollection::setAutomaticNames | ( | const std::string & | join, | |
const std::string & | prefix, | |||
const std::string & | suffix | |||
) |
By default, generated spaces are named by joining the names of the component spaces by join, adding prefix as prefix and suffix as suffix. A further prefix is set of the collection is named.
void ompl::StateSpaceCollection::setName | ( | const std::string & | name | ) |
Set the name of the collection.
std::string ompl::StateSpaceCollection::join_ [private] |
Definition at line 152 of file StateSpaceCollection.h.
Definition at line 156 of file StateSpaceCollection.h.
std::string ompl::StateSpaceCollection::name_ [private] |
Definition at line 150 of file StateSpaceCollection.h.
std::string ompl::StateSpaceCollection::prefix_ [private] |
Definition at line 153 of file StateSpaceCollection.h.
std::vector<base::StateSpacePtr> ompl::StateSpaceCollection::spaces_ [private] |
Definition at line 151 of file StateSpaceCollection.h.
std::string ompl::StateSpaceCollection::suffix_ [private] |
Definition at line 154 of file StateSpaceCollection.h.