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

/home/pauldt/projects/IDEA/IDEA-ALL/IDEA-DEV/Core/GoalLoader/Includes/GoalPlanner.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: GoalPlanner.hh,v 1.8 2005/12/30 22:09:17 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/Copyright.txt
00005 #ifndef GOAL_PLANNER_HEADER_FILE_
00006 #define GOAL_PLANNER_HEADER_FILE_
00007 
00008 #include "PlanReader.hh"
00009 
00010 #include "TimeBasics.hh"
00011 #include <set>
00012 namespace IDEA 
00013 {
00014   class Planner;
00015   class ReactivePlanner;
00016 
00023   class GoalPlanner
00024   {
00025   public:
00026     GoalPlanner( const ReactivePlanner* reactiveplanner );
00030     virtual ~GoalPlanner();
00034     void setPlanner( Planner* planner, bool deleteInstance );
00038     const Planner* getPlanner() const;
00044     bool plan( PlanReader::ObjectToTimelines const & planBranch,
00045                const Time& horizonStart, 
00046                const Time& horizonEnd);
00052     bool ignore( const std::string& className, const std::string& attrName);
00056     typedef std::map<std::string, std::set<std::string> > ClassToAttributeMap;
00062     bool ignoreAllBut(ClassToAttributeMap const & attributesInScope);
00063   protected:
00067     virtual void setGoals(PlanReader::ObjectToTimelines const & planBranch) = 0;
00068   private:
00069     bool m_DeletePlanner;
00070     Planner* m_Planner;
00071     const ReactivePlanner* m_ReactivePlanner;
00072   };
00073 }
00074 
00075 #endif //GOAL_PLANNER_HEADER_FILE_

Contact information
© IDEA
Generated on Fri Feb 3 17:09:40 2006 for IDEA.