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/Modules/PLASMA/GoalLoader/Includes/PlasmaGoalPlanner.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PlasmaGoalPlanner.hh,v 1.11 2005/12/30 22:42:28 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/COPYRIGHT
00005 
00006 #ifndef PLASMA_GOAL_PLANNER_IMPL_HEADER_FILE_
00007 #define PLASMA_GOAL_PLANNER_IMPL_HEADER_FILE_
00008 
00009 #include "PslDatabase.hh"
00010 #include "PslModelManager.hh"
00011 
00012 #include "CBPlannerDefs.hh"
00013 #include "Horizon.hh"
00014 #include "HeuristicsEngine.hh"
00015 #include "GoalLoaderDecisionManager.hh"
00016 #include "GoalPlanner.hh"
00017 #include "PlanReader.hh"
00018 #include "PlasmaPlannerImpl.hh"
00019 #include "ReactivePlanner.hh"
00020 
00021 #include <map>
00022 
00023 namespace IDEA 
00024 {
00030   class PlasmaGoalInternalPlannerImpl: 
00031     public PlasmaPlannerImpl
00032   {
00033   public:
00037     PlasmaGoalInternalPlannerImpl( const PslDatabase* db,
00038                                    const AgentTimingService* ats,
00039                                    const std::string& heuristicFile, 
00040                                    const std::string& noBranchFile, 
00041                                    bool controlTimes = true, 
00042                                    bool mergeFirstToken = true,
00043                                    bool freezeTokenStartEndTimes = true,
00044                                    bool useGeneralTimelines = false );
00045   protected:
00050     virtual EUROPA::OpenDecisionManagerId  createOpenDecisionManager( const EUROPA::PlanDatabaseId& db,
00051                                                                       const EUROPA::HeuristicsEngineId& heuristics );
00052   private:
00053     bool m_controlTimes;
00054     bool m_mergeFirstToken;
00055     bool m_restrictTokenTimesBaseDomains;
00056     bool m_useGeneralTimelines;
00057   };
00058 
00073   class PlasmaGoalPlanner: 
00074     public GoalPlanner
00075   {
00076   public:
00089     PlasmaGoalPlanner(  const PslDatabase* db,
00090                         const AgentTimingService* ats,
00091                         const ReactivePlanner* rp, 
00092                         const std::string & heuristicFile, 
00093                         const std::string & noBranchFile,
00094                         bool controlTimes = true,
00095                         bool mergeFirstToken = true,
00096                         bool freezeTokenStartEndTimes = true,
00097                         bool useGeneralTimelines = false);
00098   protected:
00103     virtual void setGoals(PlanReader::ObjectToTimelines const & planBranch);
00104   private:
00108     typedef EUROPA::Id<GoalLoaderDecisionManager> GoalLoaderDecisionManagerId;
00109 
00110     GoalLoaderDecisionManagerId m_decisionManager;
00111     //does DecisionManager delete it?
00112   };
00113 }
00114 
00115 #endif //PLASMA_GOAL_PLANNER_IMPL_HEADER_FILE_

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