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/Planner/Includes/PlasmaPlannerImpl.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PlasmaPlannerImpl.hh,v 1.12 2005/12/30 22:42:30 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/Copyright.txt
00005 #ifndef PLASMA_PLANNER_IMPLEMENTATION_HEADER_
00006 #define PLASMA_PLANNER_IMPLEMENTATION_HEADER_
00007 
00008 #include "PlannerImpl.hh"
00009 
00010 #include "CBPlanner.hh"
00011 #include "Horizon.hh"
00012 
00013 #include "DecisionManagerListener.hh"
00014 #include "OpenDecisionManager.hh"
00015 #include "HeuristicsReader.hh"
00016 //#include "PartialPlanWriter.hh"
00017 
00018 
00019 namespace IDEA
00020 {
00021   class AgentTimingService;
00027   class PlasmaPlannerImpl:
00028     public PlannerImpl
00029   {
00030   public:
00034     PlasmaPlannerImpl( const std::string& name, 
00035                        const PslDatabase* db, 
00036                        const AgentTimingService* ats,
00037                        const std::string& heuristicFile, 
00038                        bool readHeuristicsFile,
00039                        const std::string& noBranchFile,
00040                        bool readNoBranchFile );
00044     StatusType replan();
00048     EUROPA::CBPlannerId getPlannerId() const;
00052     void ignore( const PslAttribute* attribute );
00053     void initialize();
00054   private:
00058     virtual EUROPA::HeuristicsEngineId createHeuristics();
00062     virtual EUROPA::OpenDecisionManagerId  createOpenDecisionManager( const EUROPA::PlanDatabaseId& db, 
00063                                                                       const EUROPA::HeuristicsEngineId& heuristics );
00067     virtual EUROPA::DecisionManagerListenerId createDecisionManagerListener();
00071     virtual void postPlannerCreation();
00075     void createEuropaPlanner();
00076 
00077     std::string m_HeuristicFile;
00078     bool m_ReadHeuristicsFile;
00079     std::string m_NoBranchFile;
00080     bool m_ReadNoBranchFile;
00081 
00082     EUROPA::HorizonId m_PlanningHorizon;
00083     EUROPA::CBPlannerId m_Planner;
00084     EUROPA::HeuristicsEngineId m_Heuristics;
00085     EUROPA::DecisionManagerListenerId m_DecisionManagerListener;
00086     EUROPA::ConditionId m_AttributeConditionId;
00087     // compiler problem: the following seems to be ignored by the compiler
00088     // EUROPA::PlanWriter::PartialPlanWriter *m_PPW;
00089   };
00090 }
00091 
00092 #endif // PLASMA_PLANNER_IMPLEMENTATION_HEADER_
00093  

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