37 #ifndef OMPL_BASE_STATE_SPACE_
38 #define OMPL_BASE_STATE_SPACE_
40 #include "ompl/base/State.h"
41 #include "ompl/base/StateSpaceTypes.h"
42 #include "ompl/base/StateSampler.h"
43 #include "ompl/base/ProjectionEvaluator.h"
44 #include "ompl/base/GenericParam.h"
46 #include "ompl/util/ClassForward.h"
47 #include <boost/concept_check.hpp>
48 #include <boost/noncopyable.hpp>
61 OMPL_CLASS_FORWARD(StateSpace);
90 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, StateSpace*>));
92 return static_cast<T*
>(
this);
97 const T*
as(
void)
const
100 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, StateSpace*>));
102 return static_cast<const T*
>(
this);
184 const std::string&
getName(
void)
const;
187 void setName(
const std::string &name);
296 virtual void serialize(
void *serialization,
const State *state)
const;
423 virtual void sanityChecks(
double zero,
double eps,
unsigned int flags)
const;
430 void diagram(std::ostream &out)
const;
433 void list(std::ostream &out)
const;
436 static void Diagram(std::ostream &out);
439 static void List(std::ostream &out);
483 virtual void setup(
void);
543 CompoundStateSpace(
const std::vector<StateSpacePtr> &components,
const std::vector<double> &weights);
551 T*
as(
const unsigned int index)
const
554 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, StateSpace*>));
561 T*
as(
const std::string &name)
const
564 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, StateSpace*>));
608 const std::vector<StateSpacePtr>&
getSubspaces(
void)
const;
648 virtual void serialize(
void *serialization,
const State *state)
const;
685 virtual void setup(
void);
766 const StateSpacePtr &sourceS,
const State *source);
776 const StateSpace *sourceS,
const State *source);
784 const StateSpacePtr &sourceS,
const State *source,
785 const std::vector<std::string> &subspaces);
793 const StateSpace *sourceS,
const State *source,
794 const std::vector<std::string> &subspaces);