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