File SIPP.h#

Definition (server/inc/backup_planners/SIPP.h)#

Includes#

Included By#

Classes#

Full File Listing#

class SIPPNode : public StateTimeAStarNode#

Public Functions

inline SIPPNode()#
inline SIPPNode(const State &state, double g_val, double h_val, const Interval &interval, SIPPNode *parent, int conflicts)#

Public Members

SIPPNode *parent#
Interval interval#
int tasking_wait = 0#
int rotating_wait = 0#
fibonacci_heap<SIPPNode*, compare<SIPPNode::compare_node>>::handle_type open_handle#
fibonacci_heap<SIPPNode*, compare<SIPPNode::secondary_compare_node>>::handle_type focal_handle#
struct compare_node#

Public Functions

inline bool operator()(const SIPPNode *n1, const SIPPNode *n2) const#
struct EqNode#

Public Functions

inline bool operator()(const SIPPNode *n1, const SIPPNode *n2) const#
struct secondary_compare_node#

Public Functions

inline bool operator()(const SIPPNode *n1, const SIPPNode *n2) const#
class SIPP : public SingleAgentSolver#

Public Functions

Path run(const BasicGraph &G, shared_ptr<HeuristicTableBase> heuristic_table, const State &start, const vector<Task> &goal_location, ReservationTable &RT, const int agent_waited_time = 0) override#
inline string getName() const override#
inline SIPP()#

Private Functions

inline void releaseClosedListNodes()#
void generate_node(const Interval &interval, SIPPNode *curr, const BasicGraph &G, int location, int min_timestep, int orientation, double h_val)#
Path updatePath(const BasicGraph &G, SIPPNode *goal)#

Private Members

fibonacci_heap<SIPPNode*, compare<SIPPNode::compare_node>> open_list#
fibonacci_heap<SIPPNode*, compare<SIPPNode::secondary_compare_node>> focal_list#
unordered_set<SIPPNode*, SIPPNode::Hasher, SIPPNode::EqNode> allNodes_table#