1 #ifndef PMPL_QUERY_METHOD_H_
2 #define PMPL_QUERY_METHOD_H_
41 typedef std::unordered_set<size_t>
VIDSet;
63 virtual void Print(std::ostream& _os)
const override;
141 typename RoadmapType::adj_edge_iterator& _ei,
142 const double _sourceDistance,
const double _targetDistance)
const;
153 typename RoadmapType::adj_edge_iterator& _ei,
154 const double _sourceDistance,
const double _targetDistance)
const;
159 std::vector<typename QueryMethod::VID>
std::function< double(typename GraphType::adj_edge_iterator &, const double, const double)> SSSPPathWeightFunction
Definition: SSSP.h:94
Definition: GenericStateGraph.h:67
STAPLGraph::vertex_descriptor VID
Definition: GenericStateGraph.h:83
std::unordered_set< VID > VertexSet
Definition: GenericStateGraph.h:86
Definition: MapEvaluatorMethod.h:16
Definition: QueryMethod.h:31
double m_startTime
The start time of the query.
Definition: QueryMethod.h:182
bool m_twoVariable
Temporary flag to use two varibale state search.
Definition: QueryMethod.h:175
virtual bool PerformSubQuery(const VID _start, const VIDSet &_goal)
Definition: QueryMethod.cpp:301
virtual ~QueryMethod()=default
std::vector< typename QueryMethod::VID > TwoVariableQuery(const VID _start, const VIDSet &_goals)
Definition: QueryMethod.cpp:382
MPBaseObject::RoadmapType RoadmapType
Definition: QueryMethod.h:38
void SetLastConstraintTime(double _last)
Definition: QueryMethod.cpp:481
virtual bool operator()() override
Definition: QueryMethod.cpp:62
std::string m_dmLabel
The DistanceMetric label.
Definition: QueryMethod.h:174
std::string m_safeIntervalLabel
The SafeIntervalTool label.
Definition: QueryMethod.h:173
size_t m_goalIndex
Index of next unreached goal.
Definition: QueryMethod.h:169
void SetDMLabel(const std::string &_dmLabel)
Definition: QueryMethod.cpp:248
RoadmapType::VertexSet VertexSet
Definition: QueryMethod.h:40
MPTask * m_task
Last task we looked at.
Definition: QueryMethod.h:167
std::vector< VID > GeneratePath(const VID _start, const VIDSet &_end)
Definition: QueryMethod.cpp:149
virtual void Reset(RoadmapType *const _r)
Definition: QueryMethod.cpp:263
virtual void Print(std::ostream &_os) const override
Definition: QueryMethod.cpp:40
double m_lastGoalConstraint
The time of the last goal constraint.
Definition: QueryMethod.h:181
void SetLastGoalConstraintTime(double _time)
Definition: QueryMethod.cpp:488
RoadmapType * m_roadmap
Last roadmap queried.
Definition: QueryMethod.h:166
void SetSearchAlgViaString(std::string _alg, const std::string &_where)
Definition: QueryMethod.cpp:279
void SetEndTime(double _end)
Definition: QueryMethod.cpp:502
virtual void Initialize() override
Definition: QueryMethod.cpp:51
virtual void SetPathWeightFunction(SSSPPathWeightFunction< RoadmapType > _f)
Definition: QueryMethod.cpp:255
std::unordered_set< size_t > VIDSet
Definition: QueryMethod.h:41
RoadmapType::VID VID
Definition: QueryMethod.h:39
QueryMethod()
Definition: QueryMethod.cpp:13
double m_lastConstraint
The time of the last constraint.
Definition: QueryMethod.h:180
SSSPPathWeightFunction< RoadmapType > m_weightFunction
The function for computing total path weight.
Definition: QueryMethod.h:178
GraphSearchAlg m_searchAlg
The sssp algorithm to use.
Definition: QueryMethod.h:171
double m_endTime
The end time of the query.
Definition: QueryMethod.h:183
virtual double StaticPathWeight(typename RoadmapType::adj_edge_iterator &_ei, const double _sourceDistance, const double _targetDistance) const
Definition: QueryMethod.cpp:317
GraphSearchAlg
Definition: QueryMethod.h:47
@ ASTAR
Definition: QueryMethod.h:47
@ DIJKSTRAS
Definition: QueryMethod.h:47
virtual double DynamicPathWeight(typename RoadmapType::adj_edge_iterator &_ei, const double _sourceDistance, const double _targetDistance) const
Definition: QueryMethod.cpp:335
void SetStartTime(double _start)
Definition: QueryMethod.cpp:495