00001 #ifndef TerminationVarPaddedRel_H 00002 #define TerminationVarPaddedRel_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 "BooleanVariable.h" 00015 #include "Map2DPosVar.h" 00016 using namespace std; 00017 using namespace momdp; 00018 00019 namespace momdp 00020 { 00021 // generic class for variable, holds user defined variable value 00022 class TerminationVarPaddedRel : public VariableRelation 00023 { 00024 private: 00025 SharedPointer<VariableRelation> origRel; 00026 SharedPointer<BooleanVariable> termVar; 00027 00028 public: 00029 TerminationVarPaddedRel(SharedPointer<VariableRelation> origRel, SharedPointer<BooleanVariable> termVar); 00030 virtual ~TerminationVarPaddedRel(void); 00031 00032 virtual vector<SharedPointer<RelEntry> > getProb(map<string, SharedPointer<IVariableValue> > sourceVals); 00033 00034 }; 00035 00036 } 00037 00038 #endif 00039