37#ifndef OMPL_CONTROL_CONTROL_
38#define OMPL_CONTROL_CONTROL_
40#include <boost/concept_check.hpp>
51 Control(
const Control &) =
delete;
54 const Control &operator=(
const Control &) =
delete;
59 virtual ~Control() =
default;
67 BOOST_CONCEPT_ASSERT((boost::Convertible<T *, Control *>));
69 return static_cast<const T *
>(
this);
77 BOOST_CONCEPT_ASSERT((boost::Convertible<T *, Control *>));
79 return static_cast<T *
>(
this);
84 class CompoundControl :
public Control
87 CompoundControl() =
default;
89 ~CompoundControl()
override =
default;
93 const T *
as(
unsigned int index)
const
96 BOOST_CONCEPT_ASSERT((boost::Convertible<T *, Control *>));
98 return static_cast<const T *
>(
components[index]);
103 T *
as(
unsigned int index)
106 BOOST_CONCEPT_ASSERT((boost::Convertible<T *, Control *>));
Control ** components
The components that make up a compound control.
Control * operator[](unsigned int index)
Return the i-th control component.
const T * as(unsigned int index) const
Cast a component of this instance to a desired type.
T * as(unsigned int index)
Cast a component of this instance to a desired type.
T * as()
Cast this instance to a desired type.
const T * as() const
Cast this instance to a desired type.
This namespace contains sampling based planning routines used by planning under differential constrai...
Main namespace. Contains everything in this library.