ompl::control::CompoundControlSpace Class Reference

A control space to allow the composition of control spaces. More...

#include <ControlSpace.h>

Inheritance diagram for ompl::control::CompoundControlSpace:
Inheritance graph
[legend]

List of all members.

Public Types

typedef CompoundControl ControlType
 Define the type of control allocated by this control space.

Public Member Functions

virtual void addSubSpace (const ControlSpacePtr &component)
 Adds a control space as a component of the compound control space.
virtual ControlallocControl (void) const
 Allocate memory for a control.
virtual ControlSamplerPtr allocControlSampler (void) const
 Allocate a control sampler.
template<class T >
T * as (const unsigned int index) const
 Cast a component of this instance to a desired type.
 CompoundControlSpace (const base::StateSpacePtr &stateSpace)
 Constructor. The corresponding state space needs to be specified.
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 freeControl (Control *control) const
 Free the memory of a control.
virtual unsigned int getDimension (void) const
 Get the dimension of this control space.
const ControlSpacePtrgetSubSpace (const std::string &name) const
 Get a specific subspace from the compound control space.
const ControlSpacePtrgetSubSpace (const unsigned int index) const
 Get a specific subspace from the compound control space.
unsigned int getSubSpaceCount (void) const
 Get the number of control spaces that make up the compound control space.
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.
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.
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 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.
virtual ~CompoundControlSpace (void)

Protected Attributes

unsigned int componentCount_
 The number of contained components.
std::vector< ControlSpacePtrcomponents_
 The component control spaces that make up the compound control space.
bool locked_
 Flag indicating whether adding further components is allowed or not.

Detailed Description

A control space to allow the composition of control spaces.

Definition at line 141 of file ControlSpace.h.


Member Typedef Documentation

Define the type of control allocated by this control space.

Definition at line 146 of file ControlSpace.h.


Constructor & Destructor Documentation

ompl::control::CompoundControlSpace::CompoundControlSpace ( const base::StateSpacePtr stateSpace  )  [inline]

Constructor. The corresponding state space needs to be specified.

Definition at line 149 of file ControlSpace.h.

virtual ompl::control::CompoundControlSpace::~CompoundControlSpace ( void   )  [inline, virtual]

Definition at line 153 of file ControlSpace.h.


Member Function Documentation

virtual void ompl::control::CompoundControlSpace::addSubSpace ( const ControlSpacePtr component  )  [virtual]

Adds a control space as a component of the compound control space.

virtual Control* ompl::control::CompoundControlSpace::allocControl ( void   )  const [virtual]

Allocate memory for a control.

Implements ompl::control::ControlSpace.

virtual ControlSamplerPtr ompl::control::CompoundControlSpace::allocControlSampler ( void   )  const [virtual]

Allocate a control sampler.

Implements ompl::control::ControlSpace.

template<class T >
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 159 of file ControlSpace.h.

virtual void ompl::control::CompoundControlSpace::copyControl ( Control destination,
const Control source 
) const [virtual]

Copy a control to another.

Implements ompl::control::ControlSpace.

virtual bool ompl::control::CompoundControlSpace::equalControls ( const Control control1,
const Control control2 
) const [virtual]

Check if two controls are the same.

Implements ompl::control::ControlSpace.

virtual void ompl::control::CompoundControlSpace::freeControl ( Control control  )  const [virtual]

Free the memory of a control.

Implements ompl::control::ControlSpace.

virtual unsigned int ompl::control::CompoundControlSpace::getDimension ( void   )  const [virtual]

Get the dimension of this control space.

Implements ompl::control::ControlSpace.

const ControlSpacePtr& ompl::control::CompoundControlSpace::getSubSpace ( const std::string &  name  )  const

Get a specific subspace from the compound control space.

const ControlSpacePtr& ompl::control::CompoundControlSpace::getSubSpace ( const unsigned int  index  )  const

Get a specific subspace from the compound control space.

unsigned int ompl::control::CompoundControlSpace::getSubSpaceCount ( void   )  const

Get the number of control spaces that make up the compound control space.

virtual double* ompl::control::CompoundControlSpace::getValueAddressAtIndex ( Control control,
const unsigned int  index 
) const [virtual]

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.

Reimplemented from ompl::control::ControlSpace.

void ompl::control::CompoundControlSpace::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.

virtual void ompl::control::CompoundControlSpace::nullControl ( Control control  )  const [virtual]

Make the control have no effect if it were to be applied to a state for any amount of time.

Implements ompl::control::ControlSpace.

virtual void ompl::control::CompoundControlSpace::printControl ( const Control control,
std::ostream &  out = std::cout 
) const [virtual]

Print a control to a stream.

Reimplemented from ompl::control::ControlSpace.

virtual void ompl::control::CompoundControlSpace::printSettings ( std::ostream &  out  )  const [virtual]

Print the settings for this control space to a stream.

Reimplemented from ompl::control::ControlSpace.

virtual void ompl::control::CompoundControlSpace::setup ( void   )  [virtual]

Perform final setup steps. This function is automatically called by the SpaceInformation.

Reimplemented from ompl::control::ControlSpace.


Member Data Documentation

The number of contained components.

Definition at line 214 of file ControlSpace.h.

The component control spaces that make up the compound control space.

Definition at line 211 of file ControlSpace.h.

Flag indicating whether adding further components is allowed or not.

Definition at line 217 of file ControlSpace.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


ompl
Author(s): Ioan Sucan/isucan@rice.edu, Mark Moll/mmoll@rice.edu, Lydia Kavraki/kavraki@rice.edu
autogenerated on Fri Jan 11 11:37:48 2013