BcPOC
SF-HRP ASM implementation
|
00001 #ifndef REACTIVE_PLANNER 00002 #define REACTIVE_PLANNER 00003 00004 #include <vector> 00005 #include <cstdlib> 00006 #include <ctime> 00007 #include <string> 00008 00009 #include "types.hpp" 00010 #include "simple_plan.hpp" 00011 00012 00013 00014 class ReactivePlanner { 00015 public: 00016 //ctor 00017 ReactivePlanner(); 00018 00019 //dtor 00020 ~ReactivePlanner(); 00021 00022 //set entry point 00023 void EntryPlan(ptrSimplePlan); 00024 00025 //execute one engine cycle 00026 int GetAction(); 00027 00028 void SetInactive(ptrBaseRule); 00029 ptrBaseRule GetActive(); 00030 00031 friend int SimplePlan::GetAction(); 00032 00033 protected: 00034 00035 //pointer to root plan 00036 ptrSimplePlan _root_plan; 00037 00038 //current active rule, NULL when no rule active 00039 ptrBaseRule _active_rule; 00040 00041 }; 00042 00043 #endif 00044