planners/prm/PL_PrmIjg.h

Go to the documentation of this file.
00001 #ifndef _PL_PrmIjg_
00002 #define _PL_PrmIjg_
00003 
00004 #include "Planners/PL_Boolean_Output.h"
00005 #include "Planners/PL_OpenGL.h"
00006 #include "math/graph.h"
00007 #include <vector>
00008 
00009 #pragma warning( disable : 4250 )
00010 
00011 class CD_Bool;
00012 
00013 
00014 class PL_PrmIjg 
00015     :         public PL_Boolean_Output,
00016       virtual public PL_OpenGL
00017 {
00018   public:
00019       PL_PrmIjg();
00020       virtual       ~PL_PrmIjg();
00021       virtual bool  DrawExplicit () const;
00022       virtual void  DrawUniversePortion() const;
00023       bool          Plan ();
00024       void          PlanMultiThread (void* data);
00025 
00026   protected:
00027       bool          AddNodeToGraph( const int graphNum, const Configuration& config );
00028       int           CreateNewGraph( const Configuration& config );
00029       void          DrawOverlay( const Configuration& config ) const;
00030       Configuration GenerateRandomConfig() const;
00031       void          MergeGraphs( const int base, const int merge, const Configuration& config );
00032       void          PrintGraph( const int graphNum ) const;
00033       static void   SetColor( const int i );
00034 
00035       typedef Graph::Graph< Configuration, bool > PrmGraph;
00036       std::vector< PrmGraph >   m_Graphs;
00037       std::vector< bool >       m_GraphInFreeSpace;
00038       bool                      m_PlanComplete;
00039       int                       m_NumberOfTimesContinued;
00040 
00041   private:
00042 };
00043 
00044 #endif //_PL_PrmIjg_
00045  

Generated on Sat Apr 1 21:30:45 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO