39#ifndef OMPL_MULTILEVEL_PLANNERS_BUNDLESPACE_BUNDLE_PROJECTION_
40#define OMPL_MULTILEVEL_PLANNERS_BUNDLESPACE_BUNDLE_PROJECTION_
41#include <ompl/base/State.h>
42#include <ompl/base/StateSpace.h>
43#include <ompl/multilevel/datastructures/ProjectionTypes.h>
51 OMPL_CLASS_FORWARD(StateSpace);
58 OMPL_CLASS_FORWARD(Projection);
67 Projection(base::StateSpacePtr bundleSpace, base::StateSpacePtr baseSpace);
80 virtual bool isFibered()
const;
83 unsigned int getCoDimension()
const;
86 unsigned int getDimension()
const;
89 unsigned int getBaseDimension()
const;
92 base::StateSpacePtr getBundle()
const;
95 base::StateSpacePtr getBase()
const;
98 virtual bool isAdmissible()
const;
106 std::string getTypeAsString()
const;
108 std::string getBundleTypeAsString()
const;
110 std::string getBaseTypeAsString()
const;
116 virtual void print(std::ostream &out)
const;
122 base::StateSpacePtr bundleSpace_{
nullptr};
123 base::StateSpacePtr baseSpace_{
nullptr};
131 CompoundProjection(
const base::StateSpacePtr &bundleSpace,
const base::StateSpacePtr &baseSpace,
132 const std::vector<ProjectionPtr> &components);
145 virtual void print(std::ostream &out)
const override;
158 std::vector<ProjectionType> types_;
160 std::vector<ProjectionPtr> components_;
Definition of an abstract state.
unsigned int getCoDimension() const
Dimension of Bundle - Dimension of Base.
virtual void print(std::ostream &out) const override
Print to stream.
bool isFibered() const override
Check that every compound has an explicit fiber representation.
unsigned int getBaseDimension() const
Dimension of Base Space.
unsigned int getDimension() const
Dimension of Bundle Space.
std::string stateTypeToString(base::StateSpacePtr) const
Return string representing type of ompl::base::StateSpace.
virtual void print(std::ostream &out) const
Print to stream.
friend std::ostream & operator<<(std::ostream &out, const Projection &)
Print to stream (actual implementation in print(std::ostream &out))
Main namespace. Contains everything in this library.