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>
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);
177 const std::string&
getName(
void)
const;
180 void setName(
const std::string &name);
289 virtual void serialize(
void *serialization,
const State *state)
const;
416 virtual void sanityChecks(
double zero,
double eps,
unsigned int flags)
const;
423 void diagram(std::ostream &out)
const;
426 void list(std::ostream &out)
const;
429 static void Diagram(std::ostream &out);
432 static void List(std::ostream &out);
476 virtual void setup(
void);
536 CompoundStateSpace(
const std::vector<StateSpacePtr> &components,
const std::vector<double> &weights);
544 T*
as(
const unsigned int index)
const
547 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, StateSpace*>));
554 T*
as(
const std::string &name)
const
557 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, StateSpace*>));
601 const std::vector<StateSpacePtr>&
getSubspaces(
void)
const;
641 virtual void serialize(
void *serialization,
const State *state)
const;
678 virtual void setup(
void);
759 const StateSpacePtr &sourceS,
const State *source);
769 const StateSpace *sourceS,
const State *source);
777 const StateSpacePtr &sourceS,
const State *source,
778 const std::vector<std::string> &subspaces);
786 const StateSpace *sourceS,
const State *source,
787 const std::vector<std::string> &subspaces);