A control space to allow the composition of control spaces. More...
#include <ControlSpace.h>

Public Types | |
| typedef CompoundControl | ControlType |
| Define the type of control allocated by this control space. | |
Public Member Functions | |
| CompoundControlSpace (const base::StateSpacePtr &stateSpace) | |
| Constructor. The corresponding state space needs to be specified. | |
| template<class T > | |
| T * | as (const unsigned int index) const |
| Cast a component of this instance to a desired type. | |
| virtual void | addSubSpace (const ControlSpacePtr &component) |
| Adds a control space as a component of the compound control space. | |
| unsigned int | getSubSpaceCount (void) const |
| Get the number of control spaces that make up the compound control space. | |
| const ControlSpacePtr & | getSubSpace (const unsigned int index) const |
| Get a specific subspace from the compound control space. | |
| const ControlSpacePtr & | getSubSpace (const std::string &name) const |
| Get a specific subspace from the compound control space. | |
| virtual unsigned int | getDimension (void) const |
| Get the dimension of this control space. | |
| virtual Control * | allocControl (void) const |
| Allocate memory for a control. | |
| virtual void | freeControl (Control *control) const |
| Free the memory of a control. | |
| virtual void | copyControl (Control *destination, const Control *source) const |
| Copy a control to another. | |
| virtual bool | equalControls (const Control *control1, const Control *control2) const |
| Check if two controls are the same. | |
| virtual void | nullControl (Control *control) const |
| Make the control have no effect if it were to be applied to a state for any amount of time. | |
| virtual ControlSamplerPtr | allocControlSampler (void) const |
| Allocate a control sampler. | |
| virtual double * | getValueAddressAtIndex (Control *control, const unsigned int index) const |
| Many controls contain a number of double values. This function provides a means to get the memory address of a double value from a control control located at position index. The first double value is returned for index = 0. If index is too large (does not point to any double values in the control), the return value is NULL. | |
| virtual void | printControl (const Control *control, std::ostream &out=std::cout) const |
| Print a control to a stream. | |
| virtual void | printSettings (std::ostream &out) const |
| Print the settings for this control space to a stream. | |
| virtual void | setup (void) |
| Perform final setup steps. This function is automatically called by the SpaceInformation. | |
| void | lock (void) |
| Lock this control space. This means no further control spaces can be added as components. This function can be for instance called from the constructor of a state space that inherits from CompoundControlSpace to prevent the user to add further components. | |
Protected Attributes | |
| std::vector< ControlSpacePtr > | components_ |
| The component control spaces that make up the compound control space. | |
| unsigned int | componentCount_ |
| The number of contained components. | |
| bool | locked_ |
| Flag indicating whether adding further components is allowed or not. | |
A control space to allow the composition of control spaces.
Definition at line 152 of file ControlSpace.h.
| T* ompl::control::CompoundControlSpace::as | ( | const unsigned int | index | ) | const [inline] |
Cast a component of this instance to a desired type.
Make sure the type we are casting to is indeed a control space
Definition at line 170 of file ControlSpace.h.