39 #ifndef OMPL_MULTILEVEL_PLANNERS_BUNDLESPACE_PATH_RESTRICTION_FIND_SECTION_
40 #define OMPL_MULTILEVEL_PLANNERS_BUNDLESPACE_PATH_RESTRICTION_FIND_SECTION_
41 #include <ompl/multilevel/datastructures/BundleSpaceGraph.h>
42 #include <ompl/multilevel/datastructures/ParameterExponentialDecay.h>
43 #include <ompl/multilevel/datastructures/ParameterSmoothStep.h>
51 OMPL_CLASS_FORWARD(Path);
58 OMPL_CLASS_FORWARD(PathGeometric);
65 OMPL_CLASS_FORWARD(BundleSpaceGraph);
67 OMPL_CLASS_FORWARD(PathRestriction);
69 OMPL_CLASS_FORWARD(FiberedProjection);
71 OMPL_CLASS_FORWARD(Head);
79 FindSection() =
delete;
80 FindSection(PathRestriction *);
82 virtual ~FindSection();
84 virtual bool solve(HeadPtr &head) = 0;
90 bool tripleStep(HeadPtr &head,
const base::State *sBundleGoal,
double locationOnBasePathGoal);
96 base::State *xBaseTmp_{
nullptr};
97 base::State *xBundleTmp_{
nullptr};
99 base::State *xFiberStart_{
nullptr};
100 base::State *xFiberGoal_{
nullptr};
101 base::State *xFiberTmp_{
nullptr};
107 double neighborhoodRadiusBaseSpaceLambda_{1.0};
109 double neighborhoodRadiusBaseSpaceTarget_{0.5};
114 double validBundleSpaceSegmentLength_;
116 double validFiberSpaceSegmentLength_;