00001 #ifndef Move2DPathFollowerActPosHasGuideNoisyVarRel_H 00002 #define Move2DPathFollowerActPosHasGuideNoisyVarRel_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 "Map2DPath.h" 00016 #include "Move2DPathFollowerActPosVarRel.h" 00017 #include "ProblemParams.h" 00018 #include "BooleanVariable.h" 00019 00020 using namespace std; 00021 using namespace momdp; 00022 00023 namespace momdp 00024 { 00025 // generic class for variable, holds user defined variable value 00026 class Move2DPathFollowerActPosHasGuideNoisyVarRel: public VariableRelation 00027 { 00028 private: 00029 SharedPointer<Map2DPath> path; 00030 SharedPointer<Map2DPosVar> posVar; 00031 SharedPointer<BooleanVariable> hasGuideVar; 00032 SharedPointer<Move2DPathFollowerActPosVarRel> pathFollower; 00033 SharedPointer<ProblemParams> params; 00034 public: 00035 00036 Move2DPathFollowerActPosHasGuideNoisyVarRel(SharedPointer<Map2DPosVar> robotPosVar, SharedPointer<BooleanVariable> hasGuideVar, SharedPointer<Map2DPath> path, SharedPointer<ProblemParams> params); 00037 virtual ~Move2DPathFollowerActPosHasGuideNoisyVarRel(void); 00038 00039 virtual vector<SharedPointer<RelEntry> > getProb(map<string, SharedPointer<IVariableValue> > sourceVals) ; 00040 00041 }; 00042 00043 } 00044 00045 #endif 00046