Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

ProblemGenerator.h

Go to the documentation of this file.
00001 /***************************************************************** lm-cpr beg
00002  *
00003  * AI Loom - A cross platform artificial intelligence framework
00004  * AI Loom is (c) Copyright 2003 Josh Brown
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Library General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Library General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Library General Public
00017  * License along with this library; if not, write to the
00018  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00019  * Boston, MA 02111-1307, USA.
00020  *
00021  * -----------------------------------------------------------------
00022  * File:          $RCSfile: ProblemGenerator.h,v $
00023  * Date modified: $Date: 2003/10/10 05:21:44 $
00024  * Version:       $Revision: 1.4 $
00025  * -----------------------------------------------------------------
00026  *
00027  ************************************************************** lm-cpr-end */
00028 #ifndef LM_PROBLEM_GENERATOR_H
00029 #define LM_PROBLEM_GENERATOR_H
00030 
00031 #include <string>
00032 
00033 namespace lm
00034 {
00035    class Agent;
00036    class Effector;
00037 
00043    class ProblemGenerator
00044    {
00045    public:
00046       ProblemGenerator()
00047       {
00048       }
00049       
00053       ProblemGenerator(Agent* agent, std::string name="default");
00054 
00058       virtual ~ProblemGenerator(){};
00059 
00066       virtual Effector* changeDecision(Effector* e) = 0;
00067 
00071       void setAgent(Agent* agent);
00072 
00076       void setName(std::string name);
00077 
00081       std::string getName();
00082       
00083    protected:
00087       Agent* mAgent;
00088 
00092       std::string mName;
00093    };
00094 
00095 } // end namespace
00096 
00097 #endif
00098          

Generated on Wed Oct 22 21:33:21 2003 for AI Loom by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002