BcPOC
SF-HRP ASM implementation
D:/bcatch/bcpoc_src/bcpoc/src/sfhrp/SFHRP/reactive_planner.hpp
Go to the documentation of this file.
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