1 #ifndef PLANNING_EDGE_PLANNER_UTILS_H 2 #define PLANNING_EDGE_PLANNER_UTILS_H 4 #include "EdgePlanner.h" 12 virtual bool IsVisible() {
return true; }
13 virtual EdgePlannerPtr Copy()
const {
return std::make_shared<TrueEdgeChecker>(space,path); }
14 virtual EdgePlannerPtr ReverseCopy()
const {
return std::make_shared<TrueEdgeChecker>(space,std::make_shared<ReverseInterpolator>(path)); }
16 virtual bool IsIncremental()
const {
return true; }
17 virtual Real Priority()
const {
return 0; }
18 virtual bool Plan() {
return false; }
19 virtual bool Done()
const {
return true; }
20 virtual bool Failed()
const {
return false; }
29 virtual bool IsVisible() {
return false; }
30 virtual EdgePlannerPtr Copy()
const {
return std::make_shared<FalseEdgeChecker>(space,path); }
31 virtual EdgePlannerPtr ReverseCopy()
const {
return std::make_shared<FalseEdgeChecker>(space,std::make_shared<ReverseInterpolator>(path)); }
33 virtual bool IsIncremental()
const {
return true; }
34 virtual Real Priority()
const {
return 0; }
35 virtual bool Plan() {
return false; }
36 virtual bool Done()
const {
return true; }
37 virtual bool Failed()
const {
return true; }
46 virtual bool IsVisible();
47 virtual EdgePlannerPtr Copy()
const {
return std::make_shared<EndpointEdgeChecker>(space,path); }
48 virtual EdgePlannerPtr ReverseCopy()
const {
return std::make_shared<EndpointEdgeChecker>(space,std::make_shared<ReverseInterpolator>(path)); }
71 virtual bool IsVisible() {
return e->IsVisible(); }
72 virtual EdgePlannerPtr Copy()
const;
73 virtual EdgePlannerPtr ReverseCopy()
const;
75 virtual bool IsIncremental()
const {
return e->IsIncremental(); }
76 virtual Real Priority()
const {
return e->Priority(); }
77 virtual bool Plan() {
return e->Plan(); }
78 virtual bool Done()
const {
return e->Done(); }
79 virtual bool Failed()
const {
return e->Failed(); }
81 virtual void Eval(Real u,
Config& x)
const;
82 virtual Real Length()
const;
83 virtual const Config& Start()
const;
84 virtual const Config& End()
const;
85 virtual CSpace* Space()
const;
97 virtual void Eval(Real u,
Config& x)
const;
98 virtual Real Length()
const;
99 virtual const Config& Start()
const;
100 virtual const Config& End()
const;
101 virtual bool IsVisible();
102 virtual CSpace* Space()
const {
return space; }
103 virtual EdgePlannerPtr Copy()
const;
104 virtual EdgePlannerPtr ReverseCopy()
const;
105 virtual bool IsIncremental()
const {
return true; }
106 virtual Real Priority()
const;
108 virtual bool Done()
const;
109 virtual bool Failed()
const;
113 std::vector<EdgePlannerPtr > path;
115 bool foundInfeasible;
124 MultiEdgePlanner(
CSpace* space,
const InterpolatorPtr& path,
const std::vector<EdgePlannerPtr >& components);
138 virtual bool IsIncremental()
const {
return true; }
139 virtual Real Priority()
const;
141 virtual bool Done()
const;
142 virtual bool Failed()
const;
143 virtual EdgePlannerPtr Copy()
const;
144 virtual EdgePlannerPtr ReverseCopy()
const;
146 bool checked,visible;
161 virtual EdgePlannerPtr Copy()
const;
162 virtual EdgePlannerPtr ReverseCopy()
const;
164 std::shared_ptr<CSpace> spacePtr;
Edge planner that only checks the endpoint.
Definition: EdgePlannerHelpers.h:41
An incremental edge planner that calls a non-incremental edge planner. This adapts one-shot edge plan...
Definition: EdgePlannerHelpers.h:134
Convenience class for edge planner that holds a smart pointer to a CSpace so that the temporary CSpac...
Definition: EdgePlannerHelpers.h:156
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
Motion planning configuration space base class. The configuration space implements an interpolation s...
Definition: CSpace.h:39
Edge planner that always is visible.
Definition: EdgePlannerHelpers.h:7
Abstract base class for an edge planner / edge checker (i.e., local planner).
Definition: EdgePlanner.h:49
An EdgePlanner that just checks a given interpolator or straight line path between two configurations...
Definition: EdgePlanner.h:73
Definition: EdgePlannerHelpers.h:61
Edge planner that is never visible.
Definition: EdgePlannerHelpers.h:24
An edge planners that plans a stacked list of edges.
Definition: EdgePlannerHelpers.h:121
An edge checker that checks a sequence of edges.
Definition: EdgePlannerHelpers.h:93