AbstractStateFactory.h
Go to the documentation of this file.
00001 /*
00002  * AbstractStateFactory.h
00003  *
00004  *  Created on: Jul 7, 2011
00005  *      Author: Andreas Hertle
00006  */
00007 
00008 #ifndef ABSTRACTSTATEFACTORY_H_
00009 #define ABSTRACTSTATEFACTORY_H_
00010 
00011 #include "tfd_modules/module_api/pddlModuleTypes.h"
00012 #include "tfd_modules/opl/AbstractState.h"
00013 
00014 namespace opl
00015 {
00016 
00017 namespace interface
00018 {
00019 
00020 class AbstractStateFactory
00021 {
00022 public:
00023     opl::interface::AbstractState* createState(
00024             const ObjectTypeMap& objects,
00025             const PredicateMapping& predicateMapping,
00026             const FunctionMapping& functionMapping,
00027             const modules::PredicateList& predicateConstants,
00028             const modules::NumericalFluentList& numericConstants);
00029 
00030 protected:
00031     virtual AbstractState* instantiateState(const ObjectTypeMap& objects) = 0;
00033     void createFluentMapping(AbstractState* state, const std::pair<const std::string, ::VarVal>& mapping);
00035     void createFluentMapping(AbstractState* state, const std::pair<const std::string, int>& mapping);
00037     void createFluentMapping(AbstractState* state, modules::Predicate fluent);
00039     void createFluentMapping(AbstractState* state, const modules::NumericalFluent& fluent);
00040 };
00041 
00042 }
00043 
00044 }
00045 
00046 #endif /* ABSTRACTSTATEFACTORY_H_ */


tfd_modules
Author(s): Maintained by Christian Dornhege (see AUTHORS file).
autogenerated on Mon Oct 6 2014 07:52:06