00001 #ifndef PLAN_H 00002 #define PLAN_H 00003 00004 #include <string> 00005 #include <vector> 00006 using std::string; 00007 using std::vector; 00008 #include <iostream> 00009 #include "continual_planning_executive/TemporalAction.h" 00010 00011 class DurativeAction 00012 { 00013 public: 00014 DurativeAction() { } 00015 DurativeAction(const continual_planning_executive::TemporalAction & msg); 00016 00017 string name; 00018 vector<string> parameters; 00019 double duration; 00020 double startTime; 00021 00023 bool operator<(const DurativeAction & a) const; 00024 bool operator==(const DurativeAction & a) const; 00025 }; 00026 00027 std::ostream & operator<<(std::ostream & os, const DurativeAction & a); 00028 00029 class Plan 00030 { 00031 public: 00032 Plan(); 00033 ~Plan(); 00034 00035 bool empty() const { return actions.empty(); } 00036 00037 void removeAction(const DurativeAction & a); 00038 00039 vector<DurativeAction> actions; 00040 }; 00041 00042 std::ostream & operator<<(std::ostream & os, const Plan & p); 00043 00044 #endif 00045