00001 #ifndef Move2DVarRel_H 00002 #define Move2DVarRel_H 00003 00004 00005 #include <vector> 00006 #include <string> 00007 #include "MObject.h" 00008 #include "IVariableValue.h" 00009 #include "IVariable.h" 00010 #include "VariableValue.h" 00011 #include "Variable.h" 00012 #include "VariableRelation.h" 00013 #include "Map2DPosValue.h" 00014 #include "Map2DPosVar.h" 00015 using namespace std; 00016 using namespace momdp; 00017 00018 namespace momdp 00019 { 00020 // generic class for variable, holds user defined variable value 00021 class Move2DVarRel: public VariableRelation 00022 { 00023 private: 00024 SharedPointer<Variable> actionVar; 00025 SharedPointer<Map2DPosVar> posVar; 00026 00027 public: 00028 Move2DVarRel(SharedPointer<Variable> actionVar, SharedPointer<Map2DPosVar> robotPosVar); 00029 virtual ~Move2DVarRel(void); 00030 00031 virtual vector<SharedPointer<RelEntry> > getProb(map<string, SharedPointer<IVariableValue> > sourceVals); 00032 00033 }; 00034 00035 } 00036 00037 #endif 00038