PL_PrmIjg Class Reference

#include <planners/prm/PL_PrmIjg.h>

Inherits PL_Boolean_Output, and PL_OpenGL.

Inheritance diagram for PL_PrmIjg:

Inheritance graph
[legend]
Collaboration diagram for PL_PrmIjg:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PL_PrmIjg ()
virtual ~PL_PrmIjg ()
virtual bool DrawExplicit () const
virtual void DrawUniversePortion () const
bool Plan ()
void PlanMultiThread (void *data)

Protected Types

typedef Graph::Graph< Configuration,
bool > 
PrmGraph

Protected Member Functions

bool AddNodeToGraph (const int graphNum, const Configuration &config)
int CreateNewGraph (const Configuration &config)
void DrawOverlay (const Configuration &config) const
Configuration GenerateRandomConfig () const
void MergeGraphs (const int base, const int merge, const Configuration &config)
void PrintGraph (const int graphNum) const

Static Protected Member Functions

static void SetColor (const int i)

Protected Attributes

std::vector< PrmGraphm_Graphs
std::vector< bool > m_GraphInFreeSpace
bool m_PlanComplete
int m_NumberOfTimesContinued

Detailed Description

Definition at line 14 of file PL_PrmIjg.h.


Member Typedef Documentation

typedef Graph::Graph< Configuration, bool > PL_PrmIjg::PrmGraph [protected]
 

Definition at line 35 of file PL_PrmIjg.h.


Constructor & Destructor Documentation

PL_PrmIjg::PL_PrmIjg  ) 
 

Definition at line 13 of file PL_PrmIjg.cpp.

References m_Graphs.

PL_PrmIjg::~PL_PrmIjg  )  [virtual]
 

Definition at line 20 of file PL_PrmIjg.cpp.


Member Function Documentation

bool PL_PrmIjg::AddNodeToGraph const int  graphNum,
const Configuration config
[protected]
 

Definition at line 29 of file PL_PrmIjg.cpp.

References PL_HasCollisionDetector::collisionDetector, Graph::Graph< NodeData, EdgeData >::GetNodeData(), Graph::GraphBase::GetNumNodes(), CD_Bool::IsInterfering(), m_GraphInFreeSpace, and m_Graphs.

Here is the call graph for this function:

int PL_PrmIjg::CreateNewGraph const Configuration config  )  [protected]
 

Definition at line 147 of file PL_PrmIjg.cpp.

References Graph::Graph< NodeData, EdgeData >::AddNode(), PL_HasCollisionDetector::collisionDetector, CD_Bool::IsInterfering(), m_GraphInFreeSpace, and m_Graphs.

Referenced by Plan().

Here is the call graph for this function:

bool PL_PrmIjg::DrawExplicit  )  const [virtual]
 

Reimplemented from PL_OpenGL.

Definition at line 171 of file PL_PrmIjg.cpp.

References Color::Colorf::GlDraw(), Color::green, Semaphore::Lock(), m_GraphInFreeSpace, m_Graphs, Color::opaque, and Color::red.

Here is the call graph for this function:

void PL_PrmIjg::DrawOverlay const Configuration config  )  const [protected]
 

Definition at line 270 of file PL_PrmIjg.cpp.

References Configuration::DOF().

Here is the call graph for this function:

void PL_PrmIjg::DrawUniversePortion  )  const [virtual]
 

Reimplemented from PL_OpenGL.

Definition at line 296 of file PL_PrmIjg.cpp.

References PL_HasCollisionDetector::collisionDetector, CD_BasicStyle::DOF(), Color::Colorf::GlDraw(), Color::green, Semaphore::Lock(), m_GraphInFreeSpace, m_Graphs, Color::opaque, and Color::red.

Here is the call graph for this function:

Configuration PL_PrmIjg::GenerateRandomConfig  )  const [protected]
 

Definition at line 400 of file PL_PrmIjg.cpp.

References PL_HasCollisionDetector::collisionDetector, Configuration::DOF(), PlannerBase::GetStartConfig(), CD_BasicStyle::JointMax(), CD_BasicStyle::JointMin(), and VectorN::SetLength().

Here is the call graph for this function:

void PL_PrmIjg::MergeGraphs const int  base,
const int  merge,
const Configuration config
[protected]
 

Definition at line 422 of file PL_PrmIjg.cpp.

References Graph::Graph< NodeData, EdgeData >::Add(), Graph::Graph< NodeData, EdgeData >::Clear(), Graph::Graph< NodeData, EdgeData >::GetNodeData(), Graph::GraphBase::GetNumNodes(), m_Graphs, and m_PlanComplete.

Here is the call graph for this function:

bool PL_PrmIjg::Plan  )  [virtual]
 

Implements PlannerBase.

Definition at line 473 of file PL_PrmIjg.cpp.

References CreateNewGraph(), PlannerBase::GetGoalConfig(), PlannerBase::GetStartConfig(), Semaphore::Lock(), and m_Graphs.

Here is the call graph for this function:

void PL_PrmIjg::PlanMultiThread void *  data  ) 
 

Definition at line 619 of file PL_PrmIjg.cpp.

void PL_PrmIjg::PrintGraph const int  graphNum  )  const [protected]
 

Definition at line 629 of file PL_PrmIjg.cpp.

References Graph::Graph< NodeData, EdgeData >::GetNodeData(), Graph::GraphBase::GetNumNodes(), m_Graphs, and VectorN::Output().

Here is the call graph for this function:

void PL_PrmIjg::SetColor const int  i  )  [static, protected]
 

Definition at line 682 of file PL_PrmIjg.cpp.

References Color::cyan_50, Color::green_50, Color::red_50, Color::white, and Color::yellow_50.


Member Data Documentation

std::vector< bool > PL_PrmIjg::m_GraphInFreeSpace [protected]
 

Definition at line 37 of file PL_PrmIjg.h.

Referenced by AddNodeToGraph(), CreateNewGraph(), DrawExplicit(), and DrawUniversePortion().

std::vector< PrmGraph > PL_PrmIjg::m_Graphs [protected]
 

Definition at line 36 of file PL_PrmIjg.h.

Referenced by AddNodeToGraph(), CreateNewGraph(), DrawExplicit(), DrawUniversePortion(), MergeGraphs(), PL_PrmIjg(), Plan(), and PrintGraph().

int PL_PrmIjg::m_NumberOfTimesContinued [protected]
 

Definition at line 39 of file PL_PrmIjg.h.

bool PL_PrmIjg::m_PlanComplete [protected]
 

Definition at line 38 of file PL_PrmIjg.h.

Referenced by MergeGraphs().


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 21:58:46 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO